文档详情

格式化输入输出.ppt

发布:2018-01-19约7.99千字共27页下载文档
文本预览下载声明
4.5 格式输入输出 4.5.1 printf()函数(格式输出函数) printf()函数的作用:向计算机系统默认的输出设备(一般指终端或显示器)输出一个或多个任意类型的数据。 [例L4.4.c] 已知圆半径radius=1.5,求圆周长和圆面积。 main() {float radius,length,area,pi=3.1415926; radius=1.5; length=2*pi*radius; /*求圆周长*/ area=pi*radius*radius; /*求圆面积*/ printf(“radius=%f\n”,radius); /*输出圆半径*/ printf(“length=%7.2f,area=%7.2f\n”,length,area); /*输出圆周长、面积*/ } 程序运行结果如下: radius=1.500000 length= 9.42,area= 7.07 1. printf()函数的一般格式: printf(“格式控制” [,输出项表]); (1).格式控制(转换控制字符串),可以包含三种字符: a、格式说明。一般形式如下: %[格式字符] b、转义字符 (见p48) c、普通字符──除格式指示符和转义字符之外的其它字符。格式字符串中的普通字符,原样输出。 例如,printf(“radius=%f\n”, radius);中的“radius=”是普通字符。 (2).输出项表 可选项。如果要输出的数据不只1个,相邻2个之间用逗号分开。 例 printf(I am a student.\n); printf(%d, 3+2); printf(a=%f b=%5d\n, a, a+3); 注意:“格式字符串”中的格式指示符,必须与“输出项表”中、输出项的数据类型一致,否则会引起输出错误。 输出格式说明符 在%和格式符之间可以使用附加说明符 附加格式说明符 例如: %ld —— 输出十进制长整型数 %m.nf —— 右对齐,m位域宽,n位小数或n个字符 %-m.nf —— 左对齐 输出不同类型的数据,要使用不同的格式字符(类型转换字符)。 (1)类型转换字符d──以带符号的十进制整数形式输出。 %d: 实际长度输出 %md:指定的输出字段的宽度 %ld 长整型数据 对于整数,还可用无符号形式的八进制(%o(小写字母o)) 和十六进制(x/X);对于unsigned型数据,用%u格式符。 所谓无符号形式是指,不论正数还是负数,系统一律当作无符号整数来输出。 [例L4.5.c] 类型转换字符d的使用。 main() { int num1=123; long num2=123456789; /*用3种不同格式,输出int型数据num1的值*/ printf(num1=%d, num1=%5d,num1=%-5d,num1=%2d\n, num1,num1,num1,num1); /*用3种不同格式,输出long型数据num2的值*/ printf(num2=%ld,num2=%8ld,num2=%5ld\n,num2,num2,num2); printf(num1=%ld\n,num1); printf(num2=%d\n,num2); } (2)类型转换字符f──以小数形式、按系统默认的宽度,输出单精度和双精度实数。 %f %m.nf %-m.nf 对于实数,也可使用格式符%e,以标准指数形式输出——尾数中的整数部分大于等于1、小于10,小数点占一位,尾数中的小数部分占5位,指数部分占4位(如e-03),其中e占一位,指数符号占一位,指数占2位,共计11位。 也可使用格式符%g——让系统根据数值的大小,自动选择%f或%e格式、且不输出无意义的零。 [例L4.6.c] 类型转换字符f的使用。 main( ) {float f=123.456; double d1,d2; d1=1111111111111.111111111; d2=2222222222222.222222222; printf(%f,%12f,%12.2f,%-12.2f,%.2f\n,f,f,f,f,f); printf(d1+d2=%f\n,d1+d2); }
显示全部
相似文档