C语言程序设计教程(第二版) 徐新华 第03章 顺序结构程序设计新.ppt
文本预览下载声明
3.1* 格式化输出——printf()函数 3.1.1 printf()函数的一般格式 [案例3.1] 已知圆半径radius=1.5,求圆周长(2πr)和圆面积(πr2) 。 #include “stdio.h” #include “conio.h” void main( ) {float radius = 1.5, length, area, pi=3.14; length = 2 * pi * radius; area = pi * radius * radius; printf(“radius = %f\n”, radius); printf(“length = %7.2f, area=%7.2f\n”, length, area); getch(); } printf()函数的一般格式: printf(格式字符串 [,输出项表]); 1.格式字符串 (1)格式指示符: %[标志][宽度][.精度][F|N|h|L]类型 例如,%7.2f。 各类常用指示符,参见表3-1至表3-5。 在表3-1中,最常用的标志字符是“-” :左对齐,右端补空格。缺省时为右对齐,左端补空格。 在表3-2中,最常用宽度字符“n”:指定输出域的宽度。若超长,则按实际宽度输出;若不足,则补空格。 在表3-3中,最常用精度字符“ .n”:指定保留的小数位数(实数,超长则4舍5入),或截取左起的前n个字符(字符串)。 在表3-4中,最常用的长度字符“l”:长整型。 在表3-5 中,最常用的数据类型转换字符如下表所示: (2)转义字符。 特点:通常是产生一个控制操作。 例如,转义字符\n,输出时产生一个“换行”操作。 (3)普通字符──除格式指示符和转义字符之外的其它字符。 特点:原样输出。 例如,“radius=”、“length=”、“area=”、“,”。 2.输出项表 如果不止1个,则相邻2个之间用逗号分开。 下面的用法都是合法的: (1)printf(I am a student.\n); (2)printf(%d,3+2); (3)printf(a=%f b=%5d\n, a, a+3); 3.1.2 常用的类型转换字符 输出不同类型数据,要使用不同类型转换字符。 1.类型转换字符d──以带符号的十进制整数形式输出。 [案例3.2] 类型转换字符d的使用。 #include “stdio.h” #include “conio.h” void main() {int num1=123; long num2=123456; printf(num1=%d,num1=%5d,num1=%-5d,num1=%2d\n, num1,num1,num1,num1); printf(num2=%ld,num2=%8ld,num2=%5ld\n, num2,num2,num2); printf(num1=%ld\n,num1); getch(); } 程序运行结果如下: num1=123,num1=□□123,num1=123□□,num1=123 num2=123456,num2=□□123456,num2=123456 num1 (1)格式指示符,必须与输出项的数据类型一致,否则会引起输出错误。 (2)对于整数,还可用%o(八进制无符号形式)、 %x(十六进制无符号形式)、 %u(十进制无符号形式)输出。 2.类型转换字符f──以小数形式输出实数。 [案例3.3] 类型转换字符f的使用。 #include “stdio.h” #include “conio.h” void 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); getch(); } 程序运行结果如下: 123.456001,□□123.456001,□□□□□□123.46,123.46□□□□□□,123.46 d1+d2=33333
显示全部