① c 语言中%2d(%2d%%)什么意思
%2d就是宽度2 输出整数
%2d%% 就是输出宽度2整数 后面带个%号 %% 输出就是%
② c语言输出附加格式说明字符怎么用
C语言基本的输出格式说明符如下:
%d十进制有符号整数
%u十进制无符号整数
%f浮点数
%s字符串
%c单个字符
%p指针的值
%e指数形式的浮点数
%x,%X无符号以十六进制表示的整数
%0无符号以八进制表示的整数
%g自动选择合适的表示法
说明:
1、可以在"%"和字母之间插进数字表示最大场宽。例如:
%3d表示输出3位整型数,不够3位右对齐。
%9.2f表示输出场宽为9的浮点数,其中小数位为2,整数位为6,小数点占一位,不够9位右对齐。
%8s表示输出8个字符的字符串,不够8个字符右对齐。
如果字符串的长度、或整型数位数超过说明的场宽,将按其实际长度输出,
但对浮点数,若整数部分位数超过了说明的整数位宽度,将按实际整数位输出;
若小数部分位数超过了说明的小数位宽度,则按说明的宽度以四舍五入输出。
2、可以在"%"和字母之间加小写字母l,表示输出的是长型数。例如:
%ld表示输出long整数
%lf表示输出double浮点数
3、可以控制输出左对齐或右对齐,即在"%"和字母之间加入一个"-"号可说明输出为左对齐,否则为右对齐。例如:
%-7d表示输出7位整数左对齐
%-10s表示输出10个字符左对齐
使用方法可以参考如下程序:
#include<stdio.h>
#include<string.h>
intmain()
{
charc,s[20],*p;
inta=1234,*i;
floatf=3.141592653589;
doublex=0.12345678987654321;
p="Howdoyoudo";
strcpy(s,"Hello,Comrade");
*i=12;
c='x41';
printf("a=%d ",a);/*结果输出十进制整数a=1234*/
printf("a=%6d ",a);/*结果输出6位十进制数a=1234*/
printf("a=%06d ",a);/*结果输出6位十进制数a=001234*/
printf("a=%2d ",a);/*a超过2位,按实际值输出a=1234*/
printf("*i=%4d ",*i);/*输出4位十进制整数*i=12*/
printf("*i=%-4d ",*i);/*输出左对齐4位十进制整数*i=12*/
printf("i=%p ",i);/*输出地址i=06E4*/
printf("f=%f ",f);/*输出浮点数f=3.141593*/
printf("f=6.4f ",f);/*输出6位其中小数点后4位的浮点数f=3.1416*/
printf("x=%lf ",x);/*输出长浮点数x=0.123457*/
printf("x=%18.16lf ",x);/*输出18位其中小数点后16位的长浮点数x=0.1234567898765432*/
printf("c=%c ",c);/*输出字符c=A*/
printf("c=%x ",c);/*输出字符的ASCII码值c=41*/
printf("s[]=%s ",s);/*输出数组字符串s[]=Hello,Comrade*/
printf("s[]=%6.9s ",s);/*输出最多9个字符的字符串s[]=Hello,Co*/
printf("s=%p ",s);/*输出数组字符串首字符地址s=FFBE*/
printf("*p=%s ",p);/*输出指针字符串p=Howdoyoudo*/
printf("p=%p ",p);/*输出指针的值p=0194*/
getch();
retunr0;
}
③ double类型变量C语言里输出时的格式说明符是什么
double类型变量C语言里输出时的格式说明符是%f。
float和double类型的输出时的格式说明符都是%f,这是由于向那些未在原型中申明参数类型的函数传递参数时,float型会自动转为double型顷腔唯,所以用%lf和%f结果都一样。
例如:
doublea=3.1323;
floatb=0.234;
printf("%lf
",a);//输出结果为3.1323
printf("%f ",b);//输出结果为0.234
(3)c语言格式说明符扩展阅读:
1、双精度浮点型,此数据类型与单精度数据类型(float)相似,但精确度比float高,编译时所占的内存空间依不同的编雀培译器而有所不同,是double float数据类型,C/C++中表示实型变量的一种变量类型。
2、此数据类型与单精度数据类型(float)相似,但精确度比float高,编译时所占的内存空间依不同的编译器而有所不同,通常情况,圆吵单精度浮点数占4字节(32位)内存空间,其数值范围为-3.4E38~3.4E+38,;双精度型占8 个字节(64位)内存空间,其数值范围为-1.7E308~+1.7E308。
资料来源:网络:双精度浮点型
④ C语言中格式说明符%i是什么意思
%i 就是 %d. 输出带符号的十进制整型
%i 是老式写法。
i -- integer (英文 整数的意思)
d -- decimal (英文 十进制整数的意思)
⑤ c语言中的 %u 什么意思啊
%d 有符号10进制整数
%i 有符号10进制整数
%o 无符号8进制整数
%u 无符号10进制整数
%x 无符号的16进制数字,并以小写abcdef表示
%X 无符号的16进制数字,并以大写ABCDEF表示
%F/f 浮点数
%E/e 用科学表示格式的浮点数
%g 使用%f和%e表示中的总的位数表示最短的来表示浮点数 G 同g格式,但表示为指数
%c 单个字符
%s 字符串
⑥ C语言的所有格式符。
%a,%A 读入一个浮点值(仅C99有效)
%c 读入一个字符
%d 读入十进制整数
%i 读入十进制,八进制,十六进制整数
%o 读入八进制整数
%x,%X 读入十六进制整数
%s 读入一个字符串,遇空格、制表符或换行符结束。
%f,%F,%e,%E,%g,%G 用来输入实数,可以用小数形式或指数形式输入。
%p 读入一个指针
%u 读入一个无符号十进制整数
%n 至此已读入值的等价字符数
%[] 扫描字符集合
%% 读%符号
⑦ 请问c语言中格式说明符%#8od和%+06d 中#、+、0、分别是什么意思
intprintf(constchar*format,[argument]);format参数输出的格式,定义格式为:%[flags][width][.perc][F|N|h|l]type规定数据输出方式,具体如下:1.type含义如下:d有符号10进制整数i有符号10进制整数o无符号8进制整数u无符号10进制整数x无符号的16进制数字,并以小写abcdef表示X无符号的16进制数字,并以大写ABCDEF表示F/f浮点数E/e用科学表示格式的浮点数g使用%f和%e表示中的总的位数表示最短的来表示浮点数G同g格式,但表示为指数c单个字符s字符串%显示百分号本身p显示一个指针,near指针表示为:XXXXfar指针表示为:XXXX:YYYYn相连参量应是一个指针,其中存放已写字符的个数2.flags规定输出格式,取值和含义如下:无右对齐,左边填充0和空格-左对齐,右边填充空格+在数字前增加符号+或-0将输出的前面补上0,直到占满指定列宽为止(不可以搭配使用-)空格输出值为正时冠以空格,为负时冠以负号#当type=c,s,d,i,u时没有影响type=o,x,X时,分别在数值前增加'0',"0x","0X"type=e,E,f时,总是使用小数点type=g,G时,除了数值为0外总是显示小数点3.width用于控制显示数值的宽度,取值和含义如下n(n=1,2,3)宽度至少为n位,不够以空格填充0n(n=1,2,3)宽度至少为n位,不够左边以0填充*格式列表中,下一个参数还是width4.prec用于控制小数点后面的位数,取值和含义如下:无按缺省精度显示0当type=d,i,o,u,x时,没有影响type=e,E,f时,不显示小数点n(n=1,2,3)当type=e,E,f时表示的最大小数位数type=其他,表示显示的最大宽度.*格式列表中,下一个参数还是width5.F|N|h|l表示指针是否是远指针或整数是否是长整数F远指针n近指针h短整数或单精度浮点数l长整数或双精度浮点数