




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第七讲 基本控制结构与导出数据类型 7.1 控制语句、复合语句 7.2 分支语句 7.3 循环语句 7.4 转向语句 7.5 导出数据类型和数组 7.6 结构类型 7.1.1 控制语句基本控制结构 控制语句是用来改变或打破程序中按控制语句是用来改变或打破程序中按 语句的先后次序顺序执行规律的。语句的先后次序顺序执行规律的。 控制语句分为条件控制语句和无条件控制语句分为条件控制语句和无条件 控制(转移)语句,条件控制语句又控制(转移)语句,条件控制语句又 可分为分支语句和循环语句。可分为分支语句和循环语句。(P87)(P87) 与控制语句配合使用的还有复合语句与控制语句配合使用的还有复合语句 和空语句。(和空语句。(P87-88P87-88) 7.1 控制语句、 复合语句 7.2 分支语句 7.3 循环语句 7.4 转向语句 7.5 导出数据类 型和数组 7.6 结构类型 C+语言提供9种控制语句 控制语句 条件控制语句 无条件控制语句 分支语句 循环语句 for语句 switch语句 if语句 while语句 do-while语句 break语句 continue语句 return语句 goto语句 7.1 控制语句、 复合语句 7.2 分支语句 7.3 循环语句 7.4 转向语句 7.5 导出数据类 型和数组 7.6 结构类型 7.1.2 复合语句和空语句 复合语句又称为块语句复合语句又称为块语句(block)(block)或者程或者程 序块。虽然包含多个语句,但在逻辑序块。虽然包含多个语句,但在逻辑 上,复合语句作为一个语句出现。上,复合语句作为一个语句出现。 复合语句的格式为:复合语句的格式为: 7.1 控制语句、 复合语句 7.2 分支语句 7.3 循环语句 7.4 转向语句 7.5 导出数据类 型和数组 7.6 结构类型 语句语句S S i i 可能是说明语句、表达式语句可能是说明语句、表达式语句 、控制语句、也可能是复合语句。最、控制语句、也可能是复合语句。最 后一种情况也称为后一种情况也称为嵌套嵌套。 复合语句常出现的位置复合语句常出现的位置 (1)(1)作为函数体。作为函数体。 (2)(2)作为循环体。作为循环体。 (3)(3)作为作为if if语句的分支。语句的分支。 7.1 控制语句、 复合语句 7.2 分支语句 7.3 循环语句 7.4 转向语句 7.5 导出数据类 型和数组 7.6 结构类型 空语句就是什么都不做的语句。空语句就是什么都不做的语句。 格式为:格式为: ; ; 作用是提高程序的灵活性。作用是提高程序的灵活性。 7.1 控制语句、 复合语句 7.2 分支语句 7.3 循环语句 7.4 转向语句 7.5 导出数据类 型和数组 7.6 结构类型 7.2.1 if语句 if语句又称条件语句或者如果语句。 两种形式: if () 例:if (xy) cout) else 例:if (xy) cout) case : case : default: 7.1 控制语句、 复合语句 7.2 分支语句 7.3 循环语句 7.4 转向语句 7.5 导出数据类 型和数组 7.6 结构类型 关键字switch: 指明该语句为开关语 句。 表达式E: 表达式可以是int型、cha r 型及其派生类型和枚举类型。 关键字case:引出分支。 情况常量Ci: E的第i个可能值。当E 的值为Ci时,控制跳过S1Si-1,直接 执行Si。 关键字default:当E的值不等于上面 列出的任意情况常量时,直接执行 Sn+1。 7.1 控制语句、 复合语句 7.2 分支语句 7.3 循环语句 7.4 转向语句 7.5 导出数据类 型和数组 7.6 结构类型 C1 Cn E S1 Sn Sn+1 switch 语句 的流 程图 7.1 控制语句、 复合语句 7.2 分支语句 7.3 循环语句 7.4 转向语句 7.5 导出数据类 型和数组 7.6 结构类型 三点说明: (1) E和Ci的类型应相同,且Ci不能相 同。当E的Ci对应于同一S时,可将其 列在一起。(P91) (2) 按前面给出的基本格式,当E的 值为Ci时,控制转到Si。执行完Si之 后,不是跳出整个开关语句,而是 继续执行Si+1Sn+1,然后再跳出开 关语句执行后续程序。 7.1 控制语句、 复合语句 7.2 分支语句 7.3 循环语句 7.4 转向语句 7.5 导出数据类 型和数组 7.6 结构类型 (3) 若想让程序在执行Si之后,直接 跳出整个开关语句,则在每个Si的最 后增加一个break语句。 E S1S2Sn 7.1 控制语句、 复合语句 7.2 分支语句 7.3 循环语句 7.4 转向语句 7.5 导出数据类 型和数组 7.6 结构类型 例2:输入整数,06分别映射为星期日到 星期六。超出7的整数则显示“无法显示 ”的提示。 #include void main(void) int day; cin day; switch (day) case 0:cout ;) 7.1 控制语句、 复合语句 7.2 分支语句 7.3 循环语句 7.4 转向语句 7.5 导出数据类 型和数组 7.6 结构类型 关键字for: 指明该语句为for语句。 表达式E1: 初值表达式,用于为循 环变量赋初值。 表达式E2:条件表达式,用于判定循 环是否继续。 表达式E3: 增量表达式,用于循环 变量的增(减)值。 语句S:被循环重复执行的程序段, 多数为复合语句。又被称为循环体。 7.1 控制语句、 复合语句 7.2 分支语句 7.3 循环语句 7.4 转向语句 7.5 导出数据类 型和数组 7.6 结构类型 例3:求整数1到10的和。 #include void main( ) int sum=0; for(i=1;i) 7.1 控制语句、 复合语句 7.2 分支语句 7.3 循环语句 7.4 转向语句 7.5 导出数据类 型和数组 7.6 结构类型 关键字while: 指明该语句为while语 句。 表达式E:先判定E的值,再决定是否 继续循环。E取0值(假)时跳出循环; 非0值(真)时执行循环体。 语句S:循环体,其中必须含有改变 条件表达式值的语句,否则将成为死 循环。 7.1 控制语句、 复合语句 7.2 分支语句 7.3 循环语句 7.4 转向语句 7.5 导出数据类 型和数组 7.6 结构类型 7.3.3 do-while语句 do-while语句类似于while语句,只 是将循环的判定移至循环体之外。 格式: do while (); 例4: int s=0, i=1; do s+=i+; while (i void main( ) int i, sum=0; cini; while(i void main( ) int i, sum=0; cini; do sum+=i; i+; while(i= ; 类型名: 任何一种已知类型数据。 数组名: 标识符,有两个附加作用 。 (1) 用于表示数组元素的下标变量。 (2) 它还是指向数组首元的指针。 元素数: 数组元素个数或数组尺寸 。 初值表: 由花括号“”括起来的初始 化常量,可缺省。 7.1 控制语句、 复合语句 7.2 分支语句 7.3 循环语句 7.4 转向语句 7.5 导出数据类 型和数组 7.6 结构类型 7.1 控制语句、 复合语句 7.2 分支语句 7.3 循环语句 7.4 转向语句 7.5 导出数据类 型和数组 7.6 结构类型 数组操作下标变量 C+语言通过对数组元素(即下标变 量)实现对数组的操作。 下标变量的格式: 下标:整数或者整型表达式,其取 值范围为0n-1。 7.1 控制语句、 复合语句 7.2 分支语句 7.3 循环语句 7.4 转向语句 7.5 导出数据类 型和数组 7.6 结构类型 对下标变量的操作: 赋值 (1)初始化 (2)赋值语句 (3)输入语句 一般运算 和同类型变量一样参与所允许运 算。 7.1 控制语句、 复合语句 7.2 分支语句 7.3 循环语句 7.4 转向语句 7.5 导出数据类 型和数组 7.6 结构类型 7.5.3 二维数组 二维数据是由mxn个同类型数据构成 的m行n列的矩阵。 二维数组声明格式: ; 7.1 控制语句、 复合语句 7.2 分支语句 7.3 循环语句 7.4 转向语句 7.5 导出数据类 型和数组 7.6 结构类型 二维数组的操作 也通过对下标变量实现对二维数 组的操作。 (1) 下标表达式的取值范围: char Amn; /*下标变量Aij中i值应在0m-1 之间;j值应在0n-1之间*/ (2) 只有一个下标时,Ai表示一个 一维数组,其元素个数为n。 7.1 控制语句、 复合语句 7.2 分支语句 7.3 循环语句 7.4 转向语句 7.5 导出数据类 型和数组 7.6 结构类型 7.6.1 结构类型与结构变量说明 结构(struct)类型将若干不同类型的 数据放在一起。 结构类型说明的格式: struct 成员表; 类型名:标识符。 成员表:; ; 7.1 控制语句、 复合语句 7.2 分支语句 7.3 循环语句 7.4 转向语句 7.5 导出数据类 型和数组 7.6 结构类型 C+语言中变量说明格式: struct 变量名表; 例5: enum sexType male, female; struct Employee char name20; sexType sex; float salary; char phone12; gy1,gy2; /结构类型Emplyee的定义 struct Emplyee gy3,gy4; 7.1 控制语句、 复合语句 7.2 分支语句 7.3 循环语句 7.4 转向语句 7.5 导出数据类 型和数组 7.6 结构类型 7.6.2 结构变量的引用和赋值 一个结构变量由若干分量组成,对结 构分量的存取由圆点运算符“.”实现 。 例6: gy3.sex=male; cingy3.salary; cingy3.phone; C+语言还允许直接对结构变量赋值 。还允许结构变量之间的相互赋值。 7.1 控制语句、 复合语句 7.2 分支语句 7.3 循环语句 7.4 转向语句 7.5 导出数据类 型和数组 7.6 结构类型 7.6.3 结构数组 结构类型的数据也可以组成数组,称 为结构数组。实用性强。 例7: enum sexType male, female; struct Employee char name20; sexType sex; float salary; char phone12; ; Employee efile100; /*efile每个分量 都是一个雇员 的档案数据*/。 7.1 控制语句、 复合语句 7.2 分支语句 7.3 循环语句 7.4 转向语句 7.5 导出数据类 型和数组 7.6 结构类型 自习C+程序实例 (1)统计学生成绩 P108 (2)四叶玫瑰线图形 P114 作 业 思考题第5、9。(书面) 练习题第15、19、34。 (上机) 5E2A+x(u$rZoWkThPeMbJ7G4D1z-w&t!qYmVjSgOdLaI6F3B0y)v%s#pXlUiQfNcK8H5E2A+x*u$rZnWkThPeMaJ7G4C1z-w&t!pYmVjRgOdL9I6E3B0y(v%s#oXlTiQfNbK8H5D2A-x*u$qZnWkShPeMaJ7F4C1z)w&t!pYmUjRgOcL9I6E3B+y(v%r#oXlTiQeNbK8G5D2A-x*t$qZnVkShPdMaI7F4C0z)w&s!pXmUjRfOcL9H6E3B+y(u%r#oWlTiQeNbJ8G5D1A-x*t$qYnVkSgPdMaI7F3C0z)v&s!pXmUiRfOcK9H6E2B+x(u%rZoWlThQeMbJ8G4D1A-w*t!qYnVjSgPdLaI7F3C0y)v&s#pXmUiRfNcK9H5E2B+x(u$rZoWkThQeMbJ7G4D1z- w*t!qYmVjSgOdLaI6F3B0y)v%s#pXlUiQfNcK8H5E2A+x(u$rZnWkThPeMbJ7G4C1z-w&t!qYmVjRgOdL9I6F3B0y(v%s#oXlUiQfNbK8H5D2A+x*u$qZnWkShPeMaJ7F4C1z)w&t!pYmVjRgOcL9I6E3B0y(v%r#oXlTiQfNbK8G5D2A-x*u$qZnVkShPdMaJ7F4C0z)w&s!pYmUjRfOcL9H6E3B+y(u%r#oWlTiQeNbJ8G5D1A-x*t$qZnVkSgPdMaI7F4C0z)v&s!pXmUjRfOcK9H6E2B+y(u%rZoWlThQeNbJ8G4D1A-w*t$qYnVjSgPdLaI7F3C0y)v&s#pXmUiRfO8G5D1A-x*t$qZnVkSgPdMaI7F4C0z)v&s!pXmUjRfOcK9H6E2B+y(u%rZoWlThQeNbJ8G4D1A- w*t$qYnVjSgPdLaI7F3C0z)v&s#pXmUiRfOcK9H5E2B+x(u%rZoWkThQeMbJ8G4D1z-w*t!qYnVjSgOdLaI6F3C0y)v%s#pXlUiRfNcK8H5E2A+x(u$rZoWkThPeMbJ7G4D1z-w&t!qYmVjSgOdL9I6F3B0y)v%s#oXlUiQfNcK8H5D2A+x*u$rZnWkShPeMaJ7G4C1z)w&t!pYmVjRgOdL9I6E3B0y(v%s#oXlTiQfNbK8H5D2A-x*u$qZnWkShPdMaJ7F4C1z)w&s!pYmUjRgOcL9H6E3B+y(v%r#oWlTiQeNbK8G5D1A-x*t$qZnVkShPdMaI7F4C0z)w&s!pXmUjRfOcL9H6E2B+y(u%r#oWlThQeNbJ8G5D1A- w*t$qYnVkSgPdLaI7F3C0z)v&s#pXmUiRfOcK9H6E2B+x(u%rZoWlThQeMbJ8G4D1A-w*t!qYnVjSgPdLaI6F3C0y)v&s#pXlUiRfNcK9H5E2A+x(u$rZoWkThPeMbJ7G4D1z-w*t!qYmVjSgOdLaI6F3B0y)v%s#pXlUiQfNcK8H5E2A+x*u$rZnWkThPeMaJ7G4C1z-w&t!pYmVjRgOdL9I6E3B0y(v%s#oXlTiQfNbK8H5D2A+x*u$qZnWkShPeMaJ7F4C1z)w&t!pYmUjRgOcL9I6E3B+y(v%r#oXlTiQeNbK8G5D2A-x*t$qZnVkShPdMaI7F0y(v%s#oXlUiQfNbK8H5D2A+x*u$qZnWkShPeMaJ7F4C1z)w&t!pYmUjRgOcL9I6E3B+y(v%r#oXlTiQeNbK8G5D2A- x*t$qZnVkShPdMaJ7F4C0z)w&s!pYmUjRfOcL9H6E3B+y(u%r#oWlTiQeNbJ8G5D1A-x*t$qYnVkSgPdMaI7F3C0z)v&s!pXmUiRfOcK9H6E2B+y(u%rZoWlThQeNbJ8G4D1A-w*t$qYnVjSgPdLaI7F3C0y)v&s#pXmUiRfNcK9H5E2B+x(u$rZoWkThQeMbJ7G4D1z-w*t!qYmVjSgOdLaI6F3C0y)v%s#pXlUiRfNcK8H5E2A+x(u$rZnWkThPeMbJ7G4C1z-w&t!qYmVjRgOdL9I6F3B0y(v%s#oXlUiQfNbK8H5D2A+x*u$rZnWkShPeMaJ7G4C1z)w&t!pYmVjRgOcL9I6E3B0y(v%r#oXlTiQfNbK8G5D2A- x*u$qZnVkShPdMaJ7F4C0z)w&s!pYmUjRgOcL9H6E3B+y(v%r#oWlTiQeNbK8G5D1A-x*t$qZnVkSgPdMaI7F4C0z)v&s!pXmUjRfOcK9H6E2B+y(u%rZoWlThQeNbJ8G4D1A-w*t$qYnVkSgPdLaI7F3C0z)v&s#pXmUiRfOcK9H5E2B+x(u%rZoWkThQeMbJ8G4D1z-w*t!qYnVjSgOdLaI6F3C0y)v%s#pXlUiRfNcK9H5E2A+x(u$rZoWkThPeMbJ7G4D1z-w&t!qYmVjSgOdL9I6F3B0y)v%s#oXlUiQfNcK8H5D2A+x*u$rZnWkShPeMaJ7G4C1z-w&t!pYmVjRgOdL9I6E3B0y(v%s#oXlTiQfNbK8H5D2A- x*u$qZnWOdL9I6F3B0y)v%s#oXlUiQfNcK8H5D2A+x*u$rZnWkThPeMaJ7G4C1z-w&t!pYmVjRgOdL9I6E3B0y(v%s#oXlTiQfNbK8H5D2A-x*u$qZnWkShPdMaJ7F4C1z)w&s!pYmUjRgOcL9I6E3B+y(v%r#oXlTiQeNbK8G5D2A-x*t$qZnVkShPdMaI7F4C0z)w&s!pXmUjRfOcL9H6E2B+y(u%r#oWlThQeNbJ8G5D1A-w*t$qYnVkSgPdMaI7F3C0z)v&s!pXmUiRfOcK9H6E2B+x(u%rZoWlThQeMbJ8G4D1A&s!pXmUjRfOcL9H6E2B+y(u%r#oWlTiQeNbJ8G5D1A-x*t$qYnVkSgPdMaI7F3C0z)v&s!pXmUiRfOcK9H6E2B+x(u%rZoWlThQeMbJ8G4D1A- w*t!qYnVjSgPdLaI6F3C0y)v&s#pXmUiRfNcK9H5E2B+x(u$rZoWkThQeMbJ7G4D1z-w*t!qYmVjSgOdLaI6F3B0y)v%s#pXlUiQfNcK8H5E2A+x*u$rZnWkThPeMbJ7G4C1z-w&t!qYmVjRgOdL9I6F3B0y(v%s#oXlUiQfNbK8H5D2A+x*u$qZnWkShPeMaJ7F4C1z)w&t!pYmUjRgOcL9IA+x(u$rZnWkThPeMbJ7G4C1z-w&t!qYmVjRgOdL9I6F3B0y(v%s#oXlUiQfNbK8H5D2A+x*u$qZnWkShPeMaJ7F4C1z)w&t!pYmVjRgOcL9I6E3B0y(v%r#oXlTiQfNbK8G5D2A-x*u$qZnVkShPdMaJ7F4C0z)w&s!pYmUjRfOcL9H6E3B+y(u%r#oWlTiQeNbK8G5D1A- x*t$qZnVkSgPdMaI7F4C0z)v&s!pXmUjRfOcK9H6E2B+y(u%rZoWlThQeNbJ8G4D1A-w*t$qYnVjSgPdLaI7F3C0y)v&s#pXmUiRfOcK9D1A-x*t$qZnVkSgPdMaI7F4C0z)v&s!pXmUjRfOcK9H6E2B+y(u%rZoWlThQeNbJ8G4D1A-w*t$qYnVkSgPdLaI7F3C0z)v&s#pXmUiRfOcK9H5E2B+x(u%rZoWkThQeMbJ8G4D1z-w*t!qYnVjSgOdLaI6F3C0y)v%s#pXlUiRfNcK8H5E2A+x(u$rZoWkThPeMbJ7G4D1z-w&t!qYmVjSgOdL9I6F3B0y)v%s#oXlUiQfNcK8H5D2A+x*u$rZnWkShPI6F3C0y)v&s#pXlUiRfNcK9H5E2A+x(u$rZoWkThPeMbJ7G4D1z- w&t!qYmVjSgOdL9I6F3B0y)v%s#oXlUiQfNcK8H5D2A+x*u$rZnWkThPeMaJ7G4C1z-w&t!pYmVjRgOdL9I6E3B0y(v%s#oXlTiQfNbK8H5D2A-x*u$qZnWkShPdMaJ7F4C1z)w&s!pYmUjRgOcL9H6E3B+y(v%r#oXlTiQeNbK8G5D2A-x*t$qZnVkShPdMaI7F4C0z)w&s!pXmUjRfOcL9H6E2B+y(u%r#oWlThQeNbJ8G5D1A-w*t$qYnVkSgPdMaI7F3C0z)v&s!lTiQeNbK8G5D2A-x*t$qZnVkShPdMaI7F4C0z)w&s!pXmUjRfOcL9H6E2B+y(u%r#oWlThQeNbJ8G5D1A-x*t$qYnVkSgPdMaI7F3C0z)v&s!pXmUiRfOcK9H6E2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论