Commit 233310

2024-03-22 04:39:45 Anonymous: 新增C语言的转换说明
/dev/null .. "b/C\350\257\255\350\250\200/C\350\257\255\350\250\200\347\232\204\350\275\254\346\215\242\350\257\264\346\230\216.md"
@@ 0,0 1,81 @@
+ # C 语言的转换说明
+
+ ## 整数
+
+ | 转换说明 | 含义 | 举例 |
+ | -------- | -------------------------- | ---- |
+ | %d | 以十进制显示整数 | |
+ | %o | 以八进制显示整数 | |
+ | %x | 以十六进制显示整数 | |
+ | %u | 打印 unsigned int 类型的值 | |
+
+ ## 浮点数
+
+ | 转换说明 | 含义 | 举例 |
+ | -------- | --------------------------------------------- | ---- |
+ | %f | 打印十进制记数法的 float 和 double 类型浮点数 | |
+ | %e | 打印指数记数法的 float 和 double 类型浮点数 | |
+
+ > 可以用十六进制打印浮点数,书中内容有点模糊,没看懂 :(
+
+ 添加`#` 前缀显示各进制
+
+ | 转换说明 | 含义 | 举例 |
+ | -------- | -------------------------- | ---- |
+ | %#o | 显示前缀 0 八进制的整数 | 0144 |
+ | %#x | 显示前缀 0x 十六进制的整数 | 0x64 |
+ | %#X | 显示前缀 0X 十六进制的整数 | 0X64 |
+
+ 添加 `l` 前缀表示 long 类型
+
+ | 转换说明 | 含义 | 举例 |
+ | -------- | ------------------ | ---- |
+ | %ld | 打印 long 类型的值 | |
+
+ 添加 `h` 前缀表示 short 类型
+
+ | 转换说明 | 含义 | 举例 |
+ | -------- | ----------------------------- | ---- |
+ | %hd | 以十进制显示 short 类型的整数 | |
+ | %ho | 以八进制显示 short 类型的整数 | |
+
+ ## 示例代码
+
+ ```c
+ #include <stdio.h>
+
+ int main(void) {
+ int x = 100;
+ printf("dec = %d; octal= %o; hex= %x\n",x,x,x);
+ printf("dec = %d; octal= %#o; hex= %#x\n",x,x,x);
+ printf("dec = %d; octal= %#o; hex= %#X\n",x,x,x);
+
+ printf("----------\n");
+ unsigned int un = 3000000000000;
+ short end = 200;
+ long big =65537;
+ long long varybig = 12345678901234;
+
+ printf("un = %u and not %d\n",un,un);
+ printf("end = %hd and %d\n",end,end);
+ printf("big = %ld and not %hd\n",big,big);
+ printf("verybig = %lld and not %ld\n",varybig,varybig);
+
+ return 0;
+ }
+ ```
+
+ ```text
+ dec = 100; octal= 144; hex= 64
+ dec = 100; octal= 0144; hex= 0x64
+ dec = 100; octal= 0144; hex= 0X64
+ ----------
+ un = 2112827392 and not 2112827392
+ end = 200 and 200
+ big = 65537 and not 1
+ verybig = 12345678901234 and not 12345678901234
+ ```
+
+ > C 语言中允许使用大写或小写的常量后缀,但转换说明中只能用小写。
+
+ > 基本数据类型由 11 个关键字组成:int、long、short、unsigned、char、float、double、signed、\_Bool、\_Complex 和\_Imaginary。
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9