第5章中职类的C语言课件.ppt_第1页
第5章中职类的C语言课件.ppt_第2页
第5章中职类的C语言课件.ppt_第3页
第5章中职类的C语言课件.ppt_第4页
第5章中职类的C语言课件.ppt_第5页
免费预览已结束,剩余28页可下载查看

下载本文档

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

文档简介

第5章数据类型 运算符与表达式 循环结构用于根据给定的条件是否成立反复执行某一程序段 是构成C程序的重要结构之一 应用极为普遍 循环结构的设计在C程序设计中既是重点又是难点 必须花较多的时间和精力全面掌握 学习目标 掌握C语言中while循环的用法 掌握C语言中do while循环的用法 掌握C语言中for循环的用法 能对for语句和while循环进行正确的转换 掌握并能熟练运用循环的嵌套设计 5 1概述 在日常生活中经常会重复性地做某一件事情 例如 邮递员每天送信 既要重复同样的路程 又要不断地判断每一户人家是否有信件 若有则将信件送与该户人家 若没有则继续判断下一户人家是否有信 在C语言中 用循环控制语句解决这类问题 程序不断地进行条件判断 若条件满足则执行相关语句 在C语言中 可以使用3种方式实现循环控制 while循环 do while循环 for循环 下面将一一介绍这3种循环结构的设计方法 5 2while和do while循环 5 2 1while循环5 2 2do while循环 5 2 1while循环 while循环是一种最简单的循环形式 while后面的表达式为真时即执行循环 1 while循环的格式为while 表达式 语句 组 其中的语句 组 通常叫做循环体 是循环结构中反复执行的语句 2 while循环用来实现 当型 循环控制 程序执行时 先对表达式的值进行判断 当表达式的值为 真 时 就执行while循环中的语句 组 然后返回继续进行循环条件的判断 当表达式的值为 假 时 则不再执行while循环中的循环体 而是继续执行后续语句 3 对于while循环的学习 应注意以下几点 如果循环体包含1个以上的语句 即复合语句时 应该用大括号括起来 否则while循环的循环体只有1个语句 将会出现算法上的错误 在循环体内必须有循环趋于结束的语句 否则将导致死循环 在循环开始前 当循环条件不满足时 while循环中的循环体将1次都不执行 5 2 2do while循环 do while循环与while循环用法相似 特点是先执行循环 再判断条件 图5 2do while循环的流程图 1 do while循环的格式为do循环体语句while 表达式 程序运行时 首先无条件地执行1次循环体语句 然后再进行表达式的判断 当表达式的值为 真 时 继续执行循环体 当表达式为 假 时 结束对循环体的执行 执行后续语句 3 在使用do while循环时应注意以下几个要点 关键字 do 后无任何符号 关键字 while 后的表达式要使用小括号括起来 并且括号外一定要添加分号 否则将出现语法错误 循环体中如果包含多条语句 同样应该使用大括号括起来作为一条复合语句 否则将出现算法上的错误 在循环体内也必须有使循环趋于结束的语句 5 3for循环 在C语言中 for循环使用最为灵活 也最为普遍 它不仅可以用于循环次数已经确定的场合 而且可以用于循环次数不确定而只给出循环结束条件的场合 1 for循环的基本格式为for 表达式1 表达式2 表达式3 语句 3 for循环的执行过程如下 先求解 表达式1 的值 一般为赋初值 接着计算 表达式2 的值 一般为一个条件判断 若其值为 非0 则执行循环体 然后计算 表达式3 一般为修改循环变量 并根据对 表达式2 的结果判断决定是否进行下一次循环 在每一次循环中 一旦 表达式2 的值为 假 则终止循环 4 for循环一般形式中的 表达式1 可以省略 此时应在for语句之前给循环变量赋初值 注意 在省略 表达式1 时 其后的分号不能省略 例如 for n 1 n 10 n s s n 等效于 n 1 for n 10 n s s n 5 for语句一般形式中的 表达式3 可以省略 此时分号同样不能省略 此外 还必须设法保证循环变量的增值 例如 for n 1 n 10 n s s n 等效于 for n 1 n 10 s s n n 6 for语句一般形式中的 表达式1 和 表达式3 均可以省略 只保留 表达式2 和两个分号 此时既要在for语句之前给循环变量赋初值 又要设法保证循环变量的增值 例如 for n 1 n 10 n s s n 等效于 n 1 for n 10 s s n n 7 表达式2 也可省略 如果省略 表达式2 不会造成语法上的错误 但是 如果循环体内没有循环趋于结束的语句 程序将进入死循环 一般不提倡这种省略 尤其对于初学者更是如此 8 在使用for循环时 必须注意以下要点 for语句的圆括号后没有 如果在for语句的圆括号后添加 虽然不会发生语法错误 但是此时的循环体将变为1个空语句 可能使程序不能获得正确的结果 表达式1 表达式2 和 表达式3 通常称为for循环的3个分量 均可以为任意表达式 相互之间使用 分开 for语句中的圆括号内有且只有两个 第3个表达式后没有 3个表达式的用途各不相同 表达式1 在循环前对循环控制变量进行初始化 表达式2 用来判断循环条件是否成立 表达式3 用来修改循环变量的值 for语句中的循环体语句可以是一个单独的语句 也可以是一个复合语句 当是复合语句时 一定要用大括号将其括起来 否则将会出现算法上的错误 3个表达式中的某一个或几个可以省略 但是相应的分号必须保留 例如 for 循环控制变量赋初值只进行1次 一旦循环体被执行 立即进行修改循环变量的操作 5 4循环的嵌套 在C语言中 经常需要把一个循环结构作为另一个循环结构的循环体 从而构成循环的嵌套结构 在实际的程序设计中 循环的嵌套绝大多数由for语句来完成 因此 本节着重介绍由for循环构成的循环嵌套 循环的嵌套包括二重循环以及二重以上的多重循环 本书重点介绍二重循环 多重循环的用法可以类推 1 由for语句构成的二重循环结构的格式为for 表达式1 表达式2 表达式3 语句1 for 表达式4 表达式5 表达式6 语句2 语句3 2 二重循环的执行顺序如下 以第1层for循环为入口 通过 表达式1 对循环控制变量赋初值 接着使用 表达式2 进行条件判断 若 表达式2 为 真 则执行语句1 第2层for循环和语句3 注意 语句2是第2层for语句的循环体 当第2层for循环规定的循环次数全部执行完后 执行语句3 至此 第1层for循环的第1次循环结束 接下来进行第1层for循环的下1次循环 一直到 表达式2 的值为 假 为止 3 在使用二重循环时应注意以下几点 语句1 第2层for循环和语句3以复合语句的形式作为第1层for循环的循环体 语句1 第2层for循环和语句3是并行的 程序运行时按顺序执行 语句1和语句3可以省略 当没有语句1和语句3时 可以省略大括号 当有语句1或语句3时 必须要用大括号将其括起来作为1个复合语句 否则 将会出现算法上的错误 5 5break语句与continue语句 5 5 1break语句5 5 2continue语句 在循环结构中 break 与 continue 是两个用于控制循环流程的重要关键字 两者在用法上既有联系又有区别 下面分别进行介绍 5 5 1break语句 在第4章的学习中 我们已在switch语句中使用过break语句 其作用是使流程跳出switch语句体 其实 break语句还常常使用在循环语句中 其作用是使流程跳出循环体 退出循环 1 break语句的使用形式为break 2 有关break语句的说明如下 break后面不跟任何表达式或语句 使用简单方便 其形式为break break语句只用在switch选择分支结构和循环结构中 5 5 2continue语句 continue语句是循环结构中的特殊语句 也可以用于控制循环的流程 但是与break语句不同 程序执行到continue语句后仅仅结束本次循环 并不会结束整个循环 1 continue语句的使用形式为continue 2 continue语句的作用是结束本次循环 程序执行到continue语句后的流程如下 跳过本次循环体中continue语句后余下尚未执行的语句 接着修改循环控制变量 进行循环语句表达式的判断 若表达式的值为 真 则继续循环体的执行 若表达式的值为 假 则结束对循环体的执行 3 在使用continue语句时应注意以下要点 continue语句后面不跟任何表达式或语句 使用简单方便 其形式为 continue continue语句只能在循环结构中使用 使用范围比break语句还窄 习题 一 选择题1 设有程序段intk 10 while k 0 k k 1 则下面描述中正确的是 A 循环共执行10次B 循环是无限循环C 循环体语句一次也不执行D 循环体语句执行一次2 语句while E 中的表达式 E 等价于 A E 0B E 1C E 0D E 1提示 字符均可作为 真 处理 所以 E作为 假 处理 其值为0 3 C语言中有关while与do while循环的论述正确的是 A do while循环至少无条件地执行一次B while循环的控制条件比do while循环的控制条件严格C do while循环允许从外部转到循环体内D do while循环的循环体不能是复合语句4 下面有关for循环的正确描述为 A for循环只能用于循环次数已经确定的情况B for循环是先执行循环体语句 再判断表达式C 在for循环中 不能用break语句跳出循环体D 在for循环的循环体语句中 可以包含多条语句 但必须用大括号括起来5 若N为整型变量 则以下循环执行的次数是 For N 2 N 0 语句A 无限次B 0次C 1次D 2次 6 以下正确的描述为 A continue语句的作用是结束整个循环的执行B 能在循环体内和switch语句中使用break语句C 在循环体内使用break语句和continue语句的作用相同D break语句的作用是结束本次循环7 对下面的程序段描述正确的是 for t 1 t 0时 什么也不输出C printf语句永远也不执行D 最多允许输出100个非负数 二 填空题1 当执行以下程序段后 i的值是 j的值是 k的值是 inta b c d i j k a 10 b c d 5 i j k 0 for a b b i while a c j dok while a d 2 以下程序段的输出结果是 intk n m n 10 m 1 k 1 while kvoidmain intx 2 while x printf d n x 三 编程题1 编程实现以下功能 输出10 100每位数的乘积大于每位数的和的数 2 编程实现以下功能 输出一元人民币换成一分 两分和五分的所有兑换方案 3 编程实现以下功能 从3个红球

温馨提示

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

最新文档

评论

0/150

提交评论