资源描述:
《c语言入门之输入输出》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数据输出语句 本小节介绍的是向标准输出设备显示器输出数据的语句。在C语言中,所有的数据输入/输出都是由库函数完成的。因此都是函数语句。本小节先介绍printf函数和putchar函数。printf函数printf函数称为格式输出函数,其关键字最末一个字母f即为“格式”(format)之意。其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上。在前面的例题中我们已多次使用过这个函数。 一、printf函数调用的一般形式 printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用printf函数之前必须包含stdio.
2、h文件。printf函数调用的一般形式为:printf(“格式控制字符串”,输出表列)其中格式控制字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。如“%d”表示按十进制整型输出,“%ld”表示按十进制长整型输出,“%c”表示按字符型输出等。后面将专门给予讨论。 非格式字符串在输出时原样照印,在显示中起提示作用。输出表列中给出了各个输出项,要求格式字符串和各输出项在数量和类型上应该一一对应。voidmain(){inta=88,b=89;prin
3、tf("%d%d",a,b);printf("%d,%d",a,b);printf("%c,%c",a,b);printf("a=%d,b=%d",a,b);}a<--8,b<--89printf("%d%d",a,b);printf("%d,%d",a,b);printf("%c,%c",a,b);printf("a=%d,b=%d",a,b); 本例中四次输出了a,b的值,但由于格式控制串不同,输出的结果也不相同。第四行的输出语句格式控制串中,两格式串%d之间加了一个空格(非格式字符),所以输出的a,b值之间有一个空格。第五行的printf
4、语句格式控制串中加入的是非格式字符逗号,因此输出的a,b值之间加了一个逗号。第六行的格式串要求按字符型输出a,b值。第七行中为了提示输出结果又增加了非格式字符串 二、格式字符串 在TurboC中格式字符串的一般形式为:[标志][输出最小宽度][.精度][长度]类型其中方括号[]中的项为可选项。各项的意义介绍如下: 1.类型类型字符用以表示输出数据的类型,其格式符和意义下表所示:表示输出类型的格式字符格式字符意义d以十进制形式输出带符号整数(正数不输出符号)o以八进制形式输出无符号整数(不输出前缀O)x以十六进制形式输出无符号整数(不输出前缀OX)u以十进制形式输出
5、无符号整数f以小数形式输出单、双精度实数e以指数形式输出单、双精度实数g以%f%e中较短的输出宽度输出单、双精度实数c输出单个字符s输出字符串 2.标志 标志字符为-、+、#、空格四种,其意义下表所示:标志格式字符标志意义-结果左对齐,右边填空格+输出符号(正号或负号)空格输出值为正时冠以空格,为负时冠以负号#对c,s,d,u类无影响;对o类,在输出时加前缀。对x类,在输出时加前缀0x;对e,g,f类当结果有小数时才给出小数点 3.输出最小宽度 用十进制整数来表示输出的最少位数。若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0。
6、 4.精度 精度格式符以“.”开头,后跟十进制整数。本项的意义是:如果输出数字,则表示小数的位数;如果输出的是字符,则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。 5.长度 长度格式符为h,l两种,h表示按短整型量输出,l表示按长整型量输出。voidmain(){inta=15;floatb=138.3576278;doublec=35648256.3645687;chard='p';printf("a=%d,%5d,%o,%x",a,a,a,a);printf("b=%f,%lf,%5.4lf,%e",b,b,b,b);prin
7、tf("c=%lf,%f,%8.4lf",c,c,c);printf("d=%c,%8c",d,d);}a<--15b<--138.3576278c<--35648256.3645687d<--'p'main(){inta=29;floatb=1243.2341;doublec=24212345.24232;charc='h'printf("a=%d,%5d,%o,%x",a,a,a,a);printf("b=%f,%lf,%5.4lf,%e",b,b,b,b);printf("c=%lf,%f,%8.4lf",c,c