(精品)Ch4-流程控制语句.ppt

上传人:hyn****60 文档编号:70946612 上传时间:2023-01-29 格式:PPT 页数:50 大小:2.32MB
返回 下载 相关 举报
(精品)Ch4-流程控制语句.ppt_第1页
第1页 / 共50页
(精品)Ch4-流程控制语句.ppt_第2页
第2页 / 共50页
点击查看更多>>
资源描述

《(精品)Ch4-流程控制语句.ppt》由会员分享,可在线阅读,更多相关《(精品)Ch4-流程控制语句.ppt(50页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、流程控制语句流程控制语句曹迎春曹迎春学习目标n熟练掌握C+各种流程控制语句的用法,会用流程控制语句构造程序。分支控制语句:if-else语句;多分支控制语句:switch语句;三种循环语句:for循环、while循环和do-while循环语句。2023/1/292知识点nif语句nif-else语句nswitch语句nwhile语句ndo-while语句nfor语句nbreak语句ncontinue语句2023/1/293C+流程控制语句nif语句,也称为分支语句nswitch语句,也称之为多分支语句n循环语句nbreak和continue语句,这两个语句与switch语句或循环语句配合使用n

2、goto语句2023/1/294IF语句语句2023/1/295if语句nif语句的一般形式如下:if(表达式)语句;n例:if(count!=0)average=sum/count;if(balance 0)interest=balance*creditRate;balance+=interest;2023/1/296if-else语句n一般形式如下:if(表达式)语句1;else语句2;2023/1/297if-else语句2023/1/298if(balance 0)interest=balance*creditRate;else interest=balance*debitRate;b

3、alance+=interest;interest=balance*(balance 0?creditRate:debitRate);balance+=interest;balance+=balance*(balance 0?creditRate:debitRate);if(balance 0)interest=balance*creditRate;balance+=interest;else interest=balance*debitRate;balance+=interest;嵌套的if语句nif(callHour 6)if(callDuration=5)charge=callDurat

4、ion*tarrif1;elsecharge=5*tarrif1+(callDuration-5)*tarrif2;elsecharge=flatFee;nif(cos(value)0)/若value 大于零value=value-PI;else value=value+PI;2023/1/299嵌套的if语句 if(ch=0&ch=A&ch=a&ch=0&ch=A&ch=a&ch=z)kind=smallLetter;elsekind=special;嵌套的if语句n注意:else语句都是与离它最近的if语句配对。2023/1/2911if(x=0)if(x 0)y=1;else y=0;e

5、lse y=-1;SWITCH语句语句2023/1/2912switch语句nswitch语句的一般形式如下:switch(表达式)case常量表达式1:语句;.case常量表达式n:语句;default:语句;2023/1/2913switch语句nswitch(operator)case+:result=operand1+operand2;break;case-:result=operand1-operand2;break;case*:result=operand1*operand2;break;case/:result=operand1/operand2;break;default:co

6、ut unknown operator:ch n;break;2023/1/2914switch语句nswitch(operator)case+:result=operand1+operand2;break;case-:result=operand1-operand2;break;case x:case*:result=operand1*operand2;break;case/:result=operand1/operand2;break;default:cout unknown operator:ch n;break;2023/1/2915switch语句nif(operator=+)res

7、ult=operand1+operand2;else if(operator=-)result=operand1-operand2;else if(operator=x|operator=*)result=operand1*operand2;else if(operator=/)result=operand1/operand2;elsecout unknown operator:ch n;2023/1/2916程序举例n要求用户输入一个整数,整数范围为15之间,然后,计算机根据整数的值,发出鸣叫声。例如,输入数字1,则鸣叫一声,输入数字2,则鸣叫两声,如果是15之外的数,则没有叫声。2023/

8、1/2917用if-else实现#include#define BEEP cout a nvoid main()int num;cout num;/Use multiple if statements to beep.if(num=1)BEEP;else if(num=2)BEEP;BEEP;2023/1/2918else if(num=3)BEEP;BEEP;BEEP;else if(num=4)BEEP;BEEP;BEEP;BEEP;else if(num=5)BEEP;BEEP;BEEP;BEEP;BEEP;用switch实现#include#define BEEP cout a nvo

9、id main()int num;cout num;switch(num)case 1:BEEP;break;case 2:BEEP;BEEP;break;case 3:BEEP;BEEP;BEEP;break;case 4:BEEP;BEEP;BEEP;BEEP;break;case 5:BEEP;BEEP;BEEP;BEEP;BEEP;2023/1/2919循环语句循环语句2023/1/2920while语句nwhile语句的一般形式如下:while(表达式)语句;n例:计算整型数1n的和。int i=1,sum=0;while(i=n)sum+=i+;2023/1/2921while循环

10、语句的执行过程循环次数ini n;cout n*n n;while(n!=0);2023/1/2924for语句nfor语句的一般形式如下:for(表达式1;表达式2;表达式3)语句;2023/1/2925表达式1;while(表达式2)语句;表达式3;例:计算整型数1n的和:sum=0;for(i=1;i=n;+i)sum+=i;for语句nfor语句中三个表达式中任一个均可以省略。for(;i!=0;)/等价于:while(i!=0)语句;nfor循环可以有多个循环变量,循环变量的表达式之间用逗号隔开。for(i=0,j=0;i+j n;+i,+j)语句;n循环能够被嵌套。for(int

11、i=1;i=3;+i)for(int j=1;j=3;+j)cout (i ,j )n;2023/1/2926(1,1)(1,2)(1,3)(2,1)(2,2)(2,3)(3,1)(3,2)(3,3)for语句举例n打印乘法表。2023/1/2927程序举例#include#include /for setwint main()int row,col;/display top row of numberscout ;for(col=1;col=10;col+)cout setw(5)col;cout endl;/display linecout ;for(col=0;col=50;col+)c

12、out -;2023/1/2928/display 10 rowsfor(row=1;row=10;row+)/display row number and vertical barcout endl setw(2)row|;/display 1 row of the tablefor(col=1;col=10;col+)cout setw(5)row*col;cout number;while(number!=0)sum+=number;cin number;/有break语句int sum=0,number;while(1)cin number;if(number=0)break;sum+

13、=number;break语句n注意:break语句只是跳出当前的循环语句,对于嵌套的循环语句,break语句的功能是从内层循环跳到外层循环。2023/1/2931int i=0,j,sum=0;while(i 5)for(j=0;j num;if(num num;if(num=0)/处理num.while(num!=0);程序举例n循环终止的条件改为读n个整数:2023/1/2934for(i=0;i num;if(num 0)continue;/跳转到:+i/处理num.goto语句ngoto语句,使程序执行分支转移到被称为称号(label)的目的地。n例:用goto语句来显示1100的数

14、字:#include void main()int count=1;label:cout count+;if(count。n通过键入字符+、-、*或/(分别表示加、减、乘或除运算符)响应程序的提示command,能够支持加、减、乘、除运算。n当一个运算符输入后,程序便要求输入同当前值一起运算的第二个数。若给定了第二个数,程序便执行指定的运算,显示新的当前值。n在程序提示command后可接受字符C作为清除当前值的命令,即将当前值设置为0。n在程序提示command后可接受字符Q命令,终止程序的运行。2023/1/2939n算法分析:初始化:设置当前值为0.0、显示当前值、提示用户输入命令字符及

15、读当前值。循环。当Q命令键入时,循环终止。循环体内完成如下工作:I.处理命令。如果要求输入数据,还要进行运算II.显示运算结果III.提示用户输入命令字符IV.读命令字符2023/1/29402023/1/2941n程序要处理的数据:当前显示的值:一个double型数,用变量displayed_value表示命令字符:一个字符,用变量command_character表示参与运算的另一个double型数,用变量new_entry表示2023/1/2942n循环的控制结构:while(command_character!=Q)/switch语句./输入下一个命令cout “Value:”disp

16、layed_value endl;cout”;cin command_character;2023/1/2943nswitch语句处理的命令:C清除命令,设置当前值为0;+加,要求输入一个double型数,并作加法运算;-减,要求输入一个double型数,并作减法运算;*乘,要求输入一个double型数,并作乘法运算;/除,要求输入一个double型数,并作除法运算;不合适的命令,应该给出错误信息提示。2023/1/2944nswitch语句结构:switch(command_character)case C:displayed_value=0.0;break;case+:default:co

17、ut “不可理解的输入!”;cin.ignore(100,n);2023/1/2945完整的程序#include int main()double displayed_value;double new_entry;char command_character;displayed_value=0.0;cout 计算器演示程序 endl-endl;cout 提示后输入一个命令字符 endl;cout Value:displayed_value endl;cout;cin command_character;2023/1/2946while(command_character!=Q)switch(c

18、ommand_character)case C:displayed_value=0.0;break;case+:cout;cin new_entry;displayed_value+=new_entry;break;case-:cout;cin new_entry;displayed_value-=new_entry;break;2023/1/2947 case*:cout;cin new_entry;displayed_value*=new_entry;break;case/:cout;cin new_entry;displayed_value/=new_entry;break;default:cout 不可理解的输入!;cin.ignore(100,n);/End of switchcout Value:displayed_value endl;cout;cin command_character;/End of whilereturn 0;2023/1/2948计算器演示程序 在 提示后输入一个命令字符Value:0command+number1.23Value:1.23command*number6.4Value:7.872commandCValue:0command Q 键入Q后,程序运行终止。2023/1/29492023/1/2950

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

当前位置:首页 > 生活休闲 > 生活常识

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁