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和 ...
随机推荐
- 题解[CF1628F]A_Random_Code_Problem
题意 给定一个数组 \(a\),进行 \(k\) 次操作.第 \(i\) 操作等概率随机 \(a\) 中一个元素 \(a_x\),将这个元素的值加入答案,并使其减去 \(a_x\bmod i\) .问 ...
- python + QML程序中调用WebView后打包
QML中如果加入了WebView控件,在用pyinstaller打包时不会自动导入,从而导致打包出的程序运行报错,no WebView plugin found,此时需要手动将WebView控件复制到 ...
- win10安装双版本mysql的方法
因为app作业缘故,之前装的mysql8.0版本无法兼容因此打算再装一个5.7版本的mysql,历经3,4天终于成功,现记录下这血一般的教训 首先官网下再mysql5.7.37的安装包 下载地址htt ...
- 使用yum快速安装mysql-5.7(用于测试)
1)CentOS 7 下安装 MySQL 5.7 下载并安装MySQL官方的 Yum Repository [wget -i -c http://dev.mysql.com/get/mysql57-c ...
- Jemeter 压测 Elasticsearch
Jemeter 版本 apache-jmeter-5.5 Elasticsearch 版本 7.17.6 自行官网下载 Elasticsearch压测报告 Elasticsearch 服务器当前情况: ...
- 2、k8s 基础环境安装
3 k8s 环境配置 3.1 基础环境准备 所有机器执行 #各个机器设置自己的域名 我的设置为 hostnamectl set-hostname ks8-master.hostnamectl set- ...
- js获取各种高度的方法
js获取各种高度的方法 源文章:https://www.cnblogs.com/MrzhangRecord/p/9185868.html 目录 js获取各种高度的方法 1.获取元素的高度 模板:htm ...
- OS-lab1
OS-lab1 boot boot文件夹中只有start.S文件,这个文件用于初始化内核.关掉中断,设置内核栈,并跳转到main函数. init init.c 执行初始化操作. main.c 主函数, ...
- 继承方式创建线程(继承Thread类)
步骤: 用类继承Thread类 重写run()方法 在测试类中创建Thread的子类对象 通过此对象调用Start //1.类继承Thread public class AAA extends Thr ...
- SQL Server修改表的时候出现错误:未更新任何行,未删除任何行
无论点击什么,一直报错:未更新任何行,未删除任何行,就差点砸电脑啦. 参考这个大神才解决的问题: https://blog.csdn.net/weixin_44690047/article/detai ...