C/C++:printf 函数格式化输出,用法详细记录
printf ( print format )函数是接触C/C++之后接触的第一个函数,它的功能除了输出hello world外,更重要的是进行格式化输出,比如输出整数的%d,输出小数的%f,%lf 等等。
printf 格式化输出的完整格式为:% [flag] [width] [.precision] type
其中,常用等级为 type > [.precision] > [flag] > [width]
注意,实际使用的时候不带 [ ] .
1. type
| type | 用法说明 |
|---|---|
| %c | 输出一个字符 |
| %s | 输出字符串 |
| %hd %d %ld | 以十进制输出short,int,long类型变量 |
| %ho %o %lo | 以八进制输出short,int,long类型变量 |
| %hx %x %lx | 以十六进制输出short,int,long类型变量,且字母小写 |
| %hX %X %lX | 以十六进制输出short,int,long类型变量,且字母大写 |
| %#hx %#x %#lx | 加上#号,在前边加上0x,比如十六进制的a123变为0xa123 |
| %f %lf | 以十进制输出 float,double 类型变量 |
| %e %le | 以科学技术法输出 float,double 类型变量,且e为小写,比如0.0012就写为1.2e-3 |
| %E %lE | 以科学技术法输出 float,double 类型变量,且e为大写,比如0.0012就写为1.2E-3 |
| %g %lg | 以科学技术法或者十进制输出 float,double 类型变量,他会对比十进制输出和科学计数法哪个字符长度短,就用哪个输出,比如0.000012用十进制表示需要8个字符,用科学计数法1.2e-5只需要6个字符,则用科学计数法输出 |

2. [.precision]
对于小数,[.precision] 指定输出精度,即输出保留到小数点后多少位(主要用法)
对于整数,则表示最短输出长度,位数不足会在前边补0,比如 %.4d 输出23,输出为0023
对于字符串,表示最大输出长度,即截取字符串输出。
例子:

3. [flag]
| flag | 用法说明 |
|---|---|
| - | 多行输出的时候,左对齐输出 |
| + | 带正负号输出 |
| 空格 | 带正负号输出,不过把正号换成了空格 |
| # | 对于整数,要求输出禁止前缀,比如0x;对于小数,则强迫输出小数点之后的 |
4. [width]
指定最小输出长度,不足部分用空格补齐,使输出比较好看,当数据长度大于width时,width不再对数字生效
C/C++:printf 函数格式化输出,用法详细记录的更多相关文章
- printf 格式化输出符号详细说明(转)
%a 浮点数.十六进制数字和p-记数法(C99)%A 浮点数.十六进制数字和p-记法(C99)%c 一个字符(char) %C 一个ISO宽字符 %d 有符 ...
- c++中利用localtime_s函数格式化输出当地日期与时间
Visual C++ 6.0开发环境中显示当地日期与时间主要通过localtime()函数来实现,该函数的原型在time.h头文件中,其语法格式如下: struct tm *localtime(xon ...
- 2、python的print函数格式化输出
1.格式化输出浮点数(float) pi = 3.141592653 print('%10.3f' % pi) #字段宽10,精度3 ,结果 print('%010.3f' % pi) #用0填充 ...
- python中实现格式化输出 %用法
当我们在python中需要打印出特定格式的内容时可以用到这个方法,方法介绍如下: 例如我们现在要收集用户的一些个人信息,这时候我们的代码如下: name=input("name: " ...
- thinkphp 前台html调用函数 格式化输出
仅仅是输出变量并不能满足模板输出的需要,内置模板引擎支持对模板变量使用调节器和格式化功能,其实也就是提供函数支持,并支持多个函数同时使用.用于模板标签的函数可以是PHP内置函数或者是用户自定义函数,和 ...
- printf("%*s\n", 1, ""); 使用"printf();" 的格式化输出动态制定等宽度输出。
#include <stdio.h> #include <string.h> int main() { const char the_text[] = "this i ...
- php中sprintf与printf函数用法区别
下面是一个示例:四舍五入保留小数点后两位 代码如下 复制代码 <?php$num1 = 21;echo sprintf("%0.2f",$num1)."<b ...
- C语言 printf格式化输出,参数详解
有关输出对齐 int main(int argc, char* argv[]){ char insertTime[20] = {"1234567890"}; double in ...
- 自学Python1.8-python input/print用法 格式化输出
自学Python之路 自学Python1.8-python input/print用法 格式化输出 1.input函数 Python3.x 中 input() 函数接受一个标准输入数据,返回为 str ...
- C printf格式化输出
转载:https://blog.csdn.net/wucz122140729/article/details/98434702 格式化输出 格式化输出的函数有printf.sprintf和 ...
随机推荐
- nginx转发tomcat之https不生效
1.修改tomcat配置server.xml,让它从请求头中的X-Forwarded-Proto读取 <!-- xpath://Server/Service/Engine/Value --> ...
- Java中保留两位小数之format
String.format仅限double类型可用 int类型会报错 double d1 = 6.6666;System.out.println(String.format("%.2f&qu ...
- [OC] Block 是什么
Block 是 带有自动变量的匿名函数. emmmm 反正我看了也不懂,我们一点点用具体的例子分析一下block. 1. 我们现在要在一个文件中使用block(我们后面再提到两个界面传值的block ...
- php functions 生成唯一码
<?php /** * 微擎密码生成 * */ function we7password($passwordinput, $salt, $authkey) { $passwordinput = ...
- k8s中pv和pvc
转载: https://blog.csdn.net/echizao1839/article/details/125766826
- JS a标签文件下载
aDownload(url, fileName) { const link = document.createElement('a') link.style.display = 'none' link ...
- ServiceEntry与WorkloadEntry
ServiceEntry: 用于将未能自动添加至网格中的服务,以手形式使得内发 现机制能够访问或路由到这些服务.网格外部的服务 运行于 Kubernetes 上,但却非为 Istio 网格 ...
- 6.mysql优化案例
1.单表优化: 进行优化: 删除原来的三个字段的索引,创建二个字段的索引: 2.两表关联: 左连接,在右表创建索引 右连接,在左表创建索引: 3.三表关联:左关联全都在右表创建索引:
- 用Bootstrap设计后端页面模板
<!doctype html><html lang="zh-CN"> <head> <meta charset="utf-8&q ...
- locust中的监听器
locust的master相关的几个监听器: 心跳监听器: 一个while循环,不断判断所有client当前的心跳状况,如果有一个client失去了心跳,就打印了一个警告日志,如果所有client都失 ...