内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第四章 程序的控制结构(四)

内蒙古科技大学 教 案 课程名称:C语言程序设计 编写时间:2014年2月16日 第四章程序的控制结构(四)(2学时) 备注 一、循环结构 容 二、for、while、do-whil、contine、break、goto语句 for、while、do-while语句 点 条件表达式和循环体、循环嵌套 循环结构 循环结构是结构化程序设计中最重要的一种结构。在很多程 序中需要将某些语句在特定的条件下重复执行多次,直到条件不 成立为止。其中被重复执行的语句称为循环体,决定重复是否继 续执行的条件称为循环条件。故循环语句是由循环体与循环条件 两部分组成的。 1.for语句 一般格式: for(表达式1:表达式2:表达式3) 循环体: 其中:表达式1、表达式2、表达式3是任意表达式:循环 体由语句组成,可以是单一语句、复合语句,还可以是空语句。 【执行过程】 ①计算表达式1。 ②计算表达式2,若值为非0(循环条件成立),则顺序执 行③,否则转至⑥执行。 ③执行循环体。 ④计算表达式3。 ⑤转至②。 ⑥循环结束,继续执行循环后的语句
内 蒙 古 科 技 大 学 教 案 课程名称: C 语言程序设计 编写时间:2014 年 2 月 16 日 第四章 程序的控制结构(四)(2 学时) 备注 内 容 一、循环结构 二、for、while、do-while、contine、break、goto 语句 重 点 for、while、do-while 语句 难 点 条件表达式和循环体、循环嵌套 循环结构 循环结构是结构化程序设计中最重要的一种结构。在很多程 序中需要将某些语句在特定的条件下重复执行多次,直到条件不 成立为止。其中被重复执行的语句称为循环体,决定重复是否继 续执行的条件称为循环条件。故循环语句是由循环体与循环条件 两部分组成的。 1.for 语句 一般格式: for(表达式 1;表达式 2;表达式 3) 循环体; 其中:表达式 1、表达式 2、表达式 3 是任意表达式;循环 体由语句组成,可以是单一语句、复合语句,还可以是空语句。 【执行过程】 ① 计算表达式 1。 ② 计算表达式 2,若值为非 0(循环条件成立),则顺序执 行③,否则转至⑥执行。 ③ 执行循环体。 ④ 计算表达式 3。 ⑤ 转至②。 ⑥ 循环结束,继续执行循环后的语句

来是 #include inti,sum 件令i的值从1变化到100,每次步 sum=sum+i: 体将i的值累加到sum中/ printf("sum=%dn".sum); 2.while语句 一般格式: while(表达式) 循环体 【执行过程】 ①计算表达式的值,若值为非0(循环条件成立),则顺序 执行②,否则转至④执行。 ②执行循环体。 ③转至①。 ④循环结束,执行while循环后的语句。 例愿求智 #include main() int i=1,sum=0; while (i<=100) sum-sum+i; 1++: printf("sum=%d\n",sum);
例题:求 #include main() {int i,sum=0; for(i=1;i main() { int i=1,sum=0; while (i<=100) { sum=sum+i; i++; } printf("sum=%d\n",sum); }

3.do-while语句 般格式: do 循环体 式): 【执行过程】 执行循环体(语句)。 ②计算表达式的值,若值为非0(循环条件成立),则转至①继 续循环,否则顺序执行③。 ③循环结束,执行循环后的语句。 例题:求是 #include main( { int i=1,sum=0; do sum=sum+i; t+: }while (i<=100); printf("sum=%d\n",sum). 4.break语句、continue语句和goto语句 4.1 break 一般格式:break: 【说明】 使用break语句可以提前结束由while,for和d -while 语句构成的循环,而去执行循环下面的语句
3. do-while 语句 一般格式: do 循环体 while ( 表 达 式); 【执行过程】 ① 执行循环体(语句)。 ② 计算表达式的值,若值为非 0(循环条件成立),则转至①继 续循环,否则顺序执行③。 ③ 循环结束,执行循环后的语句。 例题:求 #include main() { int i=1,sum=0; do { sum=sum+i; i++; } while (i<=100); printf("sum=%d\n",sum); } 4. break 语句、continue 语句和 goto 语句 4.1 break 一般格式:break; 【说明】 使用 break 语句可以提前结束由 while,for 和 do-while 语句构成的循环,而去执行循环下面的语句

4.2 continue语句 一般格式:continue: 【说明】 continue语句跳过循环体中尚未执行的语句而 执行下次循环, 它和break语句不同,break语句是结束循环, 而continue语句是结束本次循环。 4.3got0语句 一般格式:g0t0: 【说明】 g0to语句为无条件转向语句,语句标号用标识 符表示。 带有标号的语句的一般形式为: 标号:语句 注意:在g0to语句中的语句标号后是不带冒号的,而在“带 有标号的语句”中“标号”后带有“:”。goto语句最常见 的用途是:从循环体中跳转到循环体外,如果用在单层循环中, 作用同 e 5.循环结构的嵌套 一个循环语句中的循环体如果含有另一个循环结构,称为循 环的嵌套。内嵌的循环还可以嵌套循环,称为多重循环。hile do一hile和for三种循环之间可以相互嵌套。 例题:求100200之间的全部素数 #include #include main() int m,i,n=0; double k; for(m=100:m<=200:m=m+1)
4.2 continue 语句 一般格式:continue; 【说明】 continue 语句跳过循环体中尚未执行的语句而 执行下次循环,它和 break 语句不同,break 语句是结束循环, 而 continue 语句是结束本次循环。 4.3 goto 语句 一般格式:goto ; 【说明】 goto 语句为无条件转向语句,语句标号用标识 符表示。 带有标号的语句的一般形式为: 标号: 语句 注意:在 goto 语句中的语句标号后是不带冒号的,而在“带 有标号的语句” 中“标号”后带有“:”。goto 语句最常见 的用途是:从循环体中跳转到循环体外,如果用在单层循环中, 其作用同 break;如果用在循环嵌套程序中,则可以实现从内循 环直接跳转到所有循环之外。 5.循环结构的嵌套 一个循环语句中的循环体如果含有另一个循环结构,称为循 环的嵌套。内嵌的循环还可以嵌套循环,称为多重循环。while、 do-while 和 for 三种循环之间可以相互嵌套。 例题:求 100~200 之间的全部素数。 #include #include main() { int m,i,n=0; double k; for(m=100;m<=200;m=m+1)

k=sqrt(m); for(i=2:ik)(printf("%d ",m)n=n+1: if(n%10==0)printf("\n"): printf("\n") 6.利用循环结构实现的常见算法 6.1递推法: 递推法:由前次的结论推算出本次的结论。 例题:求斐波那契数列数列的前10项: 1,1,2,3,5,8,13,21. 斐波那契数列在程序中可以用多种方法进行处理。按照其通 项递推公式利用循环控制来实现题目的要求最为简便。 #include main() 【inti: long fl,f2,fi; f1=1;f2=1: printf("%ld $ld "fl,f2); for(i=3:i<=10:i++) fi=f2+f1:printf("%ld "fi): f1=f2; f2=fi: printf("\n")
{ k=sqrt(m); for(i=2;ik) {printf("%d ",m);n=n+1;} if(n%10==0) printf("\n"); } printf("\n");} 6. 利用循环结构实现的常见算法 6.1 递推法: 递推法:由前次的结论推算出本次的结论。 例题:求斐波那契数列数列的前 10 项: 1,1,2,3,5,8,13,21. 斐波那契数列在程序中可以用多种方法进行处理。按照其通 项递推公式利用循环控制来实现题目的要求最为简便。 #include main() { int i; long f1,f2,fi; f1=1; f2=1; printf("%ld %ld ",f1,f2); for(i=3;i<=10;i++) { fi=f2+f1; printf("%ld ",fi); f1=f2; f2=fi; } printf("\n");}

6.2穷举法: 将可能解决问题的方案一一测试,从中选出正确结论: 例题: “百钱买百鸡”:鸡翁一,值钱五,鸡母一,值钱三,鸡雏 三,值钱一,百钱买百鸡,问鸡翁、母、雏各几何? #include main() (int x.y,zi for(x=0;x<20:+x) (for(y=0:y<=33:+y) {z=100-x-y: if(z%3=0)&((5*x+3*y+z/3)=100) printf("cock=%d小then=%d小t chickens=%dn”,x,y,z):} 补充例题: 1、水仙花数: 2、素数: 3、最大公约数 4、求同构数
6.2 穷举法: 将可能解决问题的方案一一测试,从中选出正确结论。 例题: “百钱买百鸡”:鸡翁一,值钱五,鸡母一,值钱三,鸡雏 三,值钱一,百钱买百鸡,问鸡翁、母、雏各几何? #include main() {int x,y,z; for(x=0;x<20;++x) {for(y=0;y<=33;++y) {z=100-x-y; if((z%3==0)&&((5*x+3*y+z/3)==100)) printf("cock=%d\t hen=%d\t chicken=%d\n",x,y,z);} } } 补充例题: 1、水仙花数; 2、素数; 3、最大公约数; 4、求同构数
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第四章 程序的控制结构(三).doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第四章 程序的控制结构(二).doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第四章 程序的控制结构(一).doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第六章 数组 6.3.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第六章 数组 6.3.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第六章 数组 6.2.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第五章 函数.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第七章 指针(一).doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第六章 数组.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第七章 指针(二).doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第六章 数组 6.5 字符数组.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第八章 结构体与共用体.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第七章 指针(三).doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第九章 文件操作.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第七章 指针(四).doc
- 内蒙古科技大学:《C语言程序设计》课程教学大纲 C Language Programming.pdf
- 《计算机组成原理》课程教学课件(PPT讲稿)第1章 计算机组成原理概述 Computer Organization.ppt
- 《计算机组成原理》课程教学课件(PPT讲稿)第6章 总线系统.ppt
- 《计算机组成原理》课程教学课件(PPT讲稿)第3章 指令系统.ppt
- 《计算机组成原理》课程教学课件(PPT讲稿)第2章 运算方法和运算器 第1节 数据表示(数据与文字表示方法).ppt
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第三章 简单的C程序设计.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第一章 C简介.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第二章 数据类型、运算符及表达式(二).doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第二章 数据类型、运算符及表达式(一).doc
- 内蒙古科技大学:《C语言程序设计》课程教学资源(作业习题)编程题.doc
- 内蒙古科技大学:《C语言程序设计》课程教学资源(作业习题)填空题.doc
- 内蒙古科技大学:《C语言程序设计》课程教学资源(作业习题)改错题.doc
- 内蒙古科技大学:《C语言程序设计》课程教学资源(作业习题)选择题.doc
- 内蒙古科技大学:《C语言程序设计》课程教学课件(PPT讲稿)第八章 结构体与共用体.ppt
- 内蒙古科技大学:《C语言程序设计》课程教学课件(PPT讲稿)第七章 指针.ppt
- 内蒙古科技大学:《C语言程序设计》课程教学课件(PPT讲稿)第九章 文件操作.ppt
- 内蒙古科技大学:《C语言程序设计》课程教学课件(PPT讲稿)第六章 数组.ppt
- 内蒙古科技大学:《C语言程序设计》课程教学课件(PPT讲稿)第二章 数据类型、运算符及表达式.ppt
- 内蒙古科技大学:《C语言程序设计》课程教学课件(PPT讲稿)第三章 简单的C程序设计.ppt
- 内蒙古科技大学:《C语言程序设计》课程教学课件(PPT讲稿)第五章 函数.ppt
- 内蒙古科技大学:《C语言程序设计》课程教学课件(PPT讲稿)第四章 程序的控制结构.ppt
- 内蒙古科技大学:《C语言程序设计》课程教学课件(PPT讲稿)第一章 C语言概述.ppt
- 《过程流体机械》课程教学课件(PPT讲稿)第一章 绪论.ppt
- 《过程流体机械》课程教学课件(PPT讲稿)第四章 泵.ppt
- 《过程流体机械》课程教学课件(PPT讲稿)第二章 往复式压缩机.ppt