第6章输入与输出.ppt

上传人:hyn****60 文档编号:70691233 上传时间:2023-01-24 格式:PPT 页数:28 大小:114KB
返回 下载 相关 举报
第6章输入与输出.ppt_第1页
第1页 / 共28页
第6章输入与输出.ppt_第2页
第2页 / 共28页
点击查看更多>>
资源描述

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

1、第第6 6章章 输入与输出输入与输出 数据的输入与输出是一个算法所具有的特点。任何高级数据的输入与输出是一个算法所具有的特点。任何高级语言必须有数据的输入和输出功能,语言必须有数据的输入和输出功能,C语言本身不提供输入语言本身不提供输入和输出语句,输入与输出操作是由函数来实现的。本章将介和输出语句,输入与输出操作是由函数来实现的。本章将介绍绍C语言中的各种语句以及数据输入与输出。本章内容如下:语言中的各种语句以及数据输入与输出。本章内容如下:C语句概述;语句概述;输入与输出函数;输入与输出函数;整型数据的输入与输出;整型数据的输入与输出;浮点型数据的输入与输出。浮点型数据的输入与输出。6.1

2、C6.1 C语句概述语句概述一般的一般的C语言语句包括数据描述和数据操作两部分。数语言语句包括数据描述和数据操作两部分。数据描述由声明部分完成,如变量定义等,没有操作;数据操据描述由声明部分完成,如变量定义等,没有操作;数据操作由语句来实现的,即程序的执行部分,程序的功能也是由作由语句来实现的,即程序的执行部分,程序的功能也是由执行语句实现的。执行语句实现的。6.1.1 6.1.1 流程控制语句流程控制语句C语言提供了多种语句来实现这些流程的结构。流程控语言提供了多种语句来实现这些流程的结构。流程控制语句用于控制程序的流程,用于实现程序的各种结构方式,制语句用于控制程序的流程,用于实现程序的各

3、种结构方式,它们由特定的语句定义符组成。它们由特定的语句定义符组成。6.1.1 6.1.1 流程控制语句流程控制语句1条件判断语句条件判断语句iffelse语句语句switchcase语句语句2循环执行语句循环执行语句for(表达式表达式1;表达式表达式2;表达式表达式3)语句语句while(条件表达式条件表达式)语句语句dowhile(条件表达式条件表达式)语句语句3转向语句转向语句break语句、语句、continue语句、语句、return语句、语句、goto语句。语句。6.1.2 6.1.2 函数调用语句函数调用语句函数调用语句是由函数名、实际参数列表组成,以分号函数调用语句是由函数名

4、、实际参数列表组成,以分号结尾。其一般形式为:结尾。其一般形式为:函数名函数名(实际参数表实际参数表);执行函数语句就是调用函数体并把实际参数赋予函数定执行函数语句就是调用函数体并把实际参数赋予函数定义中的形式参数,然后执行被调函数体中的语句,求取函数义中的形式参数,然后执行被调函数体中的语句,求取函数值。例如:值。例如:printf(“how are you!”);调用调用C语言中标准输出函数,用来输出一个字符串。语言中标准输出函数,用来输出一个字符串。getchar();调用调用C语言系统标准库函数,字符输入函数,用来输入语言系统标准库函数,字符输入函数,用来输入一个字符。一个字符。max

5、(a,b);6.1.3 6.1.3 表达式语句表达式语句表达式后面加上一个分号就构成了一个表达式语句。在表达式后面加上一个分号就构成了一个表达式语句。在前面第前面第5章中我们学习了算术表达式、关系表达式、逻辑表章中我们学习了算术表达式、关系表达式、逻辑表达式、赋值表达式等,任何表达式加上一个分号都可以构成达式、赋值表达式等,任何表达式加上一个分号都可以构成表达式语句,执行表达式语句就是计算表达式的值。表达式语句,执行表达式语句就是计算表达式的值。a=4;/*赋值表达式语句赋值表达式语句*/i+;/*自增运算表达式语句自增运算表达式语句*/a+=b+c;/*复合赋值表达式语句复合赋值表达式语句*

6、/i|j3;/*位运算表达式语句位运算表达式语句*/x+1c,-a-5*b=d+1;/*逗号表达式语句逗号表达式语句*/C语言中的语句大部分都是表达式语句。语言中的语句大部分都是表达式语句。6.1.4 6.1.4 空语句空语句空语句又称空操作语句,只有一个分号,在程序执行过空语句又称空操作语句,只有一个分号,在程序执行过程中不作任何操作。空语句的作用一是在循环语句中使用空程中不作任何操作。空语句的作用一是在循环语句中使用空语句提供一个不执行操作的空循环体;二是为有关语句提供语句提供一个不执行操作的空循环体;二是为有关语句提供标号,用以说明程序执行的位置。标号,用以说明程序执行的位置。while

7、(getchar()!=n);/*空语句空语句*/这里的循环体由空语句构成。该语句的功能是,只要从这里的循环体由空语句构成。该语句的功能是,只要从键盘输入的字符不是回车换行则重新输入。空语句的存在只键盘输入的字符不是回车换行则重新输入。空语句的存在只是语法完整性的需要,其本身并不代表任何动作。是语法完整性的需要,其本身并不代表任何动作。6.1.5 6.1.5 复合语句复合语句把多个语句用括号把多个语句用括号“”括起来组成的一个语句称复括起来组成的一个语句称复合语句。一般语句格式为:合语句。一般语句格式为:语句语句1;语句语句2;语句语句n;6.1.5 6.1.5 复合语句复合语句复合语句从形式

8、上看是多个语句的组合,但在语法意义复合语句从形式上看是多个语句的组合,但在语法意义上它是一个整体,相当于一条语句,所以凡是可以用简单语上它是一个整体,相当于一条语句,所以凡是可以用简单语句的地方都可以用复合语句来实现。在程序设计中复合语句句的地方都可以用复合语句来实现。在程序设计中复合语句被看成是一条语句,而不是多条语句。例如:被看成是一条语句,而不是多条语句。例如:for循环语句的循环体使用复合语句。循环语句的循环体使用复合语句。for(i=1;i=10;i+)z=x+y;t=z/100;printf(%d,t);6.1.5 6.1.5 复合语句复合语句复合语句内的各条语句都必须以分号复合语

9、句内的各条语句都必须以分号“;”结尾结尾,在括在括号号“”外不需加分号。组成复合语句的语句数量不限,一外不需加分号。组成复合语句的语句数量不限,一个语句可以占多行,一行也可以有多个语句。在复合语句中个语句可以占多行,一行也可以有多个语句。在复合语句中不仅有执行语句,还可以说明变量。例如:不仅有执行语句,还可以说明变量。例如:int c;/*定义变量定义变量*/c=getchar();putchar(c);6.2 6.2 输入与输出函数输入与输出函数C语言程序是由函数构成的,输入与输出操作都是由函语言程序是由函数构成的,输入与输出操作都是由函数来实现的。数来实现的。C语言中没有提供输入的语句,数

10、据的输入与语言中没有提供输入的语句,数据的输入与输出是利用系统函数来完成的。在输出是利用系统函数来完成的。在C语言标准函数库中有一语言标准函数库中有一些输入输出函数,可以程序中直接调用,其中包括:些输入输出函数,可以程序中直接调用,其中包括:scanf()(格式输入函数)、(格式输入函数)、printf()(格式输出函数)、(格式输出函数)、getchar()(字符输入函数)、(字符输入函数)、putchar()(字符输出函数)、(字符输出函数)、gets()(字符串输入函数)、(字符串输入函数)、puts()(字符串输出函数)。(字符串输出函数)。#include或或#include“std

11、io.h”6.2.1 6.2.1 格式输出函数格式输出函数printfprintf()()函数是格式控制输出函数。函数是格式控制输出函数。printfprintf()()函数使用的函数使用的一般格式为:一般格式为:printfprintf(格式控制字符格式控制字符,输出项列表输出项列表););例如:例如:printf(aprintf(a=%=%d,bd,b=%=%f,cf,c=%=%cn,a,b,ccn,a,b,c););1 1printfprintf()()函数的格式控制字符函数的格式控制字符“格式控制字符格式控制字符”是用双引号括起的一串字符,包括格式说明、普是用双引号括起的一串字符,包括

12、格式说明、普通字符和转义字符通字符和转义字符3种。格式控制字符的功能是指定输出数据的格式和类种。格式控制字符的功能是指定输出数据的格式和类型。型。格式说明符由格式说明符由%和格式字符组成。和格式字符组成。(1)格式字符格式字符d格式字符,输出十制整数格式字符,输出十制整数 x(或(或X)格式字符,输出十六进制整数。)格式字符,输出十六进制整数。o(或(或O)格式字符,输出八进制整数。)格式字符,输出八进制整数。U格式字符,输出不带符号的十进制整数。格式字符,输出不带符号的十进制整数。c格式字符,输出单个字符。格式字符,输出单个字符。s格式字符,输出字符串。格式字符,输出字符串。f格式字符,输出

13、十进制单、双精度数。格式字符,输出十进制单、双精度数。e(或(或E)格式字符,输出指数形式的实型数。)格式字符,输出指数形式的实型数。g(或(或G)格式字符,输出指数形式的实型数不带无效)格式字符,输出指数形式的实型数不带无效0的浮点数。的浮点数。%格式字符,输出一个百分号。格式字符,输出一个百分号。(2)转义字符转义字符(3)普通字符普通字符 例如:例如:int x=3,y=6,z=0;printf(x=%d,y=%d,z=%d,x,y,z);输出的结果为:输出的结果为:x=3,y=6,z=0输出项列表有以下几点说明:输出项列表有以下几点说明:输出列表:输出列表:(1)输出项列表的数据可以有

14、一个或多个,也可以没有。)输出项列表的数据可以有一个或多个,也可以没有。printf()函数允许没有输出项列表部分,这表示输出一个字符串。函数允许没有输出项列表部分,这表示输出一个字符串。(2)输出项列表可以是多个输出项,各个输出项之间用逗号输出项列表可以是多个输出项,各个输出项之间用逗号“,”分隔。分隔。(3)printf()函数中格式控制部分的函数中格式控制部分的“格式说明符格式说明符”和和“输出项列输出项列表表”在个数和和类型上必须一一对应。在个数和和类型上必须一一对应。(4)输出项列表可以由变量、常量或表达式组成。如果是常量,输出项列表可以由变量、常量或表达式组成。如果是常量,直接常量

15、代替直接常量代替“格式控制字符格式控制字符”里面的里面的“格式字符格式字符”;如果是变量,则用;如果是变量,则用变量里面存储的值来取代变量里面存储的值来取代“格式控制字符格式控制字符”里面的里面的“格式字符格式字符”;如果是;如果是表达式,则先对表达式进行运算,然后用它的运算结果取代表达式,则先对表达式进行运算,然后用它的运算结果取代“格式控制字格式控制字符符”里面的里面的“格式字符格式字符”。6.2.2 6.2.2 格式输入函数格式输入函数scanf()函数是格式控制输入函数,函数是格式控制输入函数,scanf()函数使用函数使用的一般格式为:的一般格式为:scanf(格式控制字符格式控制字

16、符,输入项列表输入项列表);scanf()函数有函数有“格式控制字符格式控制字符”,“输入项列表输入项列表”两两个参数,个参数,scanf()函数的功能是按照函数的功能是按照“格式控制字符格式控制字符”中规中规定的输入格式,从键盘上读取若干个数据,按定的输入格式,从键盘上读取若干个数据,按“输入项列表输入项列表”中变量从左向右的顺序,依次存入对应的变量中。中变量从左向右的顺序,依次存入对应的变量中。scanf()函数的格式控制字符基本与函数的格式控制字符基本与printf()函数的格函数的格式控制相似,都是以式控制相似,都是以%开始,以一个格式字符结束,格式开始,以一个格式字符结束,格式控制的

17、功能是规定输入数据的格式。控制的功能是规定输入数据的格式。6.2.2 6.2.2 格式输入函数格式输入函数关于关于scanf()函数,作如下几点说明:函数,作如下几点说明:(1)在)在scanf()函数中一个格式说明要求输入一个数函数中一个格式说明要求输入一个数据,就必须在地址列表中有一个变量的地址与之对应,并且据,就必须在地址列表中有一个变量的地址与之对应,并且类型要一致。类型要一致。scanf(%d%f,&a,&b);(2)scanf()函数的输入项必须是一个函数的输入项必须是一个“地址地址”,它,它可以是一个变量的地址,也可以是数组的首地址,但不能是可以是一个变量的地址,也可以是数组的首

18、地址,但不能是变量名。变量名。&a、&b分别表示变量分别表示变量a、b存储单元的地址。存储单元的地址。6.2.2 6.2.2 格式输入函数格式输入函数(3)scanf()函数格式说明符与函数格式说明符与printf()函数相似,函数相似,格式说明符与输入项列表一一对应。常用到的格式说明符有格式说明符与输入项列表一一对应。常用到的格式说明符有以下几种:以下几种:D:输入有符号的十进制整数;:输入有符号的十进制整数;o:输入无符号的八进制整数;:输入无符号的八进制整数;u:输入无符号的十进制整数;:输入无符号的十进制整数;x或或X:输入无符号的十六进制整数;:输入无符号的十六进制整数;c:输入单个

19、字符;:输入单个字符;s:输入字符串;:输入字符串;f:输入单精度或双精度数。:输入单精度或双精度数。6.2.2 6.2.2 格式输入函数格式输入函数(4)格式说明符中有普通字符或转义字符时,数据输)格式说明符中有普通字符或转义字符时,数据输入时,必须按它们的原样输入。入时,必须按它们的原样输入。(5)“格式控制字符格式控制字符”中如果没有任何普通字符,输中如果没有任何普通字符,输入数据时,各个数据之间可以用空格、跳格键入数据时,各个数据之间可以用空格、跳格键(Tab)或回车或回车键作为间隔符。键作为间隔符。(6)可以指定输入数据所占的列数,系统自动按指定)可以指定输入数据所占的列数,系统自动

20、按指定的列数截取所需的数据。的列数截取所需的数据。【例例6-5】指定输入数据列数。指定输入数据列数。(7)输入数据时不能规定精度。)输入数据时不能规定精度。6.2.2 6.2.2 格式输入函数格式输入函数(8 8)scanfscanf()()函数在进行输入的时候是没有提示的。函数在进行输入的时候是没有提示的。【例例6-76-7】(9 9)如果输入的数据多于)如果输入的数据多于scanfscanf()()函数所要求的个数,余下的函数所要求的个数,余下的数据可以为下一个数据可以为下一个scanfscanf()()函数接着使用。函数接着使用。【例例6-86-8】(1010)在)在scanfscanf

21、()()函数中某格式字符读入数据时,遇以下情况时函数中某格式字符读入数据时,遇以下情况时认为该数据结束:认为该数据结束:*遇遇“数据分隔符数据分隔符”如,空格、回车、如,空格、回车、tabtab或指定字符。或指定字符。*遇宽度结束,如遇宽度结束,如“%3d”%3d”,只取,只取3 3列后读取结束。列后读取结束。*遇非法输入。遇非法输入。【例例6-96-9】6.2.2 6.2.2 格式输入函数格式输入函数(1111)需要注意的是,在使用格式说明符)需要注意的是,在使用格式说明符%c%c输入一个字输入一个字符时,凡是从键盘输入的字符,包括空格、回车等都被作为符时,凡是从键盘输入的字符,包括空格、回

22、车等都被作为有效字符接收。有效字符接收。【例例6-106-10】(1212)如果在)如果在%后面有个后面有个“*”“*”附加说明符,表示跳过附加说明符,表示跳过它指定的列数。它指定的列数。【例例6-116-11】6.2.3 6.2.3 字符输入与字符输出函数字符输入与字符输出函数当用当用scanf()函数和函数和prinft()函数对字符型数据进行输函数对字符型数据进行输入与输出时,格式说明符要使用入与输出时,格式说明符要使用“%c”,在,在C语言中对字符语言中对字符型数据还专门提供了字符输入函数(型数据还专门提供了字符输入函数(getchar())与字符输)与字符输出函数(出函数(putch

23、ar())。)。1getchar()函数函数getchar()函数是字符输入函数,它的功能是从键盘上函数是字符输入函数,它的功能是从键盘上输入一个字符。一般形式为:输入一个字符。一般形式为:getchar()2putchar()函数函数putchar()函数为字符输出函数,它的作用是在显示器函数为字符输出函数,它的作用是在显示器上输出一个字符。其一般形式为:上输出一个字符。其一般形式为:putchar(参数参数);6.3 6.3 整型数据的输入与输出整型数据的输入与输出整型数据的输入与输出通常使用整型数据的输入与输出通常使用printf()、scanf()函函数,函数参数中格式控制符使用整型数

24、据的的格式说明符,数,函数参数中格式控制符使用整型数据的的格式说明符,输入或输出列表使用整型常量、整型变量或整型表达式。输入或输出列表使用整型常量、整型变量或整型表达式。6.3.1 6.3.1 整型数据的输出整型数据的输出整型数据格式说明符有以下几种:整型数据格式说明符有以下几种:d:有符号的十进制整数;:有符号的十进制整数;o:无符号的八进制整数;:无符号的八进制整数;u:无符号的十进制整数;:无符号的十进制整数;x或或X:无符号的十六进制整数。:无符号的十六进制整数。6.3.1 6.3.1 整型数据的输出整型数据的输出(1)d格式符,表示十进制整数格式符,表示十进制整数(有符号数有符号数)

25、用法:用法:%d、%ld、%md、%lmd(2)o格式符,表示八进制无符号整数格式符,表示八进制无符号整数(o必须小写必须小写),没,没有表示八进制的前导有表示八进制的前导0。用法:用法:%o、%lo、%mo、%lmo说明:说明:%lo表示八进制长整型,表示八进制长整型,m指定输出字符的宽度。指定输出字符的宽度。(3)X|x格式符,表示十六进制整数,没有表示十六进制格式符,表示十六进制整数,没有表示十六进制的前导的前导0 x。用法:用法:%x、%X、%lx(4)u格式符,表示无符号的十进制整数格式符,表示无符号的十进制整数用法:用法:%u6.3.2 6.3.2 整型数据的输入整型数据的输入整型

26、数据的输入使用整型数据的输入使用scanf()函数,函数参数使用整型函数,函数参数使用整型数据格式说明符。如在数据格式说明符。如在d、o、x等。但通常情况下,整型数等。但通常情况下,整型数据格式说明符一般使用据格式说明符一般使用d,便于从键盘上面输入。,便于从键盘上面输入。“%d%d%d”表示按十进制整数格式输入数据,两个数据表示按十进制整数格式输入数据,两个数据之间可以用一个或多个空格、回车键之间可以用一个或多个空格、回车键Enter或跳格键或跳格键Tab分隔分隔都是合法的,但不能用都是合法的,但不能用”;”,或其它不符合其格式的间隔,或其它不符合其格式的间隔符。只有当格式为符。只有当格式为

27、“%d,%d,%d”时,才能用时,才能用“,”作为间隔,作为间隔,即要求输入数据的格式必须与即要求输入数据的格式必须与“格式控制格式控制”的格式完全一致。的格式完全一致。6.4 6.4 浮点型数据的输入与输出浮点型数据的输入与输出浮点型数据的输入与输出同样用格式输入输出函数浮点型数据的输入与输出同样用格式输入输出函数scanf()、printf()。浮点型数据的输出格式控符有以下几种:浮点型数据的输出格式控符有以下几种:(1)f格式符,表示实型(单精度、双精度),即以小格式符,表示实型(单精度、双精度),即以小数形式输出。数形式输出。用法:用法:%f、%mf、%.nf、%m.nf6.4 6.4 浮点型数据的输入与输出浮点型数据的输入与输出(2)e(或(或E)格式符,使用指数格式表示实型(单精)格式符,使用指数格式表示实型(单精度、双精度)数据。度、双精度)数据。用法:用法:%e、%me、%m.ne、%.ne(3)g格式符,用来输出实型(单精度、双精度),根格式符,用来输出实型(单精度、双精度),根据数值的大小自动选择占用宽度最小的一种,不输出无意的据数值的大小自动选择占用宽度最小的一种,不输出无意的零。零。用法:用法:%g

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

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

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

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