这篇文章主要讲解了“C语言多样式的格式控制符如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言多样式的格式控制符如何使用”吧!
先来看一个代码示例:
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int main(void) { int i; int temp=1234; int arr[5] = { 34,45,-67,89,-68 }; printf("%#o\n", temp); printf("%lo\n", temp); for (i = 0; i < 5; i++) printf("%d", arr[i]); printf("\n"); for (i = 0; i < 5; i++) printf("%-5d", arr[i]); printf("\n"); for (i = 0; i < 5; i++) printf("%+4d", arr[i]); printf("\n"); return 0; }
代码运行结果如下:
从上面代码示例中可以看到,printf函数中的格式字符串有多种不同的组合,不同的组合输出内容也不尽相同,它一般是以%开头的字符串,在%后面跟有各种样式的格式字符,以说明输出数据的类型、形式、长度、小数位数等,其 一般形式如下:
%[标志] [输出最小宽度] [.精度] [长度]
其中[]中表示可选项。各项意义介绍如下:
1.标志:标志字符有-、+、#、空格等四种,其所代表的意义如下:
-: 当实际位数小于指定位数时,数据在指定宽度内左对齐;多余位数以空格填充。
+: 用于在正数之前添加"+",在负数之前添加"-"。
-和+的代码示例如下:
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int main(void) { int i; int temp = 1234; int arr[3] = { 23,45,68 }; printf("%d\n", temp); printf("%+d\n", temp); for (i = 0;i < 3; i++) printf("%3d", arr[i]); printf("\n"); for (i = 0;i < 3; i++) printf("%-3d", arr[i]); return 0; }
运行结果如下:
#: 对o类,输出时添加前缀o;对x类,在输出时添加前缀0x;对e,g,f类,当结果有小数时才给出小数点,对c、s、d、u类无影响。
#的代码示例如下:
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int main(void) { int temp1 = 1234; float temp2 = 3.5; printf("%#d\n", temp1); printf("%#o\n", temp1); printf("%#x\n", temp1); printf("%#f\n", temp2); return 0; }
运行结果如下:
2.输出最小宽度:用十进制整数来表示输出的最少位数。若实际位数多于定义的长度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0。
3.精度:精度格式符以‘ . ’开头,后跟十进制数。它的含义是:如果输出实数,则表示小数的位数;如果输出的是字符串,则表示输出字符的个数;如果实际位数大于所定义的精度数,则截去超过的部分(四舍五入)。
4.长度:长度格式有h和l两种,h表示按短整型输出,l表示按长整型输出。
叙述了这么多理论知识,相信大家已经对格式字符的多种组合已经有了一个了解,为了让大家对其有一个更加深入的了解,特举一些常用的格式符使用示例如下:
⑴%m.nd: m、n均为正整数,其中m指定输出结果的总位数,n指定实际输出的整数位数。
注意:若整数的实际位数小于n,则用字符0填充;若实际位数大于n,则n不起作用。
代码示例如下:
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int main(void) { int a = 123; int b = -1234; printf("%d\n", a); printf("%.4d\n", a); printf("%5.2d\n", a); printf("%.4d\n", b); printf("%8.6d\n", b); return 0; }
运行结果如下:
⑵%m.ns: m、n均为正整数。其中m指定输出结果的总位数,n指定实际输出结果的字符个数(从字符串左端截取)。
代码示例如下:
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int main(void) { printf("%.3s\n", "good"); printf("%.4s\n", "good"); printf("%10.4s\n", "good"); printf("%.8d\n", "good"); return 0; }
运行结果如下:
感谢各位的阅读,以上就是“C语言多样式的格式控制符如何使用”的内容了,经过本文的学习后,相信大家对C语言多样式的格式控制符如何使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。