printf格式符

1.转换说明符
      %a(%A)     浮点数、十六进制数字和p-(P-)记数法(C99)
      %c             字符
      %d             有符号十进制整数
      %f              浮点数(包括float和doulbe)
      %e(%E)     浮点数指数输出[e-(E-)记数法]
      %g(%G)     浮点数不显无意义的零"0"
      %i              有符号十进制整数(与%d相同)
      %u             无符号十进制整数
      %o             八进制整数    e.g.     0123
      %x(%X)      十六进制整数0f(0F)   e.g.   0x1234
      %p             指针
      %s             字符串
      %%            "%"


2.标志
      左对齐:"-"   e.g.   "%-20s"
      右对齐:"+"  e.g.   "%+20s"
      空格:若符号为正,则显示空格,负则显示"-"   e.g.   "%  6.2f"      
      #:对c,s,d,u类无影响;对o类,在输出时加前缀o;对x类,在输出时加前缀0x;
            对e,g,f 类当结果有小数时才给出小数点。


3.格式字符串(格式)
      [标志][输出最少宽度][.精度][长度]类型
     "%-md" :左对齐,若m比实际少时,按实际输出。
     "%m.ns":输出m位,取字符串(左起)n位,左补空格,当n>m or m省略时m=n
                      e.g.    "%7.2s"   输入CHINA
                                             输出"     CH"
     "%m.nf":输出浮点数,m为宽度,n为小数点右边数位
                      e.g.    "%3.1f"    输入3852.99
                                                 输出3853.0 
### 三、C语言 `printf` 格式符速查表 在 C 语言中,`printf` 函数用于格式化输出数据,其核心功能是通过**格式字符串**来控制输出内容的格式。格式字符串中使用 `%` 引导的格式符来指定变量的输出类型和格式。以下是一些常用的 `printf` 格式符及其用途的详细说明: --- #### 3.1 常用格式符一览表 | 格式符 | 类型说明 | 输出示例 | 说明 | |--------|----------|----------|------| | `%d` 或 `%i` | 十进制整数(int) | `123` | 输出有符号十进制整数 [^1] | | `%u` | 无符号十进制整数(unsigned int) | `456` | 适用于无符号整数 | | `%o` | 八进制整数(unsigned int) | `12` | 输出无符号八进制数(不带前导 `0`) [^1] | | `%x` 或 `%X` | 十六进制整数(unsigned int) | `1a` 或 `1A` | 小写或大写形式输出十六进制数 [^1] | | `%f` | 十进制浮点数float/double) | `3.141593` | 默认输出六位小数 | | `%e` 或 `%E` | 科学计数法浮点数 | `3.141593e+00` 或 `3.141593E+00` | 使用指数形式输出浮点数 [^2] | | `%g` 或 `%G` | 自动选择 %f 或 %e/%E | `3.14159` | 自动选择最简形式输出 [^2] | | `%c` | 字符(char) | `A` | 输出单个字符 | | `%s` | 字符串(char*) | `Hello World` | 输出以 `\0` 结尾的字符串 [^3] | | `%p` | 指针地址(void*) | `0x7fff5fbff5d0` | 输出内存地址(平台相关) [^1] | | `%%` | 百分号 | `%` | 用于输出一个 `%` 字符本身 | --- #### 3.2 常用格式控制修饰符 - **宽度控制**:如 `%5d` 表示输出至少占 5 个字符宽度,不足则左补空格。 - **精度控制**:如 `%.2f` 表示输出浮点数保留两位小数;`%.5s` 表示最多输出字符串前 5 个字符 [^3]。 - **对齐方式**:默认右对齐,使用 `-` 实现左对齐,如 `%-10s`。 - **前导符号**:使用 `+` 强制输出正负号,如 ` %+d`。 - **补零**:使用 `0` 在数字前补零,如 `%04d` 输出 `0012`。 ```c printf("整数宽度控制:%5d\n", 123); // 输出 " 123" printf("浮点数精度控制:%.2f\n", 3.14159); // 输出 "3.14" printf("字符串截断输出:%.5s\n", "Hello World"); // 输出 "Hello" printf("左对齐字符串:%-10s|\n", "C语言"); // 输出 "C语言 |" ``` --- #### 3.3 特殊输出格式示例 - **指数格式**:适用于科学计算场景,如 `%e` 输出 `1.234568e+02` [^2]。 - **自动格式选择**:使用 `%g` 可根据数值大小自动选择最合适的输出格式。 - **指针地址输出**:使用 `%p` 输出变量地址,便于调试内存相关问题。 ```c double value = 123.456789; printf("科学计数法:%e\n", value); // 输出 "1.234568e+02" printf("自动格式选择:%g\n", value); // 输出 "123.457" int a = 10; printf("变量地址:%p\n", (void*)&a); // 输出类似 "0x7fff5fbff5d0" ``` --- ####
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值