4.2 循环结构程序设计.ppt
《4.2 循环结构程序设计.ppt》由会员分享,可在线阅读,更多相关《4.2 循环结构程序设计.ppt(55页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、4.2.1 while4.2.1 while语句语句4.2.2 do-while4.2.2 do-while语句语句4.2.3 for4.2.3 for语句语句 4.2.4 4.2.4 转移语句转移语句4.2.5 4.2.5 循环的嵌套循环的嵌套4.2.6 4.2.6 循环结构程序设计举例循环结构程序设计举例 4.2 4.2 循环结构程序设计循环结构程序设计循环的概念循环的概念 当当所所要要解解决决的的问问题题存存在在重重复复执执行行内内容容时时,应应该该使使用用循循环环结结构构来来实实现现,具具体体的的设设计计步步骤骤可可归纳如下。归纳如下。(1)构造循环体。)构造循环体。(2)寻找控制循环
2、的变量。)寻找控制循环的变量。(3)找出控制循环的)找出控制循环的3个要素。个要素。循环控制变量的初值。循环控制变量的初值。循环的条件。循环的条件。使循环趋于结束的部分。使循环趋于结束的部分。在在C语言中可以用以下语句来实现循环:语言中可以用以下语句来实现循环:1.用用while语句;语句;2.用用do-while语句;语句;3.用用for语句语句;4.用用goto语句和语句和if语句构成循环;语句构成循环;4.2.1 while语句语句真真(非零非零)表达式表达式 循环体循环体假假(零零)1、while 语句的形式语句的形式:while(表达式表达式)循环体;循环体;2、while 语句语句
3、 常称常称为为“当型当型”循环语句。循环语句。3、说明、说明:先判断表达式,后执行语句。先判断表达式,后执行语句。表达式同表达式同ifif语句后的表达式一样,可以是语句后的表达式一样,可以是任何类型的表达式。任何类型的表达式。循环体多于一句时,用一对循环体多于一句时,用一对 括起括起。whilewhile循环结构常用于循环次数不固定,根循环结构常用于循环次数不固定,根据是否满足某个条件决定循环与否的情况。据是否满足某个条件决定循环与否的情况。例:分析下列程序段的循环次数例:分析下列程序段的循环次数i=1;while(i0)printf(+);else printf(-);scanf(%d ,&
4、x);判断正负号判断正负号#include stdio.h void main()char ch;int num=0;ch=getchar();例例:统计从键盘输入的一行字符的个数(以回统计从键盘输入的一行字符的个数(以回车键作为输入结束标记)。车键作为输入结束标记)。while(ch!=n)判断是否输入结束判断是否输入结束num+;ch=getchar();printf(num=%dn,num);注意注意表达式在判断前,必须要有明确的值。表达式在判断前,必须要有明确的值。循环体中一般有改变条件表达式的语句。循环体中一般有改变条件表达式的语句。while(while(表达式表达式)后面没有分号
5、。后面没有分号。4.2.2 do-while语句语句1、do-while的形式:的形式:do 循环体;循环体;while(表达式);表达式);2、do-while语句语句 常称常称为为“直到型直到型”循环语句。循环语句。真真(非零非零)表达式表达式 循环体循环体假假(零零)3、说明、说明:先先执行执行语句语句,后判断,后判断表达式表达式。第一次条件为真时,第一次条件为真时,while,do-while等价;等价;第一次条件为假时,二者不同。第一次条件为假时,二者不同。例例:用用do-whiledo-while语语句句编编写写程程序序统统计计从从键键盘盘输输入入的的一一行行字符的个数(以回车键作
6、为输入结束标记)。字符的个数(以回车键作为输入结束标记)。#include stdio.hvoid main()char ch;int num=0;ch=getchar();do num+;ch=getchar();while(ch!=n);printf(num=%dn,num);注意注意在在if、while语句中,表达式后面都没有分语句中,表达式后面都没有分号,而在号,而在do-while语句的表达式后面则必语句的表达式后面则必须加分号。须加分号。do-while和和while语句相互替换时,要注意语句相互替换时,要注意修改循环控制条件修改循环控制条件。5.3.3 for语句语句1、for的
7、形式:的形式:for(初始表达式初始表达式1;条件表达式;条件表达式2;循环表达式;循环表达式3)循环体循环体;表表达达式式1:用用于于循循环环开开始始前前为为循循环环变变量量设设置置初初始始值。值。表达式表达式2:控制循环执行的条件,决定循环次数。:控制循环执行的条件,决定循环次数。表达式表达式3:循环控制变量修改表达式。:循环控制变量修改表达式。循环体语句:循环体语句:被重复执行的语句。被重复执行的语句。表达式表达式3计算表达式计算表达式1循环体循环体判断表达式判断表达式2零零非零非零for的下一条语句的下一条语句2、执行过程、执行过程 for(i=1;i=100;i+)sum=sum+i
8、;例如:例如:它相当于以下语句:它相当于以下语句:i=1;while(i=100)sum=sum+i;i+;表达式表达式1 1;while(表达式表达式2)表达式表达式3 3;3、说明说明三个表达式都可以是逗号表达式。三个表达式都可以是逗号表达式。三个表达式都是任选项,都可以省略,但要注三个表达式都是任选项,都可以省略,但要注意省略表达式后,分号间隔符不能省略。意省略表达式后,分号间隔符不能省略。1、for语句中表达式省略的形式语句中表达式省略的形式(1)for语语句句一一般般形形式式中中的的“表表达达式式1”可可以以省省略;略;如:如:sum=0;i=1;for(;i100)break;su
9、m=sum+i;1、for语句中表达式省略的形式语句中表达式省略的形式(3)表达式)表达式3也可以省略,但此时保证循环也可以省略,但此时保证循环能正常结束如:能正常结束如:for(sum=0,i=1;i=100;)sum=sum+i;i+;(4)可以省略表达式可以省略表达式1和和表达式表达式3,只有表达式,只有表达式2,如:,如:i=1;sum=0;for(;i=100;)sum=sum+i;i+;1、for语句中表达式省略的形式语句中表达式省略的形式i=1;sum=0;while(i100)break;sum=sum+i;i+;相当于相当于(6)循环体为空语句)循环体为空语句 对对for语句
10、,循环体为空语句的一般形式为语句,循环体为空语句的一般形式为:for(表达式表达式1;表达式;表达式2;表达式;表达式3);如:如:for(sum=0,i=1;i=100;sum+=i,i+);1、for语句中表达式省略的形式语句中表达式省略的形式(1)在进入累加前先给累加器赋初值(一般为)在进入累加前先给累加器赋初值(一般为0););(2)用循环语句实现累加;)用循环语句实现累加;for(循环变量赋初值;循环条件;循环变量改变规律)循环变量赋初值;循环条件;循环变量改变规律)(3)循环体语句的设计。)循环体语句的设计。累加器当前值累加器当前值=累加器原值累加器原值+循环变量当前值循环变量当前
11、值;典型例题分析例例:求累加和求累加和1+2+3+10001+2+3+1000基本方法基本方法:属于属于“累加器累加器”类型问题。类型问题。累加器赋初值累加器赋初值求偶数和求偶数和2+4+6+100参考程序:参考程序:void main()long int k,s;s=0;for(k=1;k=1000;k+)s=s+k;printf(s=%ld,s);累加累加思考思考(1)给累乘器赋初值,一般为)给累乘器赋初值,一般为1;(2)用循环语句实现累乘;)用循环语句实现累乘;for(循环变量赋初值;循环条件;循环变量改变规律)循环变量赋初值;循环条件;循环变量改变规律)(3)循环体设计。)循环体设计
12、。累乘器当前值累乘器当前值=累乘器原值累乘器原值*循环变量当前值;循环变量当前值;例例:求累乘积。求累乘积。如:如:123.100基本方法基本方法:属于属于“累乘器累乘器”类型问题。类型问题。累乘器赋初值累乘器赋初值求求n!=1 2 3 n参考程序:参考程序:void main()double s=1;int k;for(k=1;k=100;k+)s=s*k;printf(s=%lf,s);累乘累乘思考思考整数连乘结果一定整数连乘结果一定是整数,而本例中是整数,而本例中结果数值相当大,结果数值相当大,用用longlong型都无法存型都无法存放,因此将存放累放,因此将存放累乘结果的变量乘结果的变
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 4.2 循环结构程序设计 循环 结构 程序设计
限制150内