printf输出格式

printf输出格式总结 原文:https://blog.youkuaiyun.com/weixin_30722589/article/details/96400888 1、%3d: 输出3列;不足三列,左侧补空格;超过三列,按本身列数输出。 2、%03d: 输出3列;不足三列,左侧补0;超过三列,按本身列数输出。 #include<stdio.h> #include<string.... 阅读详情
 
格式代码
A
ABC
ABCDEFGH
%S
A
ABC
ABCDEFGH
%5S
####A
##ABC
ABCDEFGH
%.5S
A
ABC
ABCDE
%5.5S
####A
##ABC
ABCDE
%-5S
A####
ABC##
ABCDEFGH
              
Printf 格式化字符串
格式代码
1
-12
12345
123456789
%d
1
-12
12345
123456789
%6d
#####1
###-12
#12345
123456789
%.4d
0001
-0012
12345
123456789
%6.4d
##0001
#-0012
#12345
123456789
%-4d
1####
-12#
12345
123456789
%04d
0001
-012
12345
123456789
%+d
+1
-12
+12345
+123456789
                                                    Printf格式化整型数值
格式代码
1
.01
.00012345
12345.6789
%f
1.000000
0.010000
0.000123
12345.678900
%10.2d
######1.00
#####0.01
######0.00
##12345.67
%e
1.000000e+00
1.000000e-02
1.234500e-04
1.234568e+04
%.4e
1.0000e+00
1.0000e-02
1.2345e-04
1.2346e+04
%g
1
0.01
0.00012345
12345.7
格式代码
6.023e23
%f
60229999999999975882752.000000
%10.2e
60229999999999975882752.00
%e
6.023000e+23
%.4e
6.0230e+23
%g
6.023e+23
                                                        Printf格式化浮点值

printf()格式转换的一般形式如下
%(flags)(width)(.prec)type
以中括号括起来的参数为选择性参数,而%与type则是必要的。底下先介绍type的几种形式

整数
%d 整数的参数会被转成一有符号的十进制数字
%u 整数的参数会被转成一无符号的十进制数字
%o 整数的参数会被转成一无符号的八进制数字
%x 整数的参数会被转成一无符号的十六进制数字,并以小写abcdef表示
%X 整数的参数会被转成一无符号的十六进制数字,并以大写ABCDEF表示浮点型数

%f double 型的参数会被转成十进制数字,并取到小数点以下六位,四舍五入。
%e double型的参数以指数形式打印,有一个数字会在小数点前,六位数字在小数点后,而在指数部分会以小写的e来表示。
%E 与%e作用相同,唯一区别是指数部分将以大写的E 来表示。
%g double 型的参数会自动选择以%f 或%e 的格式来打印,其标准是根据欲打印的数值及所设置的有效位数来决定。
%G 与%g 作用相同,唯一区别在以指数形态打印时会选择%E 格式。

字符及字符串
%c 整型数的参数会被转成unsigned char型打印出。
%s 指向字符串的参数会被逐字输出,直到出现NULL字符为止
%p 如果是参数是“void *”型指针则使用十六进制格式显示。

prec 有几种情况
1. 正整数的最小位数。
2. 在浮点型数中代表小数位数
3. 在%g 格式代表有效位数的最大值。
4. 在%s格式代表字符串的最大长度。
5. 若为×符号则代表下个参数值为最大长度。

width为参数的最小长度,若此栏并非数值,而是*符号,则表示以下一个参数当做参数长度。

flags 有下列几种情况
#NAME?
+ 一般在打印负数时,printf()会加印一个负号,整数则不加任何负号。此旗标会使得在打印正数前多一个正号(+)。
# 此旗标会根据其后转换字符的不同而有不同含义。当在类型为o 之前(如%#o),则会在打印八进制数值前多印一个o。
而在类型为x 之前(%#x)则会在打印十六进制数前多印’0x’,在型态为e、E、f、g或G 之前则会强迫数值打印小数点。在类型为g 或G之前时则同时保留小数点及小数位数末尾的零。
0 当有指定参数时,无数字的参数将补上0。默认是关闭此旗标,所以一般会打印出空白字符
。

printf的格式控制的完整格式:
%   -   0   m.n   l或h   格式字符
下面对组成格式说明的各项加以说明:
①%:表示格式说明的起始符号,不可缺少。
②-:有-表示左对齐输出,如省略表示右对齐输出。
③0:有0表示指定空位填0,如省略表示指定空位不填。
④m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。N指精度。用于说明输出的实型数的小数位数。为指定n时,隐含的精度为n=6位。
⑤l或h:l对整型指long型,对实型指double型。h用于将整型的格式字符修正为short型。

---------------------------------------
格式字符
格式字符用以指定输出项的数据类型和输出格式。
①d格式:用来输出十进制整数。有以下几种用法:
%d:按整型数据的实际长度输出。
%md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。
%ld:输出长整型数据。
②o格式:以无符号八进制形式输出整数。对长整型可以用"%lo"格式输出。同样也可以指定字段宽度用“%mo”格式输出。
例:
    main()
    { int a = -1;
      printf("%d, %o", a, a);
    }
   运行结果:-1,177777
   程序解析:-1在内存单元中(以补码形式存放)为(1111111111111111)2,转换为八进制数为(177777)8。
③x格式:以无符号十六进制形式输出整数。对长整型可以用"%lx"格式输出。同样也可以指定字段宽度用"%mx"格式输出。
④u格式:以无符号十进制形式输出整数。对长整型可以用"%lu"格式输出。同样也可以指定字段宽度用“%mu”格式输出。
⑤c格式:输出一个字符。
⑥s格式:用来输出一个串。有几中用法
%s:例如:printf("%s", "CHINA")输出"CHINA"字符串(不包括双引号)。
%ms:输出的字符串占m列,如字符串本身长度大于m,则突破获m的限制,将字符串全部输出。若串长小于m,则左补空格。
%-ms:如果串长小于m,则在m列范围内,字符串向左靠,右补空格。
%m.ns:输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。
%-m.ns:其中m、n含义同上,n个字符输出在m列范围的左侧,右补空格。如果n>m,则自动取n值,即保证n个字符正常输出。
⑦f格式:用来输出实数(包括单、双精度),以小数形式输出。有以下几种用法:
%f:不指定宽度,整数部分全部输出并输出6位小数。
%m.nf:输出共占m列,其中有n位小数,如数值宽度小于m左端补空格。
%-m.nf:输出共占n列,其中有n位小数,如数值宽度小于m右端补空格。
⑧e格式:以指数形式输出实数。可用以下形式:
%e:数字部分(又称尾数)输出6位小数,指数部分占5位或4位。
%m.ne和%-m.ne:m、n和”-”字符含义与前相同。此处n指数据的数字部分的小数位数,m表示整个输出数据所占的宽度。
⑨g格式:自动选f格式或e格式中较短的一种输出,且不输出无意义的零。

---------------------------------------
关于printf函数的进一步说明:
如果想输出字符"%",则应该在“格式控制”字符串中用连续两个%表示,如:
printf("%f%%", 1.0/3);
输出0.333333%。

---------------------------------------
对于单精度数,使用%f格式符输出时,仅前7位是有效数字,小数6位.
对于双精度数,使用%lf格式符输出时,前16位是有效数字,小数6位.

######################################拾遗########################################
由高手指点
对于m.n的格式还可以用如下方法表示(例)
char ch[20];
printf("%*.*s/n",m,n,ch);
前边的*定义的是总的宽度,后边的定义的是输出的个数。分别对应外面的参数m和n 。我想这种方法的好处是可以在语句之外对参数m和n赋值,从而控制输出格式。

深入解析MTK DRM初始化流程:从KMS模块到组件框架 本文深入解析了联发科(MTK)平台上DRM显示框架的初始化流程。从内核模块加载、Component框架管理依赖,到核心的mtk_drm_bind函数构建KMS对象(CRTC、Plane、Encoder、Connector),最终完成DRM设备注册并创建用户空间接口。文章结合调试经验,为开发者梳理了从驱动启动到屏幕点亮的完整路径与关键排查点。 阅读详情

相关推荐

ESP32开发环境与微信小程序通信的完整示例

通过搭建稳定的esp32开发环境,实现其与微信小程序间的双向通信,涵盖Wi-Fi连接、数据收发与协议设计,为物联网应用提供低成本解决方案。

weixin_42126677的博客 1130

c语言printf()输出格式大全

C语言printf()输出格式大全

Half-up的博客 2万+

未来智能家居解决方案:AI应用架构师的前沿探索

当你加班到深夜回家时,门锁自动识别你的脚步声解锁,玄关灯渐亮成你最爱的暖光,空调早已调到25℃(你夏天的习惯温度),音箱播放着最近循环的爵士乐,茶几上的智能水壶烧好了温水——这不是科幻电影,而是未来智能家居的日常。如何让“冰冷的设备”变成“懂你的伙伴”。我们将深入探讨五大前沿技术(边缘AI、多模态融合、联邦学习、数字孪生、个性化推荐)的底层原理,用“家里的小管家”“邻居互相学习”等生活化比喻简化复杂概念,结合代码示例与架构图还原实现流程,并通过智能卧室、智能厨房等真实案例展示落地路径。

AI天才研究院 1410

printf()函数输出数据格式汇总

1

modi000的博客 4万+

Cursor Cloud Agent:云原生编程工作流的底层重构

编程工作流正从本地计算范式转向云原生执行范式。Cloud Agent 本质是将代码理解、生成、执行与调试等核心能力下沉至隔离、可控、按需分配的云端虚拟机,通过 Firecracker 微虚拟机实现亚秒级启动,并依托上下文快照、环境镜像化和内核级沙箱保障一致性、算力弹性与数据安全。这一范式突破了传统本地 AI 编程助手在环境依赖、调试能力与企业合规上的根本局限,使 IDE 从编辑工具升维为分布式开发指挥中心。本文深入解析其运行机制与工程落地实践。

weixin_34354173的博客 337

从零开始:用君正T23ZN打造智能门锁双摄系统(含代码示例与调试技巧)

本文详细介绍了基于君正T23ZN视频处理芯片构建智能门锁双摄系统的完整实战方案。内容涵盖硬件选型与核心电路设计、软件开发环境搭建、双摄驱动框架、图像信号处理(ISP)调优、人脸识别算法集成与性能优化,以及系统调试与稳定性保障。文章提供了丰富的代码示例和调试技巧,旨在帮助嵌入式开发者高效实现具备人脸识别与监控功能的低功耗智能门锁视觉系统。

opencv7vision的博客 715

洛谷 P5714 【深基3.例7】肥胖问题

P5714 【深基3.例7】肥胖问题 题目描述 BMI 指数是国际上常用的衡量人体胖瘦程度的一个标准,其算法是 m/h^2(40≤m≤120,1.4≤h≤2.0),其中 m 是指体重(千克),h 是指身高(米)。不同体型范围与判定结果如下: 小于 18.5:体重过轻,输出 Underweight; 大于等于 18.5 且小于 24:正常体重,输出 Normal; 大于等于 24:肥胖,不仅要输出 BMI 值(使用 cout 的默认精度),然后换行,还要输出 Overweight; 现在给出体重和身高数据,

x_trusher的博客 1786

电商数据采集实战——多平台价格监控、比价分析与智能告警系统

在电商竞争日益激烈的今天,价格监控与比价分析已成为品牌商、渠道商和消费者的核心需求。对于品牌商而言,需要监控各渠道售价是否低于指导价(破价监控);对于消费者而言,希望在最佳时机以最低价购入心仪商品;对于数据分析师而言,价格波动数据是洞察市场趋势的金矿。然而,电商数据采集面临三大核心挑战:本文将基于 Python + Scrapy + Playwright + Redis + ClickHouse 技术栈,构建一套完整的电商价格监控与比价系统。架构分层说明:电商平台的反爬手段层出不穷,采集系统必须具备多层次的

从事移动开发八年,csdn博客专家,阿里云特邀专家,华为云云享专家,高级网络信息安全工程师,大数据工程师(高级),python技术开发(高级),HarmonyOS 应用开发者高级认证,现在某学校任教。 135

printf()输出格式大全(附 - 示例代码)

文章目录一、printf格式控制的完整形式: 1、“[ ]” 2、“[标志]” 3、“[输出最小宽度]” 4、“[.精度]” 一、printf格式控制的完整形式: 。%[标志] [输出最小宽度] [.精度] [数据长度] 数据类型字符 .  1、“[ ]”   表示该项为可选项,即不选也可。 .  2、“[标志]”   标志字符有 -、+、#、空格、0 五种 标志说明 -左对齐,默认为右对齐(输出实际长度<输出最小宽度,右边补空格) +右对齐,正数

小肥丸 2万+

[RK-Linux] 移植Linux-5.10到RK3399(十)| 配置AP6256模组使能WIFI、BT功能

[RK-Linux] 移植Linux-5.10到RK3399(十)| 配置AP6256模组使能WIFI、BT功能

Systemcall名屋 2977

【MTK平台】【wpa_supplicant】关于wpa_supplicant/p2p_supplicant.c文件的介绍

本文主要介绍external/wpa_supplicant_8/wpa_supplicant/p2p_supplicant.c 这个文件这个文件里面有个核心的方法就是。

专业开发者的博客,一个从事Android WiFi和蓝牙的工程师 724

printf输出全格式(C语言)

在学尚硅谷C语言视频时,想自己先把他说的项目写一遍在去看他的视频,突然发现我对printf输出就只会%d,%f之类的,所以就在这里总结一下。 特殊符号输出: 据我统计,正常的可视ASCII(码值为32-126之间)的字符,据我测试的就这些不能只有下面四个不能直接输出,其它均可通过键盘输入用printf函数直接打印出来。 " \" % %% ' \' \ \\ 代码: #include <stdio.h> int main() { ...

ldl666999的博客 2万+

188、LLC谐振变换器的样机调试实战(EMI测试)

本文分享了LLC谐振变换器EMI调试的实战经验。作者通过300W电源案例,指出LLC的EMI问题主要来自谐振腔共模电流和死区振铃,并提出三板斧解决方案:优化功率回路布局、合理选择共模电感、正确配置X/Y电容。文章详细分析了谐振电容位置、MOSFET走线、变压器屏蔽等关键设计要点,并列举示波器探头、滤波器接地等常见误区。最后强调EMI调试70%依赖布局优化,建议预扫测试、数据记录并保留6dB余量。全文以实际案例贯穿,为LLC电源EMI设计提供了实用指导。

Jack010169的博客 54

C语言理解 —— printf 格式化输出

第一个printf函数中的输出参数b是double型,但对应的格式控制符为%d,当类型不一致时并不会进行类型转换,而会将实际转入的double型值当作需要的整形类型来理解,因此出现非预期结果;因此输出c的值默认为内存中a变量后面存储单元的数据值,即c的值不能确定。1、当格式控制字符串中没有%引导的格式字符时,则不需要有输出值参数表,直接输出字符串内容,转义字符按照转义后的实际意义输出。2、当格式控制字符串中有%引导的格式字符时,则输出值参数表中的数量以及类型必须和格式字符一致,否则输出无法达到预期。

改变自己现在能改变的,珍惜自己现在所拥有的 8248

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

关于printf输出格式的总结

基础的东西总是很容易忘 要时常总结回顾才能牢记 printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用 printf 函数之前必须包含stdio.h文件。printf函数调用的一般形式为:     printf(“格式控制字符串”, 输出表列) 其中格式控制字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。格式字符

董公子的博客 9254

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

matlab printf格式化输出,如何使用 printf 来格式化输出

当我开始学习 Unix 时,我很早就接触到了 echo 命令。同样,我最初的 Python 课程也涉及到了 print 函数。再想起学习 C++ 和 Java 时学到 cout 和 systemout。似乎每种语言都骄傲地宣称拥有一种方便的单行输出方法,并生怕这种方式要过时一样宣传它。但是当我翻开中级教程的第一页后,我遇到了 printf,一个晦涩难懂的、神秘莫测的,又出奇灵活的函数。本文一反向初...

weixin_35409775的博客 8309

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

printf格式化输出符号详细说明[转]

原文:printf 格式化输出符号详细说明 * %a:浮点数、十六进制数字和p-记数法(C99) * %A:浮点数、十六进制数字和p-记法(C99) * %c:一个字符char * %C:一个ISO宽字符 * %d:有符号十进制整数int * %ld,%Ld:长整型数据long * %hd:短整型数据 * %e:浮点数、e-记数法 * %E:浮点数、E-记数法 * %f:单精度浮

SigalHu 1万+

C printf输出格式控制

原文地址:http://c.biancheng.net/view/159.html 输入输出函数(printf 和 scanf)是C语言中非常重要的两个函数,也是学习C语言必学的两个函数。在C语言程序中,几乎没有一个程序不需要这两个函数,尤其是输出函数(printf),所以这两个函数必须要掌握。 如果在程序中要使用 printf 或者 scanf,那么就必须要包含头文件 stdio.h。因为这两...

dragon_cdut的博客 3896

C语言 printf 函数多种输出格式以及占位输出

123。

weixin_46158019的博客 8070

printf输出字符串的一些格式

printf输出字符串的一些格式 2008-11-26 14:50:11 +--------------------------------------------+ | 主题: 使用printf输出各种格式的字符串           | |                                            | | 日期: 2004-06-29

u013525455的博客 8576

printf 的输出格式

char c, s[20]; int a=1234; float f=3.141592653589; double x=0.12345678912345678; strcpy(s, "Hello,World"); c='\x41'; // ASCII码为41号(16进制) 的字符A printf("a=%d\n", a);//按照十进制整数格式输出,显示 a=1234 printf("a=%d%%\n", a);//输出%号 结果 a=1234% printf("a=%6d\n", a);//输出

qq_781675629的博客 1136

printf函数格式化输出攻略

本文详细介绍了C语言中printf()函数的基本用法和高级格式化功能。主要内容包括:1.基本用法:输出文本、换行控制;2.占位符使用:类型匹配、多占位符、常见占位符表;3.格式化输出:宽度控制(左右对齐)、正负号显示、浮点数精度、字符串截断;4.特殊用法:动态参数指定格式。文章强调类型匹配的重要性,并提供了各种格式化示例,帮助开发者掌握printf()的灵活输出控制技巧。注意事项包括占位符数量匹配、类型安全等关键点。

祯的博客 1657

C语言Printf输出格式美化

C语言Printf输出格式美化

weixin_45084173的博客 1359
上一篇: 已知二叉树的先序和中序求后序
下一篇: PE值、PB值、ROE和DCF值分别代表什么意思
TrueLie
博客等级 码龄24年 85粉丝 23原创
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值