第3章数据的输入输出.ppt

上传人:s****8 文档编号:93910599 上传时间:2023-07-17 格式:PPT 页数:50 大小:493KB
返回 下载 相关 举报
第3章数据的输入输出.ppt_第1页
第1页 / 共50页
第3章数据的输入输出.ppt_第2页
第2页 / 共50页
点击查看更多>>
资源描述

《第3章数据的输入输出.ppt》由会员分享,可在线阅读,更多相关《第3章数据的输入输出.ppt(50页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第3章 数据的输入输出2课时2输入/输出函数 C语言本身不提供输入/输出语句,而是由标准I/O库函数提供。输入/输出库函数很丰富,可以从键盘、显示器、磁盘文件和硬件端口进行输入或输出操作。3n 3.1 字符输入/输出函数n 3.2 字符串输入/输出函数n 3.3 格式输入/输出函数n 3.4 简单程序设计举例第3章 数据的输入/输出4函数原型:int getchar(void)作用:从输入设备(一般为键盘)上输入一个字符。它每被调用一次,就从标准输入设备上取一个字符,返回值是该字符的ASCII编码值。可以赋给字符变量或整型变量。执行getchar(),输入字符后要回车。例如:char a;a=

2、getchar();3.1 字符输入/输出函数53.1 字符输入/输出函数字符输出函数原型:int putchar(int)作用:向标准输出设备(一般为显示器)输出一个字符,返回该字母的ASCII码值。参数可以是字符常量、变量或整型数。例如:putchar(a);putchar(97);putchar(n);putchar(b);输出结果:aab6n 3.1 字符输入/输出函数n 3.2 字符串输入/输出函数n 3.3 格式输入/输出函数n 3.4 简单程序设计举例第3章 数据的输入/输出73.2 字符串输入/输出函数字符串输入函数:gets()作用:从输入设备(一般为键盘)读取字符串,直到按

3、回车结束。例如:gets(s);puts(s);字符串输出函数:puts()作用:向标准输出设备(屏幕)写字符串并换行。字符串存储在字符型数组中。如char s5;(第7章)8n 3.1 字符输入/输出函数n 3.2 字符串输入/输出函数n 3.3 格式输入/输出函数n 3.3.1 格式输入函数n 3.3.2 格式输出函数n 3.4 简单程序设计举例第3章 数据的输入/输出93.3.2 格式输出函数1.格式输出函数原型int printf(char*format,argument,)函数功能:按规定格式向输出设备(一般为显示器)输出数据,并返回输出的字符数。这个函数可以输出多字信息。102.格

4、式输出函数的一般形式printf(“格式控制字符串”,输出项表);可以是0个、一个或多个可是常量或变量表达式,用逗号分隔。必须与前面的格式说明一一对应用双引号括起来,控制输出项的格式和输出一些提示信息。1 13.格式输出函数示例程序#include main()int i=97;printf(“i=%d,%cn”,i,i);两个输出项都是变量i,但以不同的格式输出,一个是输出的整型数,一个输出的是字符a。其格式是由%d与%c控制的.输 出 结 果:i=97,aprintf(“i=%d,%cn”,i,i);普通字符,按原样输出转义字符指明特定的操作,如n表示换行格式说明部分由%和格式字符串组成,

5、下面详细讨论。13d以带符号的十进制形式输出整数(正数不输出符号)o以8进制无符号形式输出整数(不输出前导符O)x(X)以16进制无符号形式输出整数(不输出前导符Ox)u以无符号10进制形式输出整数 c以字符形式输出一个字符s输出字符串 f以小数形式输出单、双精度数,隐含输出6位小数 e(E)以标准指数形式输出单、双精度数,小数位数为6位 g(G)选用%f或%e格式中输出宽度较短的一种格式%输出一个字符“%”归纳:printf格式字符(p33)144、输出函数格式说明 格式说明:以“%”开头,以一个格式字符结束,在此之间可以根据需要插入“长度说明”、“宽度说明”、左对齐符号“-”等。格式说明与

6、输出参数表要按顺序一一对应,各输出项的数据类型要与对应的格式字符相符154、输出函数格式说明%d,按整型数据的实际长度输出。%md,按指定宽度m输出整型数据,若数据位数小于m,则数据靠右对齐,左边补空格,否则按实际长度输出。%-md,按指定宽度m输出整型数据,若数据位数小于m,则数据靠左对齐,右边补空格,否则按实际长度输出。例如:int a=12,b=2345;printf(“%d,%3d,%-3d,%3dn”,a,a,a,b);输出结果为:12,12,12,2345()d格式符:用来输出十进制整数。164、输出函数格式说明()o格式符:用来以八进制无符号形式输出整数,即将内存单元中的所有二进

7、制数值(包括符号位)转换成八进制形式输出。174、输出函数格式说明 例如:int a=-1;printf(“%d,%on”,a,a);输出结果为:-1,37777777777对long型数据,可以用%lo形式输出。也可指定长度输出,用%mo、%-mo等形式输出。184、输出函数格式说明()x(X)格式符:用来以十六进制无符号形式输出整数,即将内存单元中的所有二进制数值(包括符号位)转换成十六进制形式输出。用大写X表示输出结果中的a、b、c、d、e、f用大写字母A、B、C、D、E、F输出。194、输出函数格式说明 例如:int a=-1;printf(“%d,%o,%x,%Xn”,a,a,a,a

8、);输出结果为:1,37777777777,ffffffff,FFFFFFFF对long型数据,同样可以用%lx形式输出。也可指定长度输出,用%mx、%-mx等形式输出。204、输出函数格式说明()u格式符:用来以十进制形式输出unsigned型数据,即将内存中的二进制数据(包括符号位)全部转换成十进制形式输出,输出的数值不带符号。一个有符号的(int)整数可以用%u格式输出,反之,一个unsigned型数据也可用%d、%o、%x格式输出。214、输出函数格式说明()c格式符:用来输出一个字符。也有指定宽度输出%mc(%-mc),字符的左边(右边)补空格。一个整数只要其值在0255之间,也可以

9、用字符形式输出,在输出前先转换成相应的ASCII字符;反之,一个字符也可以用整数形式输出。224、输出函数格式说明 例如:char c=a;int a=65;printf(“c=%c,%dna=%3c,%d n”,c,c,a,a);输出结果为:c=a,97a=A,65234、输出函数格式说明()s格式符:用来输出一个字符串。v%s:按实际长度输出;v%ms(或%-ms):输出字符串占m列,若字符串长度大于m,则按实际长度输出,否则若字符串长度小于m,则字符串右(左)对齐,左边(或右边)补空格;v%m.ns(或%-m.ns):输出字符串占m列,但只取字符串左端的n个字符输出,这n个字符的左边(或

10、右边)补空格;若nm,则m自动取n的值,保证n个字符正常输出;若省略m,则m等于n。244、输出函数格式说明 例如:printf(“%s,%6s,%.4s,%-4.2s,%7.2s n”,”CHINA”,”CHINA”,”CHINA”,”CHINA”,”CHINA”);输出结果为:CHINA,CHINA,CHIN,CH,CH254、输出函数格式说明()f格式符:用来以小数形式输出实数(包括单、双精度)。n%f:整数部分全部输出,小数部分输出6位。n%m.nf(或%-m.nf):输出数据占m列(包括整数部分、小数点和小数部分),小数位数为n位。n 如果数值宽度小于m,则数值靠右(左)对齐,左边(

11、或右边)补空格;n 否则,整数部分全部输出,小数部分为n位;n 若省略m,则整数部分全部输出,小数部分为n位。264、输出函数格式说明 例如:main()float f=123.456;printf(%fn%10fn%-10.2fn%.2fn%10.2fn“,f,f,f,f,f);274、输出函数格式说明()e格式符:以指数形式输出实数 n%e:输出数据宽度共占13位(VC6.0中),其中整数部分非零数字占1位,小数点占1位,小数部分占6位,指数部分占5位(e占1位,指数符号占1位,指数占3位)。n%m.ne(-%m.ne):m、n、-字符的含义与前面的f格式中相同,这里的n是指输出的数据的小

12、数部分(又称尾数)的位数。284、输出函数格式说明()e格式符:以指数形式输出实数 main()float a=0.00001;printf(%en%10.3e,a,a);输出结果为:1.000000e-0051.000e-005294、输出函数格式说明()g格式符:用来输出实数,根据数值的大小,自动选取f格式或e格式(选择输出时占宽度较小的一种)输出,且不输出无意义的0。例如:main()float f=123.456;printf(%fn%en%gn,f,f,f);输出结果为:123.4560011.234560e+002123.456305调用输出函数时的注意事项(1)在格式控制字符串中

13、,格式说明与输出项从左到右在类型上必须一一对应匹配。(2)在格式控制字符串中,格式说明与输出项的个数应该相同。(3)如果要输出百分号(%),则在格式控制串中用两个连续的百分号(%)来表示。(4)在调用printf函数时,输出项有自增(自减)运算时,计算输出项的顺序从右至左。31n 3.1 字符输入/输出函数n 3.2 字符串输入/输出函数n 3.3 格式输入/输出函数n 3.3.1 格式输入函数n 3.3.2 格式输出函数n 3.4 简单程序设计举例第3章 数据的输入/输出323.3.1 格式输入函数1.函数原型int scanf(char*format,argument,)作用:从键盘输入任

14、何类型的数据给所指定的单元,并返回输入的数据个数。2 格式输入函数一般形式 scanf(“格式控制字符串”,地址表);n“格式控制字符串”的含义与printf函数相同;n“地址表”是由若干个地址组成的列表,可以是:变量的地址;字符串首地址;指针变量。#include main()int a,b;float c;scanf(“%d%d%f”,&a,&b,&c);printf(“a=%db=%dc=%fn”,a,b,c);格式控制字符串说明了需要输入数据的类型:两个整型数和一个单精度实型数。&a,&b和&c 是变量a,b和c的地址。运行时,344.3 输出结果:a=3b=4c=4.300000 3

15、43.3.1 格式输入函数 3 格式说明 scanf(“a=%d,b=%d”,&a,&b);scanf函数中的格式控制字符串中可以包括:普通字符、转义字符和格式说明。格式说明是以“%”开头,以格式字符结束,中间可以插入长度说明、宽度说明等。353.3.1 格式输入函数(page31)scanf 格式字符d(D)十进制整数o(O)八进制整数x(X)十六进制整数i(I)自动根据数头分辨十、八、十六进制u(U)无符号十进制整数c单个字符s字符串f(e,g,G)实数363.3.1 格式输入函数4、使用scanf 应注意:(1)scanf函数格式控制字符串中的普通字符不是用于输出的,都是要求输入的。如s

16、canf(”x=%d”,&x);”x=”在运行时要求从键盘输入。(2)scanf函数中的参数的第二部分一定是地址列表,不能是表达式,请记得在变量前加上&。如:scanf(”%d%d”,a,b);这在编译时不出现错误,但执行时会出错。373.3.1 格式输入函数(3)在格式控制字符串中,格式说明与输入项从左到右在类型上必须一一对应。若不对应,如:int a,b;scanf(”%d%f”,&a,&b);则在运行时,系统提示错误。38(4)在格式控制字符串中,格式说明与输入项的个数应该相同。若格式说明个数比输入项个数少,多余的输入项则得不到正确数据;若格式说明个数比输入项个数多,则丢弃无效输入。例:

17、scanf(”%d”,&a,&b)(5)执行scanf()输入数值型数据时,在两个数据之间允许以一个或多个空格间隔,也可以用回车键、tab键分隔。但在输入字符型数据时,不能用分隔符,否则分隔符也作为有效字符输入给对应的变量。3.3.1 格式化输入函数39例如:执行语句 scanf(“%d%d%d”,&a,&b,&c);以下输入数据的方法正确吗?:3 5 8 3 5 8 3 5 83.3.1 格式输入函数都是正确的40执行语句 scanf(%d%c%d,&a,&b,&c);输入第二个数据前不能有分隔符,若输入:3 c 2则变量b和c得不到正确数据。若输入:3c2或 3c 2则能得到正确结果。3.

18、3.1 格式输入函数41(6)long型数据一定要用%ld格式输入,double型数据一定要用%lf格式输入,否则运行结果错误。(7)实数输入时不允许规定精度,如%10.4f是不合法的。3.3.1 格式输入函数42(8)可以指定输入数据所占的宽度,系统自动按指定的宽度截取数据。例如:scanf(“%2d%3d%2d”,&a,&b,&c);输入以下数据 121345678变量a、b、c的值分别为:12、134、563.3.1 格式化输入函数43(9)%与格式字符之间有*号时,该数据会被禁止使用。例如:scanf(“%2d%*3d%2d”,&a,&b);输入以下数据:121345678 变量a、b的值分别为:12、56 中间的134三位数字跳过去不使用。3.3.1 格式输入函数44(10)在输入数据时,遇到下列情况则认为该数据输入结束:遇空格,或回车、Tab键。遇指定的宽度结束。遇非法输入。3.3.1 格式输入函数45分析:1.定义字符型变量a;2.输入小写字母存入变量a;3.转换成大写a=a-32;4.输出 a.【例1】从键盘输入一个小写字母,用大写形式输出该字母。补:简单程序设计举例

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁