格式: printf(“ 格式控制串”,输出表)...
description
Transcript of 格式: printf(“ 格式控制串”,输出表)...
1上一页上一页 下一页下一页 返回上一级返回上一级
格式: printf(“ 格式控制串”,输出表 )功能:按指定格式向显示器输出数据返值:正常,返回输出字节数;出错,返回 EOF(-1)
– 格式输出函数
• 输出表:要输出的数据(可以没有,多个时以“ ,” 分隔)
• 格式控制串:包含两种信息– 格式说明: %[ 修饰符 ] 格式字符 ,用于指定输出格式– 普通字符或转义序列:原样输出
• 格式字符
2上一页上一页 下一页下一页 返回上一级返回上一级
d,ix,Xoucs
e,Efg
%%
格式字符:
十六进制无符号整数
不带符号十进制整数
十进制整数
指数形式浮点小数
单一字符字符串
八进制无符号整数
小数形式浮点小数e和 f中较短一种百分号本身
int a=567;printf ( “%d”,a);
int a=255;printf(“%x”,a);
int a=65;printf(“%o”,a);
int a=567;printf(“%u”,a);
char a=65;printf(“%c”,a);
printf(“%s”,“ABC”);
float a=567.789;printf(“%e”,a);
float a=567.789;printf(“%f”,a);
float a=567.789;printf(“%g”,a);
printf(“%%”);
567
ff
101
567
A
ABC
5.677890e+02
567.789000
567.789
%
– 说明» 格式字符要用小写» 格式字符与输出项个数应相同,按先后顺序一一对应» 输出转换 : 格式字符与输出项类型不一致 , 自动按指定格式输出
例 main() { unsigned int u=65535; printf(”u=%d\n",u); } 输出结果: u=-1
例 int a=3,b=4; printf(“%d %d\n”,a,b); printf(“a=%d , b=%d\n”,a,b);
例 int a=3,b=4; printf(“%d %d\n”,a,b); printf(“a=%d , b=%d\n”,a,b);输出结果 : 3 4 a=3, b=4
11 11 11 11 11 11 11 11 65535
3上一页上一页 下一页下一页 返回上一级返回上一级
• 附加格式说明符(修饰符)
对实数 , 指定小数点后位数 ( 四舍五入 )对字符串 , 指定实际输出位数
输出数据域宽 , 数据长度 <m, 左补空格 ; 否则按实际输出
输出数据在域内左对齐(缺省右对齐 )指定在有符号数的正数前显示正号(+)输出数值时指定左面不使用的空位置自动填0在八进制和十六进制数前显示前导 0,0x在 d,o,x,u 前,指定输出精度为 long型在 e,f,g 前,指定输出精度为 double型
.n
修饰符 功 能m
-
+
0
#
l
4上一页上一页 下一页下一页 返回上一级返回上一级
例 int a=1234; float f=123.456; char ch=‘a’; printf(“%8d,%2d\n”,a,a); printf(“%f,%8f,%8.1f,%.2f,%.2e\n”,f,f,f,f,f); printf(“%3c\n”,ch);
运行 1234,1234����结果: 123.456000,123.456000, 123.5,123.46,1.23e+02��� a��
例 static char a[]=“Hello,world!” printf(“%s\n%15s\n%10.5s\n%2.5s\n%.3s\n”,a,a,a,a,a);
运行结果: Hello,world! Hello,world!��� Hello����� Hello Hel
例 m.n
5上一页上一页 下一页下一页 返回上一级返回上一级
例 int a=1234; float f=123.456; static char c[]=“Hello,world!”; printf(“%8d,%-8d\n”,a,a); printf(“%10.2f,%-10.1f\n”,f,f); printf(“%10.5s,%-10.3s\n”,c,c);
运行结果: 1234���� , 1234���� 123.46,123.5���� ����� Hello,Hel����� �������
例 -
6上一页上一页 下一页下一页 返回上一级返回上一级
例 int a=1234; float f=123.456; printf(“%08d\n”,a); printf(“%010.2f\n”,f); printf(“%0+8d\n”,a); printf(“0+10.2f\n”,f);
例 0 、 +
例 int a=123; printf(“%o,%#o,%X,%#X\n”,a,a,a,a);
例 #
例 long a=65536; printf(“%d,%8ld\n”,a, a);
例 l00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00
//00001234//0000123.46//000+1234//000+123.56
//173,0173,7B,0X7B
//0, 65536���