- 相关推荐
C语言数据输出及轻量进阶
在C语言中,有三个函数可以用来在显示器上输出数据,下面我们就一起来详细了解一下!
put)
put) 函数只能用来输出单个字符,例如:
#include #include int main(){ put'a'); put7); put'x46'); system("pause"); return 0;}
运行程序,输出 aF,同时会听到喇叭发出“嘟”的声音。
关于换行
puts() 函数在输出结束时会自动换行,而 printf() 和 put) 不会,需要手动添加换行符 。如下所示:
#include #include int main(){ char *str = "c.biancheng.net"; int n = 100; char c = 'Z'; puts(str); putc); printf("%d", n); putc); system("pause"); return 0;}
运行结果:
c.biancheng.net
Z100Z请按任意键继续. . .
printf() 的高级用法
这一节的内容有些繁杂,如果你希望加快学习进度,尽早写出有趣的代码,也可以跳过这节,后面遇到不懂的 printf 输出再来回顾。
虽然我们已经熟悉了 printf,但是还没有把它发挥到极致,printf 可以有更加“炫酷”的输出。
假如现在老师要求我们用C语言输出一个 4×4 的整数矩阵,为了增强阅读性,数字要对齐,怎么办呢?我们显然可以这样来做:
#include #include int main(){ int a1=20, a2=345, a3=700, a4=22; int b1=56720, b2=9999, b3=20098, b4=2; int c1=233, c2=205, c3=1, c4=6666; int d1=34, d2=0, d3=23, d4=23006783; printf("%d %d %d %d ", a1, a2, a3, a4); printf("%d %d %d %d ", b1, b2, b3, b4); printf("%d %d %d %d ", c1, c2, c3, c4); printf("%d %d %d %d ", d1, d2, d3, d4); system("pause"); return 0;}
运行结果:
20 345 700 22
56720 9999 20098 2
233 205 1 6666
34 0 23 23006783
矩阵一般在大学的《高等数学》中会讲到,m×n 的数字矩阵可以理解为把 m×n 个数字摆放成 m 行 n 列的样子。
看,这是多么地自虐,要敲那么多空格,还要严格控制空格数,否则输出就会错位。
类似的需求随处可见,整齐的格式会更加美观,让人觉得生动有趣。我们大可不必像上面一样,printf 可以更好的控制输出格式。
#include #include int main(){ int a1=20, a2=345, a3=700, a4=22; int b1=56720, b2=9999, b3=20098, b4=2; int c1=233, c2=205, c3=1, c4=6666; int d1=34, d2=0, d3=23, d4=23006783; printf("%-9d %-9d %-9d %-9d ", a1, a2, a3, a4); printf("%-9d %-9d %-9d %-9d ", b1, b2, b3, b4); printf("%-9d %-9d %-9d %-9d ", c1, c2, c3, c4); printf("%-9d %-9d %-9d %-9d ", d1, d2, d3, d4); system("pause"); return 0;}
输出结果:
20 345 700 22
56720 9999 20098 2
233 205 1 6666
34 0 23 23006783
这样写起来更加方便,即使改变某个数字,也无需修改 printf 语句。
%-9d中,d表示以十进制输出,9表示最少占9个字符的宽度,宽度不足以空格补齐,-表示左对齐。综合起来,%-9d表示以十进制输出,左对齐,宽度最小为9个字符。大家可以亲自试试%9d的输出效果。
printf 格式控制字符的完整形式如下:
%[flags][width][.precision]type
[xxx] 并不是C语言规定的格式,只是一种习惯写法,表示此处的内容可有可无,后面会经常见到这样的写法。
1) type 也就是以什么类型输出,比如 %d、%f、%c,type 就分别对应 d、f、c;%-9d中 type 对应 d。type 必须有。
2) width 表示最小输出宽度,也就是占几个字符的位置;%-9d中 width 对应 9。
对于整数和小数,默认右对齐,不足的宽度以空格补齐,例如:
printf("%10d%12f", 234, 9.8);
输出结果为:
234 9.800000
234 前面共有7个空格,9.8 前面有4个空格。
3) .precision 表示输出精度。
对于 %d,.precision 表示的其实是最小输出宽度,与 width 不同的是,不足的宽度以 0 补齐,例如:
printf("%.10d ", 4309);
输出结果为:
0000004309
对于 %f,.precision 表示小数的位数,不足以 0 补齐,也就是精度,例如:
printf("%.10f %.3f ", 23.988, 2.9328745);
输出结果为:
23.9880000000 2.933
4) flags 是标志字符,%-9d中 flags 对应-。
标志字符 | 含 义 |
---|---|
- | 左对齐 |
+ | 输出符号(正号或负号) |
空格 | 输出值为正时冠以空格,为负时冠以负号 |
# | 对c、s、d、u类无影响; 对o类,在输出时加前缀o; 对x类,在输出时加前缀0x; 对e、g、f 类当结果有小数时才给出小数点。 |
【C语言数据输出及轻量进阶】上海花千坊相关的文章:
C语言如何输出菱形11-08
关于c语言约瑟夫问题输出序号算法04-01
C语言学习关于数据的介绍03-17
C语言基础之数据类型转换11-28
C语言以数据块的形式读写文件实例代码12-04
C语言一堆数据教案设计04-02
C语言输出旋转后数组中的最小数元素的算法原理与实例04-02
C语言考点精选03-18
C语言试题03-28