过程化语句
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例: int i,sum=0; i=1; while (i<= 10) { sum=sum+i; i++ ; }
//循环变量初始化 //循环条件 //循环体 //改变循环变量的值
思考:循环结束后i的值是多少?
使用循环语句时,一定要确保循环最终会终止,也即不会出现死循 环。因此,循环体内常常包含有改变循环条件表达式值的语句。
(7)表达式1可以作为循环变量定义
//逗号表达式
for(int i=1;i<=100;i++) sum+=i;
● for语句中的3个表达式并不一定需要存在。但是每个表达式后的分 号不能省略。如果3个表达式都省略,for语句的形式如下: for(;;) 语句 在循环体内必须有其他控制循环执行的语句,否则会形成死循环。 注 意 事 项 ● 表达式1如果省略或不是用来给循环变量赋初值,则应在for语句前 给循环变量赋初值。 ● 表达式2如果省略,则在for语句循环体内必须有其他控制循环执行 的语句,否则会形成死循环。 ● 表达式3如果省略或不是用来修改循环变量的值,则应在for语句循 环体内设置相应的语句。
可以灵活使用for语句 (1)表达式1可以省略 i=1; for(;i<100;i++) //分号不能省略 sum+=i; (2)表达式2可以省略 for (i=1;;i++) //等效于for(i=1;1;i++) { sum+=i; if(i>100) break; } (3)表达式3可以省略 for(i=1;i<=100;) sum+=i++; //i++起到表达式3的作用 (4)表达式1和表达式3可以同时省略 for(;i<=100;) sum+=i++;
4.4 switch 语句
多分支选择语句(Multiway selection statement) 该语句实现多选1结构:
switch (表达式)
{
case 常量表达式1:语句组1; break; case 常量表达式2:语句组2; break;
…… case 常量表达式n:语句组n; break; default: 语句组n+1; }
4.3 for语句
Expression1 结构:
for(表达式1;表达式2;表达式3)
循环体
Expression2 T
F
Loop body
Expression3
执行过程说明: (1)先求解表达式1; (2)求解表达式2,若为0(假),则结束循环,转到(5); (3)若表达式2为非0(真),则执行循环体,然后求解表达 式 3; (4)转回(2); (5)执行for语句下面的一个语句。 (6)表达式1、2、3可根据情况省略,但建议不可省。 例: for (i=1;i<100;i++) { sum+=I; }
思考:什么是死循环?
循环也可以嵌套使用,即在一个循环的循环体内又可包含另一个完整的循 环,构成多重循环。while语句、do-while语句、for语句可以相互嵌套。
例:输出菲波那切数列的前20项。即前两项为1,以后每一项为前两项之和。 #include <iostream.h> void main() { int i1=1,i2=1,i3,i; cout<<i1<<' '<<i2<<' '; for (i=3;i<=20;i++) { i3=i1+i2; cout<<i3<<' '; i1=i2; i2=i3; } cout<<endl; }
会怎样?
sum+=i++,作为表达式的值,这是一个不为零的数,永真,死循环
do-while语句与while语句的差别 do-while
while
首先执行循环体,再求表达式的值,如其值非 首先求表达式的值,再按 0,则再次执行循环体,直至表达式的值为零; 其值为零或非零决定是否 执行循环体。 循环体至少执行一次。
也可在循环体内使用break等转移语句来中止循环语句。
4.2 do…while语句
结构: do 循环体 while(条件表达式) 该语句至少执行一次循 循环变量初始化
Loop body
环,而while 语句可能一次
都不执行。
nozero Predicate zero
例: #include <iostream.h> void main() { int i ,sum=0; i=1; do { sum=sum+i; i++; }while(i<=100); cout<<”sum=”<<sum<<endl; } 结果: sum=5050 编程时,循环体通常是复合语句,应注意使用花括号。 可简化为: while(sum+=i++,i<=10 ); 如果是: while(i<=10,sum+=i++);
(5)三个表达式都省略
for (;;)
{
sum+=i++; if(i>100) //表达式2作用 break;
} (6)表达式1,2,3,可为任意表达式
for(sum=0,i=1;i<=100;i++) sum+=i; for(i=0,j=100,k=0;i<j;i++,j--) k+=i*j; for(i=1;i<100;sum+化 结构: while (条件表达式) 循环体 循环条件 (predicate) 循环体
0(false)
非0(true)
它的含义为:首先对条件表达式进行判断, 若判断结果为假(false,0),则跳过循环体, 执行while结构后面的语句。若判断结果为真 (true,非0),则进入循环体,执行其中的语 句序列。 while循环由4个部分组成:循环变量初始化, 判断条件,循环体,改变循环变量的值。
第4章 过程化语句
4.1
4.2
4.3 4.4 4.5 4.6 4.7 4.8
while语句 do...while语句 for语句 switch语句 转向语句 过程应用: 求π 过程应用: 判明素数 过程应用: 求积分
教学目的:
1. 掌握C++各种过程化控制语句结构 2. 理解常用的过程化程序实例 3. 掌握程序的开发方法。 教学重点、难点:掌握C++各种过程化控制语 句结构;掌握程序的开发方法。