数据的输入和输出.ppt_第1页
数据的输入和输出.ppt_第2页
数据的输入和输出.ppt_第3页
数据的输入和输出.ppt_第4页
数据的输入和输出.ppt_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章 数据的输入和输出, 数据的输入输出是一个计算机程序应具备的基本功能。没有输出的程序是没有意义的。没有输入的程序是缺乏灵性和通用性的。 由于C语言本身不像其他某些高级语言一样有输入和输出语句,其输入和输出是由标准的输入和输出函数完成的,使用标准输入输出函数时,由于这些函数的原型均在特定的stdio.h这个头文件中定义,因此需要通过预处理命令在程序开头嵌入头文件stdio.h,写出如下命令: #include 由于printf函数和scanf函数在程序中用的比较频繁,在程序的可以不加#include 命令 本章将介绍标准函数库中部分常用的输入和输出函数。,3.1字符输入输出函数,3.2格式输入输出函数,3.3应用举例,本章目录,3.1 字符输入输出函数, 1.字符输入函数getchar getchar函数的功能是从标准输入设备(通常是键盘)上输入一个字符。当程序执行到getchar函数时,将等待用户从键盘上输入一个字符,并将这个字符作为函数结果值返回。getchar函数没有参数。若需要使用putchar ( )函数,则要把头文件stdio.h包含进来。对字符输入函数的使用,调用形式如下 getchar( ); 若需要使用getchar( )函数,则要把头文件stdio.h包含进来。 例3.1 #include main() char c; printf(“please input a character:“); /* 输出提示内容*/ c=getchar(); /* 从键盘读入字符 */ printf(“The character inputed is %cn“,c); /* 在屏幕上输出所输入的字符 */ ,运行结果: 运行该程序时,提示操作后输入一个或几个字符,但由于getchar函数只能接收一个字符,字符c被接收,其他字符不起作用。然后在终端上以字符格式输出所输入的字符。,3.1 字符输入输出函数, 2字符输出函数putchar( ) 该函数向标准输出设备(通常是显示终端)输出一字符。它的调用形式如下: putchar(字符变量); 例3.2 #include main() int a; /* 定义整数变量名 */ a=100; /* 给变量赋值 */ printf(“output the charactern“); putchar(a); /* 输出字符 */ 运行结果 执行该程序,将把字符d(其ASCII码为100)输出在显示屏上。,3.1 字符输入输出函数, 字符输入输出只能一次输入或输出一个字 符,不能输入输出其他类型的数据。格式输入输出函数是具有格式控制的函数,它们可以用来输入输出C语言的标准类型的数据,而且可以同时输入或输出多个同类型或不同类型的数据。,3.2 格式输入输出函数,3.2.1 格式输出函数 printf函数是将输出项按指定的格式输出到标准输出设备上。调用printf函数的一般形式如下: printf(格式控制字符串,输出项列表);,3.2 格式输入输出函数,1格式控制字符串 格式控制字符串通常是一对双引号括起来的字符串常量。它包括两方面的内容: 1)格式字符 它由字符“%”和格式字符组成,如%d、%f、%c等,它们规定了输出项的输出格式。常用的格式说明中的格式字符及含义如表3.1 表3.1 格式字符,3.2 格式输入输出函数,2) 普通字符 格式控制字符串中的普通字符是需要照原样输出的字符,可起提示作用。, 2输出项列表 输出项是需要输出的数据项(常量、变量或表达式),数据项应当与格式控制字符串中的格式字符一一对应。 如果输出项有多个,数据项之间用逗号隔 开。 例如: printf (“A=%d,B=%fn”,a,b) 如果上面的语句中a的值为10,f的值为 1.5,则输出为: A=10,B=1.500000,3.2 格式输入输出函数,3.2 格式输入输出函数,3. 常用格式字符的用法 1)d、o、x、u格式字符 属于整形数据的格式符,分别输出十进制、八进制、十六进制和无 符号十进制整数。,例3.3 #include main() int a=12,b=123,c=12345; long d=123456; printf(“%d,%4d,%4d,%ld,%8ldn“,a,b,c,d,d); printf(“%o,%4o,%4o,%lo%8lon“,a,b,c,d,d); printf(“%x,%4x,%4x,%lx,%8lxn“,a,b,c,d,d); printf(“%u,%4u,%4u,%lu,%8lun“,a,b,c,d,d); 运行结果:,3.2 格式输入输出函数,对于一个数可以以不同的形式输出,好比一个人在社会中有很多角色一样,请读者自己体会。,3.2 格式输入输出函数,2)c格式字符 用来输出单个字符。,例3.4 #include main() char c=a; int n=98; printf(“%c,%dn“,c,n); printf(“%4c,%4dn“,c,n); printf(“%d,%cn“,c,n); printf(“%4d,%4cn“,c,n); ,3.2 格式输入输出函数,运行结果:,如果整数的值在0255范围内,也可以用字符形式输出;反之,字符数据也能用整型数格式输出。,3.2 格式输入输出函数,3)s格式字符 用来输出字符串。,3.2 格式输入输出函数,例3.5 #include main() printf(“%sn“,“English“); printf(“%4sn“,“English“); printf(“%8sn“,“English“); printf(“%-8sn“,“English“); printf(“%8.2sn“,“English“); printf(“%-8.2sn“,“English“); 运行结果:,3.2 格式输入输出函数,4)f格式字符 用来输出实型数,以小数形式输出。,3.2 格式输入输出函数,例3.6 #include main() float f=1234.1234; double d=12345.123456789; printf(“%f,%lfn“,f,d); printf(“%10.2f,%10.2lfn“,f,d); printf(“%-10.2f,%-10.2lfn“,f,d); 运行结果:,可以看出,单精度实型数f只有前7位是有效数字,而最后三位是无意义的。,3.2 格式输入输出函数,5)e格式字符 以指数形式输出实数。指数形式为: d.ddddd e xx 小数点前有1位非0数字,小数点占1位,小数点后的数字个数为n-1,n表示输出精度(有效数字位数),格式转换时四舍五入处理。指数部分包括字母e(或E)、正负号和至少两位数字,如e+03。,3.2 格式输入输出函数,例3.7 #include main() float f=123.456; printf(“%e,%10.2en“,f,f); 运行结果:,3.2 格式输入输出函数,6)g格式字符 用来输出实数,它根据数值的大小,自动选f格式或 e格式(选择输出时占宽度较小的一种),且不输出无意义的零。 例3.8 #include main() float f=123.456; printf(“%f,%e,%gn“,f,f,f); 运行结果:,3.2 格式输入输出函数,3.2.2格式输入函数scanf 函数scanf的作用是从标准输入设备(通常是键盘)按照指定的格式把它们送到相应的数据存储地址中。调用scanf函数的一般格式如下: scanf(格式控制字符串,地址表); 格式控制字符的含义同printf()函数。地址表是由若干个变量的地址组成的,它们之间用逗号隔开。变量的地址可由取地址运算符“&”得到(如变量a的地址为 &a)。,3.2 格式输入输出函数,例3.9 用户从键盘输入一个整数、一个实数和一个字符。 #include main() int i; float f; char c; scanf(“%d %f %c“, 运行结果:,由于%f说明中没有指明精度,小数点后面保留6位小数。,3.2 格式输入输出函数,使用scanf函数应注意以下几个方面: 1.格式控制字符中的每个格式说明都必须与地址表中一个变量地址 对应,类型应一致(例如3.9中,%d与 可用以下方式输入a、b、c的值: 1) 1 2 3(按回车健) 2) 1(按回车键) 2 3(按回车键) 3) 12(按回车键) 3 只要是不可显的字符都可以作为上面数据间的间隔符。,3.2 格式输入输出函数, 3.若格式控制字符之间其他字符,则输入数据时,应输入这些字符间隔。 例如: scanf(“%d,%d,%d“, 用以下方式输入a,b,c的值。 44,55,66(按回车键) 4.在输入字符型数据时,由于空格也作为有效字符输入,因此不需要空格作为间隔时,只要直接输入字符就可以。 例如scanf(“%c%c“,&a,&b) 输入数据时输入ch时,由于字符变量只能每次接收一 个字符,所以中间不加上空隔,加上空格的话,如下面例中。,3.2 格式输入输出函数,例3.10 #include main() char a,b; scanf(“%c%c“, 运行结果:,当输入c h时,变量b接收的字符是空格,所以空格也作为有效字符。,3.2 格式输入输出函数, 5.可以在格式控制字符的前面指定输入数据的长度,系统将自动按此长度截取所需要的数据。 例3.11 #include main() int a,b; scanf(“%3d%2d“, 运行结果:,如果用户输入12345时,系统自动地把123赋给a,将45赋给b。,3.2 格式输入输出函数, 6. 若%后面如有“*”,表示本输入项在读入后不赋给任何变量。 例如: scanf(“%d%*d%d”, 运行结果:,22没有赋给变量b,反而33给了变量b。,3.2 格式输入输出函数, 7输入数据时不能规定精度。 例如 scanf(“7.2f”, 上面的语句是不合法的。 8在scanf函数中尽量不要加“n“,否则 程序有问题。 请读者自己上机测试。,3.3 应用举例,例3.13 从键盘上输入任意三个数,然后输出这三个数并计算三个数的平均值。 #include main() float average, a,b,c; scanf(“%f%f%f“, 运行结果:,3.3 应用举例,例3-12 从键盘输入一个小写字母,要求改用大写字母 输出。 #include main() char c1,c2; c1=getchar(); printf(“%c,%dn“,c1,c1); c2=c1-32; printf(“%c,%dn“,c2,c2); 运行结果:,本章小结, C语言中没有提供输入输出语句,在函数库中提供了一组输入输出函数。本章介绍了格式化输入输出函数printf()和scanf()函数,另外还介绍了字符的输入输出函数getchar()和putchar()函数。 C语言中使用printf( )函数能够以多种格式输出数据,程序中通过转义字符与格式字符的结合使用实现对输出的控制。常用的格式字符有:”%u”代

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论