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