欢迎来到天天文库
浏览记录
ID:50351486
大小:1.37 MB
页数:79页
时间:2020-03-08
《C语言程序设计 教学课件 作者 邵军 全书第5章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章循环结构程序设计5.1循环的基本概念5.2while语句和do-while语句5.3for语句5.4循环的嵌套5.5几种循环的比较5.6循环中的跳转5.7基本的循环算法设计技术5.8循环程序设计实例5.1循环的基本概念循环结构是程序设计中一种很重要的结构。其特点是:在给定条件成立时,反复执行某程序段,直到条件不成立为止。给定的条件称为循环条件,反复执行的程序段称为循环体。 循环结构有两种形式:“当型”循环和“直到型”循环。1.“当型”循环判断循环控制表达式是否为“真”,如为“真”,则反复执行循环体,如为“假”,则结束循环,即“先判断,后执行”。2.“直到
2、型”循环首先执行循环体,然后判断循环控制表达式,如为“假”,则反复执行循环体,直到循环控制表达式为“真”时结束循环,即“先执行,后判断”。C语言提供了多种循环语句,可以组成各种不同形式的循环结构。(1)while语句;(2)do-while语句;(3)for语句;(4)break语句、continue语句和goto语句。5.2while语句和do-while语句5.2.1while语句while语句的一般形式为while(表达式)语句 其中:“表达式”为循环条件;“语句”为循环体。while语句的语义是:计算表达式的值,当值为真(非0)时,执行循环体语句。wh
3、ile语句的执行过程可用图5-1表示。图5-1while语句的执行过程可用【例5.1】用while语句计算整数1~100的和。 用传统流程图和N-S结构流程图表示算法,见图5-2。图5-2用while语句计算1~100的和的流程图程序如下:main(){inti;/*循环变量*/intsum=0;/*累加和清0*/i=1;/*循环变量i赋初值*/while(i<=100){sum=sum+i;/*循环变量累加到sum中*/i=i+1;/*改变循环变量i的值*/}printf("%d",sum);}【例5.2】统计从键盘输入一行字符的个数。 程序如下:#
4、includemain(){intn=0;printf(“inputastring:”);while(getchar()!=‘’)n++;printf("%d",n);}说明本例程序中的循环条件为getchar()!='',其意义是,只要从键盘输入的字符不是回车就继续循环。循环体n++完成对输入字符个数计数,因而程序实现了对输入一行字符的字符个数计数。 使用while语句应注意以下几点:(1)while语句中的表达式一般是关系表达式或逻辑表达式,只要表达式的值为真(非0)就可继续循环。【例5.3】while语句中的表达式的形式。
5、 程序如下:main(){inta=0,n;printf(“inputn:”);scanf(“%d”,&n);while(n--)printf(“%d”,a++*2);}说明本例程序将执行n次循环,每执行一次,n值减1。循环体输出表达式a++*2的值,该表达式等效于(a*2;a++)。(2)循环体如包括一个以上的语句,则必须用“{}”括起来,组成复合语句。5.2.2do-while语句do-while语句的一般形式为do语句while(表达式);这个循环与while循环的不同之处在于:先执行循环中的语句,然后再判断表达式是否为真,如果为真,则继续循环,如果为
6、假,则终止循环。因此,do-while循环至少要执行一次循环语句。do_while语句的执行过程可用图5-3表示。图5-3do-while语句的执行过程【例5.4】用do-while语句实现整数1~100的和。 用传统流程图和N-S结构流程图表示算法,见图5-4。图5-4用do-while语句实现1~100的和的流程图程序如下:main(){inti;/*循环变量*/intsum=0;/*累加和清0*/i=1;/*循环变量i赋初值*/do{sum=sum+i;/*循环变量累加到sum中*/i=i+1;/*改变循环变量i的值*/}while(i<=100);/*
7、注意最后的分号*/printf("%d",sum);}说明 当有许多语句参加循环时,要用“{ }”把它们括起来。【例5.5】while和do-while循环比较。(1)while循环main(){intsum=0,i;scanf(“%d”,&i);while(i<=10){sum=sum+i;i++;}printf("sum=%d",sum);}(2)do_while循环main(){intsum=0,i;scanf(“%d”,&i);do{sum=sum+i;i++;}while(i<=10);printf("sum=%d",sum);}说明while循
8、环和do-
此文档下载收益归作者所有