C语言程序设计 循环结构.ppt_第1页
C语言程序设计 循环结构.ppt_第2页
C语言程序设计 循环结构.ppt_第3页
C语言程序设计 循环结构.ppt_第4页
C语言程序设计 循环结构.ppt_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、课程名称:语言程序设计 课型与教法:讲授,通过程序扩展,进行对比学习 学时:2课时 授课题目: 第5章 循环结构 基本教材:语言程序设计(高等教育出版社)廖雷主编 教学目的与要求:通过本章的学习使学生了解循环结构的意义和基本实现语句,能正确利用while、do-while、for语句进行循环程序设计 教学重点与难点:while、do-while、for语句,第五章 循环结构,循环语句,辅助控制语句,循环是指使用一定条件对同一个程序段重复执行若干次。循环结构又称重复结构,可以完成重复性、规律性的操作。,概述 C语言有三种类型的循环语句: while 语句 do while 语句 for 语句,循

2、环语句,一般形式:,while() ,执行流程:,while语句,循环体:被重复执行的部分,特点:先判断表达式,后执行循环体 说明: 循环体有可能一次也不执行 循环体可为任意类型语句 下列情况,可退出while循环 条件表达式不成立(为零) 循环体内遇break,return,goto,while语句特点和说明,用while循环求,/*ch5_2.c*/ #include main() long sum=0; int i=1; while(i=1000) sum+=i; i+; printf(“sum=%ld,sum); ,例5.2,/*ch5_3.c*/ #include main() in

3、t n=0; long t=1; printf(“ n n! n”); while(n8) n+; t*=n; printf(%d %ld n,n,t); ,运行结果: n n! 1 1 2 2 3 6 4 24 5 120 6 720 7 5040 8 40320,例5.3 求n!(n=18),一般形式:,do while();,执行流程:,dowhile语句,“ ; ”不能少,特点:先执行循环体,后判断表达式 说明: 至少执行一次循环体 dowhile可转化成while结构,dowhile语句特点和说明,用do-while循环求,例5.5,/*ch5_5.c*/ #include main

4、() int i; long sum=0; i=1; do sum+=i; i+; while(i=1000); printf(“sum=%ld,sum); ,统计输入的整数的个数(输入-1时结束,-1不计在内),例5.6,/*ch5_6.c*/ #include main() int num; int i=0; do scanf(“%d”, ,一般形式:,for(表达式1 ;表达式2 ;表达式3) ,执行流程:,for语句,一般应用形式:,for(初始化表达式;条件表达式;修正表达式) ,说明: for语句中expr1, expr2 ,expr3 类型任意,都可省略,但分号;不可省 for语

5、句可以转换成while结构,expr1; while(expr2) expr3; ,for语句,形式: #include main( ) int i=0; for(i=0;i10;i+) putchar(a+i); ,运行结果:abcdefghij,形式: #include main( ) int i=0; for(;i10;i+) putchar(a+i); ,形式: #include main( ) int i=0; for(;i10;) putchar(a+(i+); ,形式: #include main( ) int i=0; for(;i10;putchar(a+i),i+) ; ,

6、例: for语句形式的多样性,课程名称:语言程序设计 课型与教法:讲授,通过程序扩展,进行对比学习 学时:2课时 授课题目: 第5章 循环结构 基本教材:语言程序设计(高等教育出版社)廖雷主编 教学目的与要求:通过本章的学习使学生掌握break、continue、goto语句,能正确利用循环语句、循环嵌套进行循环程序设计 教学难点:循环嵌套 教学重点:break、continue语句;循环嵌套,循环的嵌套:循环体本身包含循环语句 三种循环可互相嵌套,层数不限 外层循环可包含两个以上内循环,但不能相互交叉,(1) while() while() . ,(2) do do while( ); .

7、while( );,(3) while() do while( ); . ,(4) for( ; ;) do while(); while() . ,循环的嵌套,for(i=1;i10;i+) j=1; while(j10) printf(j=9)?%4dn:%4d,i*j); j+; ,循环的嵌套(图解),概述 辅助控制语句: break 语句 continue 语句 goto 语句,辅助控制语句,break语句,功能:在循环语句和switch语句中,终止并跳出循环体或开关体 说明: break只能终止并跳出最近一层的结构 break不能用于循环语句和switch语句之外的任何其它语句之中,

8、break语句(图解1),break语句(图解2),设计一程序完成功能:若输入英文字母,则原样输出,例5.15,/*ch5_15.c*/ #include main() char ch; do ch=getchar(); if(ch=Q|ch=q) break; else if(ch=a ,功能:结束本次循环,跳过循环体中尚未执行的语句,进行下一次是否执行循环体的判断 仅用于循环语句中,continue语句,求1100之间不能被12整除的数,例5.16,/*ch5_16.c*/ #include “stdio.h” main() int n; for(n=1;n=100;n+) if(n%12

9、=0) continue; printf(“%5d,n); ,goto语句一般格式: 功能:无条件跳转语句 说明: 不能用整数作标号 只能出现在goto所在函数内,且唯一 只能加在可执行语句前面 goto语句可一次跳出多层循环 用goto 和 if 构成循环 限制使用goto语句,goto 语句标号; . 标号:语句;,goto语句, for() for() for() if() goto end; end: ,/*ch5_17.c*/ #include main() int i,sum=0; i=1; loop: if(i=100) sum+=i; i+; goto loop; printf(%dn,sum); ,sum=0+1=1 sum=1+2=3 sum=3+3=6 sum=6+4=10 sum=4950+100=5050,例 用if 和goto语句构成循环,/*ch5_10.c*/ #include main() long int f,f1=1,f2=1; int i,n; printf(“please input n: ”); scanf(“%d”, ,例 fibonacci数列f(n),/*ch5_11.c*/ #i

温馨提示

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

评论

0/150

提交评论