Blame

233310 Anonymous 2024-03-22 04:39:45 1
# C 语言的转换说明
2
3
## 整数
4
5
| 转换说明 | 含义 | 举例 |
6
| -------- | -------------------------- | ---- |
7
| %d | 以十进制显示整数 | |
8
| %o | 以八进制显示整数 | |
9
| %x | 以十六进制显示整数 | |
10
| %u | 打印 unsigned int 类型的值 | |
11
12
## 浮点数
13
14
| 转换说明 | 含义 | 举例 |
15
| -------- | --------------------------------------------- | ---- |
16
| %f | 打印十进制记数法的 float 和 double 类型浮点数 | |
17
| %e | 打印指数记数法的 float 和 double 类型浮点数 | |
514f9a Anonymous 2024-03-22 06:45:36 18
| %.2f | 打印输出的浮点数只显示小数点后两位 | |
233310 Anonymous 2024-03-22 04:39:45 19
20
> 可以用十六进制打印浮点数,书中内容有点模糊,没看懂 :(
21
22
添加`#` 前缀显示各进制
23
24
| 转换说明 | 含义 | 举例 |
25
| -------- | -------------------------- | ---- |
26
| %#o | 显示前缀 0 八进制的整数 | 0144 |
27
| %#x | 显示前缀 0x 十六进制的整数 | 0x64 |
28
| %#X | 显示前缀 0X 十六进制的整数 | 0X64 |
29
30
添加 `l` 前缀表示 long 类型
31
32
| 转换说明 | 含义 | 举例 |
33
| -------- | ------------------ | ---- |
34
| %ld | 打印 long 类型的值 | |
35
36
添加 `h` 前缀表示 short 类型
37
38
| 转换说明 | 含义 | 举例 |
39
| -------- | ----------------------------- | ---- |
40
| %hd | 以十进制显示 short 类型的整数 | |
41
| %ho | 以八进制显示 short 类型的整数 | |
42
43
## 示例代码
44
45
```c
46
#include <stdio.h>
47
48
int main(void) {
49
int x = 100;
50
printf("dec = %d; octal= %o; hex= %x\n",x,x,x);
51
printf("dec = %d; octal= %#o; hex= %#x\n",x,x,x);
52
printf("dec = %d; octal= %#o; hex= %#X\n",x,x,x);
53
54
printf("----------\n");
55
unsigned int un = 3000000000000;
56
short end = 200;
57
long big =65537;
58
long long varybig = 12345678901234;
59
60
printf("un = %u and not %d\n",un,un);
61
printf("end = %hd and %d\n",end,end);
62
printf("big = %ld and not %hd\n",big,big);
63
printf("verybig = %lld and not %ld\n",varybig,varybig);
64
65
return 0;
66
}
67
```
68
69
```text
70
dec = 100; octal= 144; hex= 64
71
dec = 100; octal= 0144; hex= 0x64
72
dec = 100; octal= 0144; hex= 0X64
73
----------
74
un = 2112827392 and not 2112827392
75
end = 200 and 200
76
big = 65537 and not 1
77
verybig = 12345678901234 and not 12345678901234
78
```
79
80
> C 语言中允许使用大写或小写的常量后缀,但转换说明中只能用小写。
81
82
> 基本数据类型由 11 个关键字组成:int、long、short、unsigned、char、float、double、signed、\_Bool、\_Complex 和\_Imaginary。