首页 >> 综合精选 >

printf的作用(printf)

2023-09-13 12:43:10 来源: 用户: 

你们好,最近小时发现有诸多的小伙伴们对于printf的作用,printf这个问题都颇为感兴趣的,今天小活为大家梳理了下,一起往下看看吧。

1、 类型字符用于表示输出数据的类型,其格式字符和含义如下表所示:格式字符表示输出类型格式字符的含义

2、 浮点数、十六进制数和p计数法(C99)

3、 浮点数、十六进制数和p计数法(C99)

4、 c输出单个字符d输出十进制形式的有符号整数(正数不输出符号)

5、 e以指数形式输出单精度和双精度实数。

6、 e以指数形式输出单精度和双精度实数。

7、 以十进制形式输出单精度和双精度实数。

8、 g以%f%e格式输出具有较短输出宽度的单精度和双精度实数,%e格式使用g在指数小于-4或大于或等于精度时以% f %e格式输出具有较短输出宽度的单精度和双精度实数。当指数小于-4或大于或等于精度时,% e格式使用I有符号十进制整数(与%d相同)o以八进制形式输出无符号整数(不输出前缀o)。

9、 p指针

10、 s输出字符串x以十六进制形式输出无符号整数(不输出前缀OX)。

11、 x输出十六进制形式的无符号整数(前缀OX)u不输出)u输出十进制形式的无符号整数。

12、 /*测试常见输出类型*/

13、 #include 'stdio.h'#include 'conio.h'

14、 main(){printf('The program test print style!\n');

15、 /*以十进制形式输出有符号整数(正数不输出符号)*/printf('%d\n '223);printf('%d\n '-232);printf(' \ n ');

16、 /*输出八进制形式的无符号整数(不输出前缀o)*/printf(' % o \ n '223);printf('%o\n '-232);printf(' \ n ');

17、 /*以十六进制形式输出无符号整数(不输出前缀ox)*/printf(' % x \ n '223);printf('%x\n '-232);printf(' \ n ');

18、 /*以十进制形式输出无符号整数*/printf('%u\n '223);printf('%u\n '-232);printf(' \ n ');

19、 /*以十进制形式输出单精度和双精度实数*/printf('%f\n '223.11);printf('%f\n '232.11111111);printf('%f\n '-223.11);printf('%f\n '-232.11111111);printf(' \ n ');

20、 /*以指数形式输出单精度和双精度实数*/printf('%e\n '223.11);printf('%e\n '232.11111111);printf('%e\n '-223.11);printf('%e\n '-232.11111111);printf(' \ n ');

21、 /*以%f%e */printf('%g\n '223.11)输出输出宽度较短的单精度和双精度实数;printf('%g\n '232.11111111111);printf('%g\n '-223.11);printf('%g\n '-232.1111111111);printf(' \ n ');

22、 /*输出单个字符*/printf(“% c \ n”,“a”);printf('%c\n '97);printf(' \ n ');

23、 /* Output a single character */printf('%s\n'' This is a test!' );printf('%s\n '' 2342 o 34 uo 23 u ');printf(' \ n ');

24、 getch();}

25、 logo字符有:-、#、空格、0五种,其含义如下表所示:logo格式字符标注含义——结果靠左对齐,右边空格填充输出符号(加号或减号)。

26、 space的输出值为正值时,前面加一个空格,为负值时,前面加一个负号#,对C、S、D、U没有影响;对于O类,输出时前缀0;对于X类,输出时前缀0x或0x;好的,g,

27、 g类防止尾部0被删除;

28、 对于所有浮点形式,#确保即使小数点后没有任何数字,也会打印出小数点字符。

29、 0对于所有数字格式,前导0用于填充字段宽度。如果出现-符号或指定了精度(对于整数),它将被忽略。

30、 使用十进制整数表示输出中的最小位数。如果实际位数大于定义的宽度,则按实际位数输出;如果实际位数小于定义的宽度,将使用空格或零进行补充。

31、 /* 测试标志字符为-、+、#、空格四种*/

32、 #include 'stdio.h'#include 'conio.h'

33、 main(){

34、 /* 以十进制形式输出带符号整数(正数不输出符号) */printf('*%-10d*\n', 223); printf('*%+10d*\n' , -232); printf('*%2d*\n' , 223); printf('*%#d*\n' , -232); printf('\n'); getch();

35、 /* 以八进制形式输出无符号整数(不输出前缀O) */printf('*%-10o*\n' , 223); printf('*%+10o*\n' , -232); printf('*%o*\n' , 223); printf('*%#o*\n' , -232); printf('\n'); getch();

36、 /* 以十六进制形式输出无符号整数(不输出前缀OX) */printf('$%-10x$\n' , 223); printf('$%010x$\n' , -232); printf('$% x$\n' , 223); printf('$%#x$\n' , -232); printf('\n');

37、 /* 以十进制形式输出无符号整数*/printf('%-10u\n' , 223); printf('%+10u\n' , -232); printf('% u\n' , 223); printf('%#u\n' , -232); printf('\n'); getch();

38、 /* 以小数形式输出单、双精度实数*/printf('%-10f\n' , 223.11); printf('%+10f\n' , 232.11111111); printf('% f\n' , -223.11); printf('%#f\n' , -232.11111111); printf('\n'); getch();

39、 /* 以指数形式输出单、双精度实数*/printf('%-10e\n' , 223.11); printf('%+10e\n' , 232.11111111); printf('% e\n' , -223.11); printf('%#e\n' , -232.11111111); printf('\n'); getch();

40、 /* 以%f%e中较短的输出宽度输出单、双精度实数*/printf('%-10g\n' , 223.11); printf('%+10g\n' , 232.111111111111); printf('% g\n' , -223.11); printf('%#g\n' , -232.111111111111); printf('\n'); getch();

41、 /* 输出单个字符*/printf('%-10c\n' , 'a'); printf('%+10c\n' , 97); printf('% c\n' , 'a'); printf('%#c\n' , 97); printf('\n'); getch();

42、 /* 输出单个字符*/printf('%-20s\n' , 'this is a test!'); printf('%+20s\n' , '2342o34uo23u'); printf('% 20s\n' , 'this is a test!');/* 不足补空格*/printf('%#s\n' , '2342o34uo23u'); printf('\n'); getch();

43、 }

44、 精度格式符以“.”开头,后跟十进制整数。本项的意义是:如果输出数字,则表示小数的位数;如果输出的是字符,则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。

45、 /* 测试精度*/

46、 #include 'stdio.h'#include 'conio.h'

47、 main(){ printf('%.3d\n' , 5555); getch();

48、 printf('%.3f\n' , 0.88888); getch();

49、 printf('%.3f\n' , 0.9999); getch();

50、 printf('%.4s\n' , 'this is a test!'); getch();}

51、 长度格式符为h,l两种,h表示按短整型量输出,l表示按长整型量输出。

52、 h和整数转换说明符一起使用,表示一个short int 或者unsigned short int类型的数值,示例:

53、 %hu,%hx,%6.4hd

54、 hh和整数转换说明符一起使用,表示一个short int 或者unsigned short类型的数值,示例:

55、 %hhu,%hhx,%6.4hhd

56、 j和整数转换说明符一起使用,表示一个intmax_t或者uintmax_t类型的数值,示例:

57、 %jd,%8jx

58、 l和整数转换说明符一起使用,表示一个longint 或者unsigned long int类型的数值,示例:

59、 %ld,%8lu

60、 ll和整数转换说明符一起使用,表示一个longint 或者unsigned long int类型的数值(C99),示例:

61、 %lld,%8llu

62、 L和浮点转换说明符一起使用,表示一个long double的值,示例:%Lf,%10.4Le

63、 t和整数转换说明符一起使用,表示一个ptrdiff_t值(两个指针之间的差相对应的类型)(C99),示例:

64、 %td,%12ti

65、 z和整数转换说明符一起使用,表示一个size_t值(sizeof返回的类型)(C99),示例:%zd,%12zx

66、 main(){int a=15;float b=138.3576278;double c=35648256.3645687;char d='p';printf('a=%d,%5d,%o,%x\n',a,a,a,a);printf('b=%f,%lf,%5.4lf,%e\n',b,b,b,b);printf('c=%lf,%f,%8.4lf\n',c,c,c);printf('d=%c,%8c\n',d,d);}a--15b--138.3576278c--35648256.3645687d--'p'main(){ int a=29; float b=1243.2341; double c=24212345.24232; char d='h'; printf('a=%d,%5d,%o,%x\n',a,a,a,a); /* 其中“%f”和“%lf ”格式的输出相同,

67、 使用printf函数时还要注意一个问题,那就是输出表列中的求值顺序。不同的编译系统不一定相同,可以从左到右,也可从右到左。

68、 Turbo C是按从右到左进行的main(){int i=8;printf('%d\n%d\n%d\n%d\n%d\n',++i,--i,i--,i++,-i--);}

69、 今天(06.6.9)又看到一种输出格式%n 可以将所输出字符串的长度值赋绐一个变量, 见下例:int slen;printf('hello world%n', slen);执行后变量被赋值为11。

以上就是printf这篇文章的一些介绍,希望对大家有所帮助。

  免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!

 
分享:
最新文章