c语言中%5.2f是什么意思

其中5不试表示总宽度吗?为什么14.00会符合呢?... 其中5不试表示总宽度吗? 为什么14.00 会符合呢? 展开
 我来答
休闲娱乐助手之星M
推荐于2019-11-04 · TA获得超过53.8万个赞
知道大有可为答主
回答量:2857
采纳率:100%
帮助的人:113万
展开全部

小数点前面的数字表示输出列数,数字位数大于它时,按实际位数输出,小数点前空缺也是。

小数点后面的数字表示输出的小数点位数,如果位数不足就会四舍五入,如果位数不够显示就会在后面补0。

比如x=12.31913,则printf("%5.2f",x)就是“12.32”,注意小数点也算一位数长!

又如x=2.31913,则printf("%5.2f",x)就是“ 2.32”,注意小数点也算一位数长,2前面还有一个空格!

所以你上面问的5.2是指结果总长是五位数(注意小数点也算一位数长),就是小数点前两个数字,不足就用空格表示,小数点后保留两位,不足四舍五入!

小数点也算在宽度之中。.2是保留两位小数,5是指宽度为5。

输出5位数,期中两位是小数,如果一个数大于5位如100000,将输出100000.00也就是说一但数值超过限定值将不再限制整数位。

c语言中%d是表示整型数据(即整数) %f表示的是浮点型数据(即小数) 而%5.2f是表示五位有效数字且小数点后有两位数字的浮点型数据。

类似于a+=a++;或者(i++)+(i++)+(i++)属于未定义行为,并不是说c语言中还未定义这种行为,它早有定论,它的结果取决于编译器实现,不要写这样的代码!

扩展资料

比较特别的是,比特右移(>>)运算符可以是算术(左端补最高有效位)或是逻辑(左端补 0)位移。例如,将 11100011 右移 3 比特,算术右移后成为 11111100,逻辑右移则为 00011100。因算术比特右移较适于处理带负号整数,所以几乎所有的编译器都是算术比特右移。

运算符的优先级从高到低大致是:单目运算符、算术运算符、关系运算符、逻辑运算符、条件运算符、赋值运算符(=)和逗号运算符

参考资料来源:百度百科-c语言的运算符号

写在枫叶上的故事
推荐于2019-10-01 · TA获得超过2.6万个赞
知道答主
回答量:164
采纳率:0%
帮助的人:2.6万
展开全部

%5.2f是输出格式中的%a.bf,表示输出的总长度最大值为5浮点数,并且保留2位小数。

在输出时,如果输出的位数没有大于5位,则按实际位数输出,如果输出的位数大于5,则截取前5位输出,并且小数点是不算位数的。

14.00只有4位输,位数没有大于5位,所以按实际位数输出14.00。

如:

1、“%5d ”要求输出宽度为5,而a值为15只有两位故补三个空格。

2、“%5.4lf”指定输出宽度为5,精度为4,由于实际长度超过5故应该按实际位数输出,小数位数超过4位部分被截去。

3、“%8.4lf ”由于指定精度为4位故截去了超过4位的部分。

4、“%8c ”指定输出宽度为8故在输出字符p之前补加7个空格。

扩展资料

C语言中%5.2f等格式字符串的一般形式为:[标志][输出最小宽度][.精度][长度]类型。(其中方括号[]中的项为可选项)。

1、输出最小宽度

用十进制整数来表示输出的最少位数。若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0。

2、精度

精度格式符以“.”开头,后跟十进制整数。本项的意义是:如果输出数字,则表示小数的位数;如果输出的是字符,则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。

3、长度

长度格式符为h、l两种,h表示按短整型量输出,l表示按长整型量输出。

参考资料来源:百度百科——printf()

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
魔方格的故事
推荐于2019-10-17 · TA获得超过6797个赞
知道答主
回答量:142
采纳率:100%
帮助的人:4.9万
展开全部

小数点也算在宽度之中。

.2是保留两位小数,5是指宽度为5。

代码示例如下

拓展资料

C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。  目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。

C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。

其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
孤星泪haha
推荐于2017-04-19 · TA获得超过656个赞
知道答主
回答量:30
采纳率:100%
帮助的人:32.6万
展开全部
小数点前面的数字表示输出列数
数字位数大于它时,按实际位数输出,小数点前空缺也是
小数点后面的数字表示输出的小数点位数,如果位数不足就会四舍五入,如果位数不够显示就会在后面补0.

比如x=12.31913
则printf("%5.2f",x)就是“12.32”,注意小数点也算一位数长!
又如x=2.31913
则printf("%5.2f",x)就是“ 2.32”,注意小数点也算一位数长,2前面还有一个空格!
望采纳!!!!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Freedow3
2014-12-15 · 超过42用户采纳过TA的回答
知道小有建树答主
回答量:102
采纳率:0%
帮助的人:39.4万
展开全部
%x.y

x是指输出的宽度
y是指输出的小数点后几位
%5.2
你这里毕竟限制只能输出小数点后2位
而小数点前也只有两位(14)
所以也只能输出14.00了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式