文章目录
C语言未提供输入/输出关键字,其输入和输出是通过标准函数库printf和scanf来实现的。
一、格式输出函数 print
1.1 printf 函数的基本语法
格式输出函数printf 可以输出各种类型的数据,包括整型、浮点型、字符型、字符串型等。 printf 函数将这些类型的数据格式化为字符串后,放人标准输出缓冲区,然后将结果显示到屏幕上。
printf函数的语法如下:
printf(const char *format, ...);
其中,"const char *format"即“格式控制”,是一个字符串,用来规定输出的字符串格式(format)。
省略号...
是一个可变参数列表,这里也称输出表列。这里其表示一个或多个变量,即可以接受任意数量的参数。
字符串格式(format)相关代码含义如下表所示:
代码 | 含义 |
---|---|
%c | 字符 |
%d | 带符号整数(十进制整数) |
%f | 浮点数 |
%s | 一串字符 |
%u | 无符号整数 |
%x | 无符号十六进制数,用小写字母 |
%X | 无符号十六进制数,用大写字母 |
%p | 一个指针 |
%% | 一个’%'符号 |
1.2printf函数 的 输出精度
1.2.1 浮点精度
用%f 精度修饰符可以指定想要的小数位数。
如,%5.3f 会至少显示 5 位数字,如果打印的值少于 5 个字符,则会使用空格进行填充。
此外打印的浮点数会保留3位小数。
代码示例如下:
#include <stdio.h>
int main() {
printf("%5.3f\n",1.2);
printf("%5.3f\n",12345.2);
printf("%5.3f\n",1.12345);
printf("%5.3f\n",123456.123456);
return 0;
}
输出结果如下:
1.2.2字符串精度
对于字符串也可以控制“精度。”
如输出字符串"hello",按照"%10s"的格式输出。
"%10s"表示打印的最小字段宽度为 10 个字符。如果打印的字符串长度少于 10 个字符,则会使用空格进行填充。
#include <stdio.h>
int main() {
printf("%10s\n","hello");
printf("%10s\n","hello, world!");
return 0;
}
printf 函数在控制固定精度且所有字符串的长度都不超过指定精度的情况下,所有输出都是右对齐的。即会在字符串左侧填充空格。
示例:
#include <stdio.h>
int main() {
printf("%10s\n","1");
printf("%10s\n","12"