欢迎来到天天文库
浏览记录
ID:40838807
大小:861.01 KB
页数:88页
时间:2019-08-08
《Chap3程序的流程控制》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Chap3程序的流程控制主要内容语句概述表达式语句复合语句选择语句(选择结构)循环语句(循环结构)转移语句空语句程序设计风格常用算法设计语句概述表达式构成了数据处理的基本单位。当程序中有多个表达式时,面临的问题:先计算哪一个表达式?根据不同的情况,如何选择计算不同的表达式?一个或几个表达式需要重复计算多次时,如何进行?解决方法用不同的语句解决上述问题,实现对程序执行流程的控制程序的流程指程序语句的执行顺序。C++语句分类表达式语句表达式语句在C++表达式的后面加上一个分号“;”.格式:<表达式>;例如:
2、a+b*c;a>b?a:b;a++;x=a
3、b&c;C++中,把数据定义也看成语句.较常使用的表达式语句赋值自增/自减输入/输出无返回值的函数调用,等例如x=a+b;//赋值x++;//自增f(a);//函数调用cin>>a;//输入cout<例3.2等差级数求和,同学自己看复合语句定义由一对花括号括起来的一条或多条语句又称为分程序(block)格式为:{<语句序列>}<语句序列>中的语句可以是任何的C++语句,
4、包括数据定义语句。复合语句一般作为函数体和结构语句的成分语句。语法上,复合语句可看作是一个语句。复合语句举例{inta,b;cin>>a>>b;intmax;if(a>=b)//选择语句max=a;elsemax=b;cout<5、条件是逻辑值关系表达式逻辑表达式(选择结构)选择结构的不同形式3.switch语句switch(E){casee1:s1casee2:s2……caseen:sndefault:s//可缺省}1.if…else结构if(E1)s1[elseS2]2.elseif结构(多重选择)if(E1)s1elseif(E2)s2elseif(E3)s3…elseif(En)SnelseSif…else结构格式(两种):if(E1)Sif(E1)S1elseS2例P453-3说明:1)当E1的值为真时,执行语句s1;[6、值为假时,执行语句s2。]2)s1、s2可以是复合语句。3)选择结构可以嵌套,但要注意if与else的配对关系。最好用括号强制配对。else与其前面的离它最近的未配对的if配对。例3.4注意:浮点数不能作等于零的判断INT_MAX,SHRT_MAX,INT_MINDBL_EPSILON,FLT_EPSILONif结构的流程图第一种格式第二种格式例P45//从键盘输入三个整数,计算其中的最大值并将其输出#includeusingnamespacestd7、;intmain(){inta,b,c,max;cout<<"请输入三个整数:"<>a>>b>>c;if(a>b)max=a;elsemax=b;if(c>max)max=c;cout<<"最大者为:"<)if(<表达式2>)<语句1>else<语句2>if(<表达式1>)if(<表达式2>)<语句1>else<语句2>if(<表达式1>)if(<表达式2>)<语句1>else<语8、句2>C++规定:else子句与前面最近的、没有else子句的if配对。上面的if语句解释为:if(<表达式1>)if(<表达式2>)<语句1>else<语句2>P48输出结果是什么?elseif结构(多重选择)if(E1)s1elseif(E2)s2elseif(E3)s3…elseif(En)SnelseSm流程图例P46例3.5(同学自己看,作业)例3.6P47比较二个时间若要按2解释,则需要加上一对花括号:if(<表达式1>){if(<表达式2>)<语句1>}else<语句2>程序的效率(P489、)switch语句对嵌套的if结构改进,以增强程序的可读性。switch语句格式(又称开关语句)(P50)switch(E){casee1:s1casee2:s2……caseen:sn[default:s]//可缺省}流程图例3.7,3.8P49(输出对应星期的英文单词)switch例子从键盘输入一个星期的某一天,然后输出其对应的英语单词(0:星期天;1:星期一;...)//P49,50#includeusingname
5、条件是逻辑值关系表达式逻辑表达式(选择结构)选择结构的不同形式3.switch语句switch(E){casee1:s1casee2:s2……caseen:sndefault:s//可缺省}1.if…else结构if(E1)s1[elseS2]2.elseif结构(多重选择)if(E1)s1elseif(E2)s2elseif(E3)s3…elseif(En)SnelseSif…else结构格式(两种):if(E1)Sif(E1)S1elseS2例P453-3说明:1)当E1的值为真时,执行语句s1;[
6、值为假时,执行语句s2。]2)s1、s2可以是复合语句。3)选择结构可以嵌套,但要注意if与else的配对关系。最好用括号强制配对。else与其前面的离它最近的未配对的if配对。例3.4注意:浮点数不能作等于零的判断INT_MAX,SHRT_MAX,INT_MINDBL_EPSILON,FLT_EPSILONif结构的流程图第一种格式第二种格式例P45//从键盘输入三个整数,计算其中的最大值并将其输出#includeusingnamespacestd
7、;intmain(){inta,b,c,max;cout<<"请输入三个整数:"<>a>>b>>c;if(a>b)max=a;elsemax=b;if(c>max)max=c;cout<<"最大者为:"<)if(<表达式2>)<语句1>else<语句2>if(<表达式1>)if(<表达式2>)<语句1>else<语句2>if(<表达式1>)if(<表达式2>)<语句1>else<语
8、句2>C++规定:else子句与前面最近的、没有else子句的if配对。上面的if语句解释为:if(<表达式1>)if(<表达式2>)<语句1>else<语句2>P48输出结果是什么?elseif结构(多重选择)if(E1)s1elseif(E2)s2elseif(E3)s3…elseif(En)SnelseSm流程图例P46例3.5(同学自己看,作业)例3.6P47比较二个时间若要按2解释,则需要加上一对花括号:if(<表达式1>){if(<表达式2>)<语句1>}else<语句2>程序的效率(P48
9、)switch语句对嵌套的if结构改进,以增强程序的可读性。switch语句格式(又称开关语句)(P50)switch(E){casee1:s1casee2:s2……caseen:sn[default:s]//可缺省}流程图例3.7,3.8P49(输出对应星期的英文单词)switch例子从键盘输入一个星期的某一天,然后输出其对应的英语单词(0:星期天;1:星期一;...)//P49,50#includeusingname
此文档下载收益归作者所有