格式说明符在C中用于输入和输出目的。使用此概念,编译器可以理解在使用scanf()
函数进行输入和使用printf()
函数进行打印期间,变量中包含什么类型的数据。这是格式说明符的列表。
格式说明符 | 类型 |
---|---|
%C | 字符 |
%d | 有符号整数 |
%e或%E | 浮点数的科学表示法 |
%F | 浮点值 |
%g或%G | 与%e或%E相似 |
%hi | 有符号整数(短整数) |
%hu | 无符号整数(短) |
%一世 | 无符号整数 |
%l或%ld或%li | 长 |
%如果 | 双 |
%如果 | 长双 |
%鲁 | Unsigned int或unsigned long |
%lli或%lld | 长久 |
%llu | 无符号长久 |
%o | 八进制表示 |
%p | 指针 |
%s | 串 |
%u | 无符号整数 |
%x或%X | 十六进制表示 |
%n | 什么都不打印 |
%% | 打印%字符 |
这些是基本的格式说明符。我们可以使用格式说明符添加其他部分。这些如下-
减号(-)表示左对齐
%之后的数字指定最小字段宽度。如果字符串小于宽度,则将用空格填充
句点(。)用于分隔字段宽度和精度
#include <stdio.h> main() { char ch = 'B'; printf("%c\n", ch); //printing character data //使用d和i打印十进制或整数数据 int x = 45, y = 90; printf("%d\n", x); printf("%i\n", y); float f = 12.67; printf("%f\n", f); //print float value printf("%e\n", f); //print in scientific notation int a = 67; printf("%o\n", a); //print in octal format printf("%x\n", a); //print in hex format char str[] = "你好世界"; printf("%s\n", str); printf("%20s\n", str); //shift to the right 20 characters including the string printf("%-20s\n", str); //left align printf("%20.5s\n", str); //shift to the right 20 characters including the string, and print string up to 5 character printf("%-20.5s\n", str); //left align and print string up to 5 character }
输出结果
B 45 90 12.670000 1.267000e+001 103 43 你好世界 你好世界 你好世界 Hello Hello
我们也可以scanf()
以相同的方式将这些格式说明符用于函数。因此,我们可以scanf()
像上面一样从输入中获取输入内容。