问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

送分:printf后面的%后面的字母表示什么?

发布网友 发布时间:2023-07-14 04:22

我来回答

5个回答

热心网友 时间:2024-12-04 13:42

我开始也是迷惑,后来我就找到一篇文章搜藏了,希望你也搜藏这篇文章,看过之后很明白,呵呵。

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赋值,从而控制输出格式。

热心网友 时间:2024-12-04 13:42

c 字符
C 和函数字符模式相反的字符
d/i 带符号十进制数
u 无符号十进制数
o 八进制数
x 十六进制数
X 大写十六进制数
e 双精度浮点数科学计数法表示
E 双精度浮点数科学技术法表示 e大写
f 双精度浮点数小表示
g 双精度浮点数自动选择
G 双精度浮点数自动选择 科学计数法e大写
a 双精度浮点数内部表示
A 大写双精度浮点数内部表示
n 取当前写入字符数
p 十六进制地址
s 字符串
S 与函数字符模式相反的字符串

只写了字母的意义具体参数都写出来就太多了

热心网友 时间:2024-12-04 13:42

%d 输出为整数
%3d 输出一个占三位的整数(不够三位的以空格补)
%s 输出为字符串
%2.1f 输出为前边二位,小数点后边一位的浮点数
%c 输出字符
..........

热心网友 时间:2024-12-04 13:43

格式控制
如%S是传入的参数以字符串形式输出
%d 输出十进制数值
%c 输出字符
。。。。。。

热心网友 时间:2024-12-04 13:44

看书呀
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
水笔在手上画画会不会被衣服搽掉下来 老人每天大便次数很多量不多也不稀,每天还会拉三四次水应经三个月了... 从大连飞机场怎么去大连经济开发区5彩城K区的大连金港大酒店 除了打 ... 请问从大连周水子国际机场到经济技术开发区怎么走最省钱? 中国古代名刀总录中国古代十大名刀 怎样把qq安装到iphone里面 苏科大什么梗 苏科大叫什么名字 lol苏科大是苏州科技大学的吗 lol苏州科技大学为什么这么厉害 优尔精医用降温贴是不是保健品? 求教:C语言 定义了char a; 输出时printf("%\n"); %后写什么呢? C语言中,printf后的一段话能否不写 "%s\n" ? 比如这样写: printf... C语言printf后面算法怎么用啊 后下摆臂变形影响支撑力吗? ...感觉顶到了汽车的下摆臂,会变形吗?顶起来了,怎么办啊?摆 下摆臂变形有什么症状 尼桑奇骏下支臂容易变形 比亚迪宋下摆臂容易变形吗 下摆臂很容易撞弯吗 缤智前下支臂容易变形吗 猫吃掉了虫瘿果能消化吗 紫菜包饭怎么卷小孩的早餐有着落了 原子序数是什么? 原子序数、核电荷数、质子数、中子数 它们都有什么关... 微信红包可以发1000元吗 凌晨打瞌睡,客人问困了,没睡好吗?我门怎么回答 上班顾客少闲的想睡觉怎么办 沙钢移动门户app怎么下载苹果 北京301医院病人病例在哪里查询 北京301医院手机可以查到检查结果 去医院能打出报告吗? 301医院病理己做了一星期了,检验报告怎么在公众号查不到啊 C语言的printf “”后面是要地址还是内容? 暖暖环游世界埃及艳后的打扮怎么搭配 北京趣口才教育科技有限公司电话是多少? 西楚霸王的坐骑叫啥名字 信用利差是用以向投资者( )的、高于无风险利率的利差。 我家花的叶子 变成这个样子 然后就蔫了 有图片 请教各位 是怎么回事... 哪些原因可能会导致格林巴利综合征? 小罗几个欧冠 房产主的解释房产主的解释是什么 《卡路里》原唱是谁 新世界狂欢蜜房有什么用蜜房作用一览 梦见妹妹小时候的样子 教人做包子赚了24万,带人吃饭也能月入几万! 大庆学伟鑫城小区上学怎么样 梦见自己的两个妹妹小时候的预兆 梦见总是妹妹小的时候 梦见兄弟姐妹们小时候的样子的预兆 大庆机关五小和祥阁小学哪个好 梦见小时候的妹妹 刘德华一共多少专辑?