- 1、本文档共41页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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
文档评论(0)