C语言的所有格式符。
要求:格式如下如d格式符。用来输出十进制整数;%d,按整数数据的实际长度输出;%md为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输...
要求:格式如下如d格式符。用来输出十进制整数;%d,按整数数据的实际长度输出;%md为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。要所有的格式符,通俗的介绍,尽可能的少用专业语句,因为我是新手。 要求没有看的直接就粘贴的,你们就省省电吧。
展开
2个回答
展开全部
%a,%A 读入一个浮点值(仅C99有效) %c 读入一个字符 %d 读入十进制整数 %i 读入十进制,八进制,十六进制整数 %o 读入八进制整数 %x,%X 读入十六进制整数 %s 读入一个字符串,遇空格、制表符或换行符结束。 %f,%F,%e,%E,%g,%G 用来输入实数,可以用小数形式或指数形式输入。 %p 读入一个指针 %u 读入一个无符号十进制整数 %n 至此已读入值的等价字符数 %[] 扫描字符集合 %% 读%符号 附加格式说明字符表修饰符说明 L/l 长度修饰符 输入"长"数据 h 长度修饰符 输入"短"数据 W 整型常数 指定输入数据所占宽度 * 表示本输入项在读入后不赋值给相应的变量
展开全部
"一、格式符含义
1、d格式符:按十进制格式输出。
%d
输出数字长度为变量数值的实际长度
%md
输出m位(不足补空格,大于m位时按实际长度输出)
%ld,%mld
l(小写字母L)表示输出“长整型”数据
%0md,%0mld
0(数字0)表示位数不足m时补0
注:%后面的m(位数控制)、0(位数不足补0)对于其他格式符也适用。
例:(□表示空格)
int
i=123;
long
j=123456;
printf("%d□5d□05d,□ld□8ld□08ld",i,i,i,j,j,j);
输出:123□□□123□00123,□123456□□□123456□00123456
2、o(字母)格式符:按八进制格式输出。(不会出现负数格式)
3、x格式符:按十六进制格式输出。(不会出现负数格式)
4、u格式符:用于输出unsigned类型数据。
例:main()
{
unsigned
int
a=65535;
int
b=-2;
printf("a=%d,%o,%x,%u\n",a,a,a,a);
printf("a=%d,%o,%x,%u\n",b,b,b,b);
}
输出:a=-1,177777,ffff,65535
b=-2,177776,fffe,65534
5、c格式符:以字符形式输出。
6、s格式符:以字符串格式输出。
例:printf("%s","CHINA");
%ms
m指定宽度(不足时左补空格,大于时按实际宽度输出)
%-ms
左对齐,不足m时右补空格
%m.ns
输出占m个字符位置,其中字符数最多n个,左补空格
%-m.ns
同上,右补空格
7、f格式符:按实数格式输出。
%f
按实数格式输出,整数部分按实际位数输出,6位小数
%m.nf
总位数m(含小数点),其中n位小数
%-m.nf
同上,左对齐
例:main()
{
float
x,
y;
x=111111.111;
y=222222.222;
printf("%f",
x+y);
}
程序输出:
333333.328152(实数运算中误差不可避免)
例:main()
{
double
x,y;
double
x2,y2;
x=1111111111111.111111111;
y=2222222222222.222222222;
x2=1111111111111.111;
y2=2222222222222.222;
printf("%f
%f",
x+y,
x2+y2);
/*
13位整数,9位小数
*/
}
程序输出:
3333333333333.333010
3333333333333.333010(相同)
注意
从以上两例可以看出,实数运算中误差不可避免,double比float精度高。
float实数(单精度)的有效位数是7位,double实数(双精度)的有效位数是16位,超过有效位数的输出和输入均无意义。
例:
main()
{
float
f=123.456;
printf("%f□□%10f□□%10.2f□□%.2f□□%-10.2f",f,f,f,f,f);
}
输出结果:
123.455994□□123.455994□□□□□□123.46□□123.46□□123.46
8、e格式符:以指数形式输出实数。%e
输出13位,其中:1位整数,1位小数点,6位小数,5位指数(含字符e和指数的符号)
9、g格式符:根据数值大小,自动选取f或e格式输出。
二、用注意
1、%是printf()的格式说明符,若要直接输出字符%,在格式控制中用2个连续的%。
例:printf("%f%%",
1.0/3)
输出:
0.333333%。
2、通常在有格式字符o和x按八进制和十六进制形式输出整数时,在数值前不出现0和0x,可在%和格式字符间插入#来实现。
例:printf(“%o,%#o,%x,%#x\n”,10,10,10,10);
输出:12,012,a,0xa
3、指定输出宽度的同时指定左对齐可在宽度前插入“—”来实现。"
1、d格式符:按十进制格式输出。
%d
输出数字长度为变量数值的实际长度
%md
输出m位(不足补空格,大于m位时按实际长度输出)
%ld,%mld
l(小写字母L)表示输出“长整型”数据
%0md,%0mld
0(数字0)表示位数不足m时补0
注:%后面的m(位数控制)、0(位数不足补0)对于其他格式符也适用。
例:(□表示空格)
int
i=123;
long
j=123456;
printf("%d□5d□05d,□ld□8ld□08ld",i,i,i,j,j,j);
输出:123□□□123□00123,□123456□□□123456□00123456
2、o(字母)格式符:按八进制格式输出。(不会出现负数格式)
3、x格式符:按十六进制格式输出。(不会出现负数格式)
4、u格式符:用于输出unsigned类型数据。
例:main()
{
unsigned
int
a=65535;
int
b=-2;
printf("a=%d,%o,%x,%u\n",a,a,a,a);
printf("a=%d,%o,%x,%u\n",b,b,b,b);
}
输出:a=-1,177777,ffff,65535
b=-2,177776,fffe,65534
5、c格式符:以字符形式输出。
6、s格式符:以字符串格式输出。
例:printf("%s","CHINA");
%ms
m指定宽度(不足时左补空格,大于时按实际宽度输出)
%-ms
左对齐,不足m时右补空格
%m.ns
输出占m个字符位置,其中字符数最多n个,左补空格
%-m.ns
同上,右补空格
7、f格式符:按实数格式输出。
%f
按实数格式输出,整数部分按实际位数输出,6位小数
%m.nf
总位数m(含小数点),其中n位小数
%-m.nf
同上,左对齐
例:main()
{
float
x,
y;
x=111111.111;
y=222222.222;
printf("%f",
x+y);
}
程序输出:
333333.328152(实数运算中误差不可避免)
例:main()
{
double
x,y;
double
x2,y2;
x=1111111111111.111111111;
y=2222222222222.222222222;
x2=1111111111111.111;
y2=2222222222222.222;
printf("%f
%f",
x+y,
x2+y2);
/*
13位整数,9位小数
*/
}
程序输出:
3333333333333.333010
3333333333333.333010(相同)
注意
从以上两例可以看出,实数运算中误差不可避免,double比float精度高。
float实数(单精度)的有效位数是7位,double实数(双精度)的有效位数是16位,超过有效位数的输出和输入均无意义。
例:
main()
{
float
f=123.456;
printf("%f□□%10f□□%10.2f□□%.2f□□%-10.2f",f,f,f,f,f);
}
输出结果:
123.455994□□123.455994□□□□□□123.46□□123.46□□123.46
8、e格式符:以指数形式输出实数。%e
输出13位,其中:1位整数,1位小数点,6位小数,5位指数(含字符e和指数的符号)
9、g格式符:根据数值大小,自动选取f或e格式输出。
二、用注意
1、%是printf()的格式说明符,若要直接输出字符%,在格式控制中用2个连续的%。
例:printf("%f%%",
1.0/3)
输出:
0.333333%。
2、通常在有格式字符o和x按八进制和十六进制形式输出整数时,在数值前不出现0和0x,可在%和格式字符间插入#来实现。
例:printf(“%o,%#o,%x,%#x\n”,10,10,10,10);
输出:12,012,a,0xa
3、指定输出宽度的同时指定左对齐可在宽度前插入“—”来实现。"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询