欢迎来到天天文库
浏览记录
ID:50158456
大小:716.00 KB
页数:98页
时间:2020-03-09
《程序设计基础 教学课件 作者 C语言 教学课件 作者 杨俊清_第5章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章循环结构程序设计5.1循环流程控制语句5.2循环嵌套5.3break语句和continue语句5.4循环结构程序设计举例习题5.1循环流程控制语句根据循环结构具体形式的差异,C语言中循环结构常用的三种语句为:while循环语句、do-while循环语句和for循环语句。5.1.1while语句while语句是用来实现“当型”循环控制的语句。1.一般形式while(表达式)语句;或while(表达式){语句序列;}其中:表达式称为“循环条件”,语句(一条语句)或语句序列(复合语句部分)称为“循环体”。2.执行过程w
2、hile语句的执行过程可以用图5-1描述。首先计算表达式的值,如果表达式的值为“假”(表达式的值等于0),则退出循环;如果值为“真”(非0),则执行循环体中的语句。执行完后,再次计算表达式的值,然后根据表达式值的情况决定是退出循环,还是继续执行循环体中的语句。图5-1while语句执行过程3.特点先判断表达式,后执行语句。 下面结合一个实例学习while语句的使用。例5-1求解1+2+3+…+100的值。 分析:在用程序设计语言求解1+2+3+…+100的值时,问题中隐含了计算中取值的范围是[1,100],当超
3、出这个范围时,运算就结束。所以在设置变量时,除了设置存放计算结果的变量count外,还要设置一个循环变量i,用来存放1~100。/*源程序5-1*/#includemain(){inti,count;/*变量定义及初始化*/i=1;count=0;/*存放计算结果的变量初始值为0*/while(i<=100)/*循环条件:i<=100*/{/*循环体部分*/count=count+i;i++;}printf("1+2+3+…+100=%d",count);}程序运行结果如下:说明:(1
4、)在while结构中,循环体包含一条以上的语句时,应该用{}括起来,否则while语句只执行跟在while后面的第一条语句。(2)循环体中必须包含对循环条件有影响的语句,如果没有这样的语句,会形成无限循环(死循环)。 例如在上述程序中,循环体中语句i++就影响着循环条件i的值,即每执行一次循环体,i的值增加1,这保证了执行一定次数后,i的值就会变为101,此时循环条件中表达式的值为假,结束循环,执行循环语句后边的语句。如果无此语句,则i的值始终保持不变,循环变成无限循环。在C语言中,循环条件一般是关系表达式、逻辑表
5、达式,或者由关系运算符和逻辑运算符组成的混合表达式。循环条件也可以是1。当循环条件为1时,整个循环变为死循环,例如:while(1){语句序列;}(3)循环体中可以是空语句,只有分号,不进行任何操作。(4)程序中的变量i称为循环变量。5.1.2do-while语句do-while循环又称为“直到型”循环结构。1.一般形式do{语句序列;}while(表达式);说明:(1) do是C语言的关键字,必须同while联系使用。(2) do-while循环由do开始,由while结束,所以while(表达式)后边的“;”不能少
6、,它表示do-while循环语句的结束。(3)同while语句中循环体一样,do后面可以是一条语句,也可以是多条语句。当为多条语句时,需要用{}括起来,组成复合语句。2.执行过程do-while语句的执行过程可以用图5-2描述。首先执行循环体中的语句序列,然后计算while后边的表达式。如果表达式的值为“假”(为0),则退出循环结构;如果表达式的值为“真”(非0),则继续执行循环体,执行后继续计算表达式的值。如此反复,直到表达式的值为假。图5-2do-while语句的执行过程3.特点先执行语句,后判断表达式的值。
7、下面结合一个实例学习do-while语句的使用。例5-2输入一行字符,分别统计出其中英文字母、空格、数字以及其他字符的个数。 分析:对于任何一个字符,在内存中都是以字符的ASCII码的二进制形式存放的,该存放形式与整型数的存储形式类似,这使得字符型数据和部分整型数据之间可以通用。所以要统计英文字母、空格、数字以及其他字符的个数,可以采用对输入的每个字符进行比较的方法来进行统计。/*源程序5-2*/#includemain(){charc;/*设置存放不同字符个数的变量*/intlette
8、r=0,digit=0,space=0,otherch=0;printf("PleaseInputalinecharacter:");scanf("%c",&c);/*循环变量c的初始化*/while(c!='')/*结束统计的条件*/{if(c>='a'&&c<='z'
9、
10、c>='A'&&c<='Z')/*字母*/
此文档下载收益归作者所有