例: long a=135790; printf("ld",a); 例:a=-1; 1111111111111 printf%d,%,%x"a,a,a),输出为:-1,177m 例:man funsined int a=65535 int b=-2 printf("a=d.%0%uina2aa)结果为a=-1.175 printf("b=%d, %0,%x, %un,b, b, b, b) b=-2.177776ffe.65534 例 main( fint i=234 char c=a 结果为 234,234,a,a printf("%d, %5d, %c, %,,i,c, c) 指定输岀宽度。数据宽度不够, 前面补空格,超过原样输出
31 例 :long a=135790; printf("%ld",a ); 例 :a=-1; printf("%d,%o,%x",a,a,a); 例 :main() {unsined int a=65535; int b= -2; printf("a=%d,%o,%x,%u\n",a,a,a,a); printf("b=%d,%o,%x,%u\n",b,b,b,b); } 例 :main() {int i=234; char c=‘a’; printf("%d,%5d,%c,%3c",i,i,c,c); } 1 1 11 11 11 11 11 11 11 a=-1 输出为:-1,177777,ffff a=-1,177777,ffff,65535 b=-2,177776,fffe,65534 结果为 234, 234,a, a 结果为 指定输出宽度。数据宽度不够, 前面补空格,超过原样输出
附加格式说明字符: 字符 作 用 字母C 用于长整型整型,可加在格式符d、o、ⅹ、u前面。 m(代表一个正整数)数据最小宽度。 n(代表一个正整数)对实数表示输出n位小数对字符串表示截取的字符个数 输出的数字或字符在域内向左靠。 例 main( printf(93s, %07.2S, %.4S, %0-53sIn","CHINA, CHINA","CHINA","CHINA") 输出为:CHNA, UUUU CH,CHN,CHLL 例: maino { float f=123.456 printf("%fuu %10fuu %10.2fLL %.2fuu %0-10.2fin"f, f, f,); 输出为:123.455994uu123455994 LLULL12346uu12346u12346uuL
32 附加格式说明字符: 字 符 作 用 字母 用于长整型整型,可加在格式符d、o、x、u前面。 m(代表一个正整数) 数据最小宽度。 .n(代表一个正整数) 对实数,表示输出n位小数;对字符串,表示截取的字符个数。 一 输出的数字或字符在域内向左靠。 例 :main() {printf("%3s,%7.2s,%.4s,%-5.3s\n", "CHINA", "CHINA", "CHINA", "CHINA"); } 例 :main() {float f=123.456; printf("%f %10f %10.2f %.2f %-10.2f\n",f,f,f,f,f); } 输出为: CHINA, CH,CHIN,CHI 输出为: 123.455994 123.455994 123.46 123.46 123.46
例: maino { float f=123.456 printf("%eu %10eu %10.2eLL%.2eLL %0-10.2enfffff 输出结果为 1.234560e+002uu1.234560e+002uu123e+002uu凵123e+002u1.23e+002 13列 13列 10列 9列 10列 例:man( { float f=123.456 printf("%fLu %1Oeu %ogn,fff) 输出为:1234560001.234560e+002u123456u 格式控制字符串中用连续两个%,表示输出一个% 如: printf“%P69;1.03;,输出为:0.333
33 例 :main() {float f=123.456; printf("%e %10e %10.2e %.2e %-10.2e\n",f,f,f,f,f); } 输出结果为: 1.234560e+002 1.234560e+002 1.23e+002 1.23e+002 1.23e+002 13列 13列 10列 9列 10列 例 : main() {float f=123.456; printf("%f %10e %g\n",f,f,f); } 输出为:123.456000 1.234560e+002 123.456 10列 13列 10列 格式控制字符串中用连续两个%,表示输出一个%。 如:printf(“%f%%”,1.0/3); 输出为:0.333333%
5、数据输入 C语言数据输入,是由调用输入函数来完成。 getchar函数 功能:从输入设备输入一个字符。 格式: getchar O 例5.1# include" stdio h' 只能接收 main( 个字符 ichar c c=getchar putchat(c) 格式输入函数sean0 功能:输入若干个任意类型的数据 格式: scanf("格式控制",参数l,参数2,参数3 由格式说明和 度量的地址或字 普通字符构成 符串的首地址
34 5、数据输入 C语言数据输入,是由调用输入函数来完成。 getchar函数 功能: 从输入设备输入一个字符。 格式: getchar () 例5.1 #include "stdio.h" main() {char c; c=getchar(); putchat(c); } 格式输入函数scanf() 功能:输入若干个任意类型的数据。 格式:scanf("格式控制" ,参数1,参数2,参数3, …) 只能接收 一个字符! 由格式说明和 普通字符构成 变量的地址或字 符串的首地址
格式说明:由%后跟一个格式字符组成。中间可插入C、h 几个附加字符。 普通字符:照原样输入 在两个输入致 例如: maino 或多 fint a, b,c: scanf(%d%d%d",&a, &b, &c) printf("%/od, %d, %d\n", a, b, c) 输入格式为:56u7 若用: scanf"od,d,%d,&a,&b&c 则输入格式为:5,6,7 若用: scanf"od%du%d",&a&b&c) 则输入格式为:5:6:-7
35 格式说明:由%后跟一个格式字符组成。中间可插入、h、 m、*几个附加字符。 普通字符:照原样输入。 例如:main() {int a,b,c; scanf("%d%d%d", &a,&b,&c); printf("%d,%d,%d\n",a,b,c); } 输入格式为:5 6 7 若用:scanf("%d,%d,%d", &a,&b,&c); 则输入格式为:5,6,7 若用:scanf("%d:%d: %d", &a,&b,&c); 则输入格式为:5:6: 7