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。 |