清华大学出版社 TSINGHUA UNIVERSITY PRESS 本章要点 循环的基本概念 ■不同形式的循环控制 多重循环问题
⚫ 本章要点 ◼ 循环的基本概念 ◼ 不同形式的循环控制 ◼ 多重循环问题
清华大学出版社 TSINGHUA UNIVERSITY PRESS 主要内容 61概述 62g0to语句以及用goto语句构成循环 63用 while语句实现循环 64用do- while语句实现循环 65用for语句实现循环 6.6循环的嵌套 67几种循环的比较 68 break语句 continue和语句 69程序举例
⚫ 主要内容 6.1 概述 6.2 goto语句以及用goto语句构成循环 6.3 用while语句实现循环 6.4 用do-while语句实现循环 6.5 用for 语句实现循环 6.6 循环的嵌套 6.7 几种循环的比较 6.8 break语句continue和语句 6.9 程 序 举 例
清华大学出版社 TSINGHUA UNIVERSITY PRESS 6.1概述 什么是循环? 为什么要使用循环? 问题1沙=∑n 问题2求学生平均成绩分数相加后除以课数 在许多问题中需要用到循环控制。循环结构是 结构化程序设计的基本结构之一,它和顺序结 构、选择结构共同作为各种复杂程序的基本构 造单元 C程序设计(第三版) http://ccf.tsinghua.edu.cn 4
C程序设计(第三版) http://ccf.tsinghua.edu.cn 4 6.1 概述 什么是循环? 为什么要使用循环? = = 100 n 1 问题1: y n 问题2:求学生平均成绩 分数相加后除以课数 在许多问题中需要用到循环控制。循环结构是 结构化程序设计的基本结构之一,它和顺序结 构、选择结构共同作为各种复杂程序的基本构 造单元
清华大学出版社 TSINGHUA UNIVERSITY PRESS 6.2goto语句以及用goto语句构成循环 goto语句—无条件转向语句 goto语句标号 语句标号用标识符表示,它的定名规则与变 量名相同,即由字母、数字和下划线组成, 其第一个字符必须为字母或下划线。 例如: goto label1;合法 goto123;不合法 C程序设计(第三版) http://ccf.tsinghua.edu.cn 5
C程序设计(第三版) http://ccf.tsinghua.edu.cn 5 6.2 goto语句以及用goto语句构成循环 • goto语句——无条件转向语句 goto 语句标号; • 语句标号用标识符表示,它的定名规则与变 量名相同,即由字母、数字和下划线组成, 其第一个字符必须为字母或下划线。 例如:goto label_1; 合法; goto 123; 不合法
清华大学出版社 TSINGHUA UNIVERSITY PRESS 6.2goto语句以及用goto语句构成循环 结构化程序设计方法主张限制使用goto语句,因 为滥用goto语句将使程序流程无规律、可读性差 一般来说,可以有两种用途: (1)与语句一起构成循环结构 2)从循环体中跳转到循环体外。 但是这种用法不符合结构化原则,一般不宜采用 ,只有在不得已时例如能大大提高效率)才使用 C程序设计(第三版) http://ccf.tsinghua.edu.cn 6
C程序设计(第三版) http://ccf.tsinghua.edu.cn 6 6.2 goto语句以及用goto语句构成循环 结构化程序设计方法主张限制使用goto语句,因 为滥用goto语句将使程序流程无规律、可读性差。 一般来说,可以有两种用途: (1) 与if语句一起构成循环结构; (2) 从循环体中跳转到循环体外。 但是这种用法不符合结构化原则,一般不宜采用 ,只有在不得已时(例如能大大提高效率)才使用
∑情华大学出版社 TSINGHUA UNI 运行结果:5050 例61用i语句和goto语句构成循环,求1到100的和 void main int 0 sum=0 loop: if(i=100 I sum=sum+i 1++ goto loon 说明:这里用的是“当型”循环 结构,当满足“i<=100”时 sum) 执行花括弧内的循环体 C程序设计(第三版) http://ccf.tsinghua.edu.cn
C程序设计(第三版) http://ccf.tsinghua.edu.cn 7 例6.1 用if语句和goto语句构成循环,求1到100的和 void main( ) { int i, sum=0; i=1; loop: if(i<=100) { sum=sum+i; i++; goto loop; } printf("%d\\n″,sum); } = 100 n 1 n 说明:这里用的是“当型”循环 结构,当满足“i<=100” 时 执行花括弧内的循环体。 运行结果:5050
清华大学出版社 TSINGHUA UNIVERSITY PRESS 6.3用 while语句实现循环 Whil语句用来实现“当型”循环结构 表达式 0 般形式: while(表达式)语句 语句 当表达式为非0值时,执行 while语 句中的内嵌语句。其特点是:先判断 表达式,后执行语句。 C程序设计(第三版) http://ccf.tsinghua.edu.cn
C程序设计(第三版) http://ccf.tsinghua.edu.cn 8 6.3 用while语句实现循环 while语句用来实现“当型”循环结构 。 一般形式: while (表达式) 语句 当表达式为非0值时,执行while语 句中的内嵌语句。其特点是:先判断 表达式,后执行语句
∑情华大学出版社 TSINGHUA UNIVERSITY PRESS 运行结果:5050 例6,2求1到100的和 #include void main( lint i, sum=O while(i<=100) sum=sumt l 说明:(1)循环体如果包含一个以上 print(%的语句,应该用花括弧括起来,以 复合语句形式出现.(2)在循环体中 应有使循环趋向于结束的语句 C程序设计(第三版) http://ccf.tsinghua.edu.cn
C程序设计(第三版) http://ccf.tsinghua.edu.cn 9 例6.2 求1到100的和 #include void main() {int i,sum=0; i=1; while (i<=100) { sum=sum+i; i++; } printf(″%d\\n″,sum); } = 100 n 1 n 说明:(1)循环体如果包含一个以上 的语句,应该用花括弧括起来,以 复合语句形式出现.(2)在循环体中 应有使循环趋向于结束的语句 。 运行结果:5050
清华大学出版社 TSINGHUA UNIVERSITY PRESS 6.3用whie语句实现循环 注意 (1)循环体如果包含一个以上的语句,应该用 花括弧括起来,以复合语句形式出现。 (2)在循环体中应有使循环趋向于结束的语句 如果无此语句,则的值始终不改变, 循环永不结束。 C程序设计(第三版) http://ccf.tsinghua.edu.cn 10
C程序设计(第三版) http://ccf.tsinghua.edu.cn 10 6.3 用while语句实现循环 注意: (1) 循环体如果包含一个以上的语句,应该用 花括弧括起来,以复合语句形式出现。 (2) 在循环体中应有使循环趋向于结束的语句 。如果无此语句,则i的值始终不改变, 循环永不结束