C语言学习随笔-01 关于二进制
发布时间 2024-01-05 10:36:56作者: 啊波波老表
用来引入头文件。当编译器遇到printf()函数时,如果没有找到stdio.h头文件,会发生编译错误
//所有的C语言程序都需要包含main()函数。代码从main()函数开始执行
int main()
{
printf()用于格式化输出到屏幕。printf()函数在“stdio.h”头文件中声明
printf("Hello World \n");
/* 格式化控制符 */
%d 十进制有符号整数
%u 十进制无符号整数
%f 浮点数
%s 字符串
%c 单个字符
%p 指针的值
%e 指数型的浮点数
%x,%X 无符号以十六进制表示的整数
%o 无符号以八进制表示的整数
%g 把输出的值按照%e或者%f类型中输出长度较小的方式输出
%p 输出地址符
%lu 32位无字符整数
%llu 64位无字符整数
\n 换行
\f 清屏并换页
\r 回车
\t Tab符
\xhh 表示一个ASCLL码用16进制表示
/* printf()函数原型:int printf( const char * formar,......)
调用格式:printf("格式化字符串",输出表列)
格式化字符串包含三种对象,分别为:
1、字符串常量
2、格式控制字符串
3、转义字符
字符串常量原样输出,在显示中起提示作用。输出表列中给出了各个输出项,要求格式控制字符串和各输出项
数量和类型上应该一一对应。其中格式控制字符串是以%开头的字符串,在%后跟踪各种格式控制符,以说明输
出数据的类型、宽度、精度等。
*/
/*** 格式控制字符串详解 ***/
// %[flags][width][.prec][length]type
1、 d/i 对应 int 输出十进制有符号的32位整数,i是老式写法
printf("%i \n",123);//输出123
2、 o 对应 unsigned int 无符号8进制(octal) 整数(不输出前缀0)
printf("0%o \n",123);
3、 u 对应 unsigned int 无符号10进制整数
printf("%u \n",123);
4、 x/X 对应 unsigned int 无符号16进制整数,x对应的是abcdef,X对应的是ABCDEF(不输出前缀0x)
printf("0x%x 0x%X \n",123,123);
printf("%u \n",0xb);
printf("%u \n", 'b');
5、 f/lf float(double) 单精度浮点数用f,双精度浮点数用lf(printf可混用,但scanf不能混用)
printf("%.9f %.9lf \n",0.000000123,0.000000123);
6、 F float(double) 与f格式相同。只不过infinity和nan输出为大写形式
//printf("%f %F %f %F \n",INFINITY,INFINITY,NAN.NAN);
7、 e/E float(double) 科学计数法,使用指数(Exponent)表示浮点数,此处“e”的大小写代表在输出时“e”的大小写
printf("%e %E \n",0.000000123,0.000000123);
8、 g float(double) 根据数值的长度,选择以最短的方式输出,%f或者%e
printf("%g %g \n",0.000000123,0.123);
9、 G float(double) 根据数值的长度,选择以最短的方式输出。%f或者%E
printf("%G %G \n",0.000000123,0.123);
10、 c char 字符串,可以把输入的数字按照ASCLL码转换为相应的字符
printf("%c \n",65);
11、 s char* 字符串,输出字符串中的字符直至字符串中的空字符(字符串以空字符“\0”结尾)
printf("%s \n","测试test");
12、 S wchar_t* 宽字符串,输出字符串中的字符直至字符串中的空字符(宽字符串以两个空字符“\0”结尾)
/*setlocale(LC_ALL,"zh_CN.UTF-8");
wchar_t wtest[] = L"测试test";
printf("%S \n",wtest);*/
13、 p void* 以16进制形式输出指针
printf("%010p \n","lvlv");
14、 n int* 什么也不输出,%n对应的参数是一个指向signed int的指针,在此之前输出的字符将存储到指针所指的位置
int num = 0;
//printf("lvlv%n",&num);
printf("num:%d",num);
15、 m 无 打印error值对应的出错内容
printf("%m \n");
16、 a/A float(double) 十六进制p计数法输出浮点数,a为小写,A为大写
printf("%a %A",15.15,15.15);
//格式控制字符除了指明输出的数据类型,还可以包含一些其他的可选的格式说明,依序有flags,width,precision and length.
//return 0;语句用于表示退出程序
return 0;
}