C++的流程控制语句(VC++第4章).ppt

上传人:豆**** 文档编号:34134042 上传时间:2022-08-14 格式:PPT 页数:31 大小:1.07MB
返回 下载 相关 举报
C++的流程控制语句(VC++第4章).ppt_第1页
第1页 / 共31页
C++的流程控制语句(VC++第4章).ppt_第2页
第2页 / 共31页
点击查看更多>>
资源描述

《C++的流程控制语句(VC++第4章).ppt》由会员分享,可在线阅读,更多相关《C++的流程控制语句(VC++第4章).ppt(31页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、C+的流程控制语句的流程控制语句(VC+第第4章章)Page 2本讲主要内容本讲主要内容if if 语句语句switch switch 语句语句while while 语句语句do-while do-while 语句语句for for 语句语句break break 和和 continue continue 语句语句Page 3 if (if (表达式表达式) ) 语句语句例:例:if (xy) cout xy) cout xy) if (xy) cout xendl; else else cout yendl; cout“x=500TF工资工资+80工资工资+100#include Void

2、 main()Page 5 if (if (表达式表达式p1) p1) 语句语句s1s1else if (else if (表达式表达式p2) p2) 语句语句s2s2else if (else if (表达式表达式p3) p3) 语句语句s3s3 else else 语句语句 n nif if 语句语句 三种形式(二)三种形式(二)表达式表达式1FT语句语句1 1表达式表达式2FT语句语句2 2表达式表达式3FT语句语句3 3语句语句4 4P1P2P3S1S2S3S4TTTFFFPage 6 一般形式一般形式if ( ) if ( ) 语句 1 else 语句 2else if ( ) 语句

3、 3 else 语句 4 注意注意语句 1、2、3、4 可以是复合语句,每层的 if 与 else 配对,或用 来确定层次关系.else与 if的配对规则if if 语句语句 嵌套嵌套IFIF编程举例编程举例( (二)二)计算税款。当月收入INCOME超过800元的需纳税款TAX。纳税比例为8002000为10%,20004000为15%,4000以上为20%。打印出TAX。INCOME = 800TF打印打印TAX=0INCOME=2000TFTAX=(INCOME-800)* *0.1打印打印INCOME=4000TF(INCOME-800)* *0.15打印打印TAX=(INCOME-8

4、00)* *0.2打印打印Page 880020004000S1S2S3S4TFFFTT输出输出TAX输入输入INCOMEPage 9#include void main()int income;float tax;cinincome;if(income800)if(income2000)if(income4000)tax=(income-800)*0.2; else tax=(income-800)*0.15;else tax=(income-800)*0.1; else tax=0; couttaxn;Page 10#include void main()int income;float

5、tax=0;cinincome;if(income800)tax=0;else if(income2000)tax=(income-800)*0.1;else if(income4000)tax=(income-800)*0.15;elsetax=(income-800)*0.2; couttax0)? x : -x; max=ab?a:b 设设a=1.5,b=3 Max=(a=b?a:b)=b?a:b)Max=(t=a=b?a:b)c? c: tPage 14一般形式一般形式switch (switch (表达式表达式) ) case case 常量表达式常量表达式 1 1:语句:语句1 1

6、 case case 常量表达式常量表达式 2 2:语句:语句2 2 case case 常量表达式常量表达式 n n:语句:语句n n default : default : 语句语句n+1n+1 switch switch 语句语句执行顺序执行顺序以case中的常量表达式值为入口标号,由此开始顺序执行。因此,每个case分支最后应该加break语句。每个常量表达式的值不能相同,次序不影响执行结果可以是多个语句,但不必用 可以是整型、字符型、枚举型Page 15使用使用switchswitch语句应注意的问题语句应注意的问题 casecase分支可包含多个语句,且不用分支可包含多个语句,且不

7、用 表达式、判断值都是表达式、判断值都是intint型或型或charchar型型 若干分支执行内容相同可共用一组语句若干分支执行内容相同可共用一组语句 P46P46Page 16#include void main()int i;cini;switch(i)case (0): cout000; break;case (1): cout11111; ;default:couthihit;case(3): cout3333; ;Page 17while while 语句语句形式形式while (表达式) 语句可以是复合语句,其中必须含有改变条件表达式值的语句执行顺序执行顺序先判断表达式的值,非 0

8、 再执行语句 实现“当型”循环表达式表达式语句语句TFPage 18do-while do-while 语句语句一般形式一般形式do 语句while (表达式)可以是复合语句,其中必须含有改变条件表达式值的语句执行顺序执行顺序先执行语句,后判断条件。表达式非0时,继续执行循环体while while 语句与语句与 do-while do-while 语句的比较:语句的比较:语句语句TF表达式表达式Page 19#include #include void main()int i,sum=0;i=1;while(i=100)sum=sum+i;i+;coutsum=sumn;求求1+2+3+.+

9、100dowhile(i=100);Page 20 输入两个正整数M与N,求其最大公约数。 求最大公约数的算法(辗转相除法): 将较大的数(设为M)除以较小的数(设为N) ,若余数(设为R)不为0,则将余数作为新的除数,以前的除数作为新的被除数,再相除,以此循环,直至余数为0,此时的除数即为最大公约数。EX:127 与 56使M为较大的数(127),N为较小的数(56) 次数(I) 被除数(M) 除数(N) 余数(R) 1 127 56 15 编程举例2(当型循环)所以:所以: 6 与与 27 的最大公约数为的最大公约数为 (结束循环标志)(结束循环标志)2 56 15 113 15 11 4

10、 4 11 4 3 5 4 3 1Page 21for for 语句语句形式形式for (for (表达式表达式1 1;表达式;表达式2 2;表达式;表达式3) 3) 语句语句 循环前先求解非0时执行循环体每次执行完循环体后求解流程图流程图求表达式求表达式1TF表达式表达式2 2语句语句表达式表达式3For 语句的语句的下一个语句下一个语句 注意事项注意事项(三个表达式均可省略)(三个表达式均可省略)Page 22#include #include /*void main()int i,sum=0;for(i=1;i=100;i+)sum=sum+i;coutsum=sumn; void ma

11、in() int i,sum=0;i=1;for(;i=100;i+)sum=sum+i;coutsum=sumn;*/ void main()int i,sum=0;i=1;for(;i=100;)sum=sum+i;i+;coutsum=sumn;Page 23循环嵌套循环嵌套(p52)(p52)一个循环体内必须包含完整的循环结构,不一个循环体内必须包含完整的循环结构,不可交叉。可交叉。嵌套嵌套forfor循环的执行流程循环的执行流程P52P52Page 24break break 和和 continue continue 语句语句 breakbreak语句语句 ( (跳出循环)跳出循环)

12、使程序从循环体或使程序从循环体或switchswitch语句内跳出,继续执语句内跳出,继续执行逻辑上的下一条语句。不能用在别处。行逻辑上的下一条语句。不能用在别处。 continue continue 语句语句 ( (不跳出循环)不跳出循环)结束本次循环,接着进行是否执行下一次循环的判断。例:p54Page 25迭代法解一元方程迭代法解一元方程将F(x)改写成求x的式子:x=g(x) 如: x3-2x2+4x+1=0 x=(-x3+2x2-1)/4给x定一个初值x0,代入g(x)求出x的第一次近似值x1再将x1代入g(x)得x2。以此类推,每次将求出的新值作为下一次的初值代入g(x)算法:算法

13、:直到前后两次求出的x值很接近,即|xn+1-xn|=为止,这时xn+1就是所求的近似值Page 26例:用迭代法求 x3-2x2+4x+1=0分析: 先得到x=g(x)的式子,即 x=(-x3+2x2-1)/4。应该考虑到有可能经过多次迭代后仍不收敛的情况,为防止无休止的迭代,规定一个最高循环次数,如达到此次数仍不能满足|xn+1-xn|=,将不再进行迭代,打印相应信息。因此,在设计算法时,要恰当选择g(x)形式和初值x0。流程图及程序迭代法解一元方程迭代法解一元方程Page 27迭代法解一元方程迭代法解一元方程流程图X为初值,n为最高循环次数迭代求新的近似值x1结束整个程序将求出的新值作为

14、下一次迭代的初值i为已迭代次数输入输入 x,nini=0 x1=(-x3+2x2-1)/4.0|x-x1|=10-6x=x1i=i+1运行结束输出x值函数不收敛函数不收敛Page 28#include #include void main() double x,x1,n,i;cin xn;i=0;while (in) x1=(-x*x*x+2*x*x-1)/4; if (fabs(x1-x)1e-3) cout x=x1; break; else cout x=x1=n) cout aaa;/1 1e4分支与循环的结合分支与循环的结合( (举例)举例)密码检查,用户至多密码检查,用户至多可尝试

15、三次。可尝试三次。void main() int pw,count; coutPlease,Input,password:; count=1;while (countpw; if (pw=987) coutnWELCOME!; break; else coutnINPUT AGAIN!; count+; 初始化初始化读入读入 PWPW当当count = 3PW = 987F记记 数数再读再读 PWPW确认确认TPage 30标号和标号和gotogoto语句语句 标号格式标号格式 label:slabel:s例例 a1:y+=ya1:y+=y* *x;x; 标号的组成规则与标识符相同,但不需说明

16、可直接标号的组成规则与标识符相同,但不需说明可直接使用。使用。 gotogoto语句格式语句格式 goto label;goto label; 功能:无条件地将控制转移到标有该标号的语句处功能:无条件地将控制转移到标有该标号的语句处执行。执行。 禁止从条件语句的外面转移到条件语句的里面。禁止从条件语句的外面转移到条件语句的里面。禁止从循环语句的外面转移到循环语句的里面。禁止从循环语句的外面转移到循环语句的里面。 尽量少用尽量少用gotogoto语句。语句。Page 31exit() exit() 和和 abort()abort()函数函数 exit()exit()函数功能:函数功能:用于正常终

17、止程序的执行,运行该函数时,系统做结束程序前用于正常终止程序的执行,运行该函数时,系统做结束程序前的收尾工作。的收尾工作。 格式:格式:exit(exit();表达式值(整型常数)为终止程序执行的原因,表达式值(整型常数)为终止程序执行的原因,0 0表示正常退出表示正常退出 abort()abort()函数功能:函数功能:用于异常终止程序的执行,运行该函数时,系统不做结束程序用于异常终止程序的执行,运行该函数时,系统不做结束程序前的收尾工作,直接终止程序执行。前的收尾工作,直接终止程序执行。 格式:格式: abortabort();();括号内无参数。括号内无参数。 使用这两个函数时,都应包含头文件使用这两个函数时,都应包含头文件stdlib.hstdlib.h

展开阅读全文
相关资源
相关搜索

当前位置:首页 > pptx模板 > 企业培训

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com