C语言的列宽
A. c语言 格式宽度的问题
格式宽度%md(m为数值)原则是:
如果实际宽度小于m,则前面填充空格,如果实际宽度大于m,则按实际的宽度输出。
B. c语言基础问题,关于int等数据类型的宽度,宽度是什么长度呢
数据类型的宽度和长度是同一个概念.
都是占多大空间.
有两种表示方式, 一种是多少位(bit) 另一种是多少字节(byte)
1 byte=8bits
比如int在32位编译器下, 其宽度或者说长度为32位, 4字节.
C. C语言中宽度和长度有什么区别
可以在"%"和字母之间的数字表示最大场宽。
例如:
%3d
表示输出3位整型数,
不够3位右对齐。
%9.2f
表示输出场宽为9的浮点数,
其中小数位为2,
整数位为6,
小数点占一位,
不够9位右对齐。
%8s
表示输出8个字符的字符串,
不够8个字符右对齐。
如果字符串的长度、或整型数位数超过说明的场宽,
将按其实际长度输出。
但对浮点数,
若整数部分位数超过了说明的整数位宽度,
将按实际整数位输出;
若小数部分位数超过了说明的小数位宽度,
则按说明的宽度以四舍五入输出。
对于整数和字符串来说,不存在精度问题。
对于浮点来说,所谓的精度是指小数位宽度。
D. C语言字段宽度什么意思
#include <stdio.h>
main()
{
float num=1345.6879;
printf("num=%08.2f\n",num);
}
num=%08.2f 表示的意思是:输出数据的总宽度为8位,其中小数占2位。
E. C语言中数据的实际宽度指的什么。
用于确定最小输出宽度,例如:
printf("%5d",i);
默认输出宽度为5,如果实际宽度超出5则以实际宽度输出,如果不足5则输出右对齐,左边补空格。如果是%-5d那么就是左对齐,右边补空格。
F. C语言中字符所占的宽度中宽度是什么意思宽度是长短的意思吗
所占的宽度就是包含了多少个字符的位置,比如,5个宽度,那么输出的时候将会占5个空,不足5位的时候默认右对齐,加个负号的话则变成左对齐
G. C语言中%09.2f,%10.2f,%010.2f分别占多少宽度。
C中格式字符串的一般形式为抄:%[标志][输出最小宽度][精度][长度]类型,其中[]中含有的为可选项。
%09.2f表示输出场宽为9的
浮点数
,
其中小数位为2,
整数位为6,同理其他。
详细的参见网络printf()
H. c语言中宽度精度问题
你的代码有错误
int是整形定义,a和b不能是小数
%d也是用于显示整型数的
你的应该为:
float a=20.526,b=20.533;
printf("%6.2f%.2f\n",a,b);
%.2是保留2位小数的意思
下面附:
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格式中较短的一种输出,且不输出无意义的零。
I. C语言 输出宽度的宽度指的是什么
样例中的%4d中的4就是最小输出宽度,即显示数字所占用的最小的字符数,如果不足4个字符,用空格补齐
J. C语言中%12d中12为什么是宽度宽度代表长短
这个是输出函数的用法
%md表示输出的内容要占用m个宽度大小,一个宽度其实就是一个字符显示出来的空间大小,如果输出内容的实际长度比m大,则m失效,仍按真实宽度进行输出
因此%12d的意思就是把数据以十进制整型的格式输出,并且占用12个宽度的大小,还要默认保持右对齐
以上就是这个小知识点的一些细节,不明白的地方,一定要自己多上机调试理解,很重要,实践出真知