C语言学习随笔-02 printf()函数的使用方法
stdio.h是一个头文件(标准输入输出头文件),#include是一个预处理命令,
用来引入头文件。当编译器遇到printf()函数时,如果没有找到stdio.h头文件,会发生编译错误
//所有的C语言程序都需要包含main()函数。代码从main()函数开始执行
printf与wprintf不能同时使用
Q:什么是大小端?
大端模式:指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中;
小端模式:指数据的低位保存在内存的低地址中,而数据的高位,保存在内存的高地址中。
例:一个16bit的short型X,在内存中的地址为0x0010,X的值为0x1122,那么0x11为高字节,0x22为低字节。
大端模式下:0x11存放在低地址中,即0x0010;0x22存放在高地址中,即0x0011。
小端模式下:0x11存放在高地址中,即0x0011;0x22存放在低地址中,即0x0010。
用来引入头文件。当编译器遇到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; }
Q:什么是大小端?
大端模式:指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中;
小端模式:指数据的低位保存在内存的低地址中,而数据的高位,保存在内存的高地址中。
例:一个16bit的short型X,在内存中的地址为0x0010,X的值为0x1122,那么0x11为高字节,0x22为低字节。
大端模式下:0x11存放在低地址中,即0x0010;0x22存放在高地址中,即0x0011。
小端模式下:0x11存放在高地址中,即0x0011;0x22存放在低地址中,即0x0010。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)