a基本控制结构和导出数据类型

上传人:豆浆 文档编号:56673391 上传时间:2018-10-14 格式:PPT 页数:113 大小:1.46MB
返回 下载 相关 举报
a基本控制结构和导出数据类型_第1页
第1页 / 共113页
a基本控制结构和导出数据类型_第2页
第2页 / 共113页
a基本控制结构和导出数据类型_第3页
第3页 / 共113页
a基本控制结构和导出数据类型_第4页
第4页 / 共113页
a基本控制结构和导出数据类型_第5页
第5页 / 共113页
点击查看更多>>
资源描述

《a基本控制结构和导出数据类型》由会员分享,可在线阅读,更多相关《a基本控制结构和导出数据类型(113页珍藏版)》请在金锄头文库上搜索。

1、1,第 4章 基本控制结构与导出数据类型,4.1 控制语句、复合语句和空语句4.2 分支语句4.3 循环语句4.4 转向语句 。,2,4.1控制语句、复合语句和空语句,简单的计算器 #includeiostream.h void main()int x,y;cout“first integer:”;cinx; / 输入一个整数coutendl“Second integer:”;ciny; / 输入一个整数coutendlx“+“y“=“x+y=a ,12,例2,输出数值型变量a与b中的较大者。 if( ab) coutb?a:b;注意,if句中所含的“”(或“”或“”)可以是任意语句,如,一个

2、复合语句或者又是一个if语句等。,13,例3,若int型变量x的值小于y的值时,则将x与y的值互换;否则,将x与y的值各加上100。 if后的“”为一个复合语句。复合语句以左花括号“”开始,以右花括号“”结束,花括号中为一个语句序列(或称语句组)。复合语句在逻辑上属于一个语句(参看书p86的4.1.3小节)。,14,if( xt; /温度值tcincorf; /摄氏或华氏的字母,22,if(corf=c|corf=C)tc=t; tf=t*fac+inc; elseif(corf=f|corf=F)tf=t;tc=(t-inc)/fac; else /字母输入有错!tc=tf=0; /将tc及

3、tf均置为0cout“The temperature is:“; couttc“C=“tf“Fn“; ,23,思考题:,如下程序执行后的输出是“i!=5, OK!”呢? 还是“i=5, j void main()int i=66, j=99;if ( i=5 )cout“i=5, “;elsecout“i!=5, “;if ( j8 );cout“j8, “;cout“OK!“endl; ,24,注意,1比较相等的运算符“=”和进行赋值的运算符“=”的使用区别。2. if语句中,作为条件的表达式结果值非0时,意味着条件成立呢,还是不成立?3“空语句”的表现形式及使用含义。,25,2 用于多分支

4、的switch语句,switch语句又称开关选择语句或分情况语句, 它是一种多分支选择语句。该语句的使用格式如下:switch( )case : case : . . . case : default: ,26,紧随switch后括号中的“”给出进行分支的条件,它必须是一个整型、字符型或枚举型的表达式。关键字case用于引出一个分支。case后的各“” 均为switch后“”的一个可能值(两者的类型应该相同)。实际上,每个“case :”都只起一个语句标号的作用。,27,执行过程为:,若switch后“”的取值恰与某个 “”的值相同, 则直接跳转到“case :”后的那一分支的起始点处去执行(

5、直到遇到break语句或者遇到了switch语句体的右花括号后结束本switch句)。若“”的值与任一个“”的值都不相同, 那么: 若有default分支, 则跳转到“default:”后的那一分支的起始点处去执行, 否则什么都不执行(而结束本switch句)。,28,例1.,若int型变量i=2, 执行下述switch语句后, 将输出 “i=2”以及”i=2”两行;若i=5,则什么也不输出(而结束该switch句);若i=1时,要输出3行“i=1”。switch (i)case 1:cout“i=“iendl; case 2: cout“i=“iendl; case 3: cout“i=“i

6、endl; ,29,注意,执行switch时,要从分支起始点处开始执行,直到遇到break语句或者遇到了switch语句体的右花括号后才结束本switch语句。思考:若在上述三个“cout“i=“iendl;”后各加一个“break;”语句的话,又将如何呢?,30,例2.,若int型变量score=86, 执行下述switch语句后, 将输出“grade=B”;若score处于90到100之间,将输出“grade=A”; . ;若score/10不处于6到10之间(如, score为59, 0, 123, -12等), 将输出“grade=E”。,31,switch (score/10) ca

7、se 10: /值为10与9的分支合为一体case 9: cout“grade=A“endl;break;case 8:cout“grade=B“endl; break;case 7:cout“grade=C“endl; break;case 6: cout“grade=D“endl; break;default: cout“grade=E“endl; ,32,若将上述switch语句作为下述if语句之else后的一个分支句的话, 则将只对0100间的数进行处理。if(score100)cout“ERROR!“x;couty;coutop;,37,switch (op) /根据运算符op的值来进行多分支处理case +:coutx“+“y“=“x+yendl;break;case -:coutx“-“y“=“x-yendl;break;case *:coutx“*“y“=“x*yendl;break;,38,case /: if(y=0) /分母为0时的处理cout“overflow!“endl; elsecoutx“/“y“=“x/yendl; break;case %:if(y=0) /分母为0时的处理cout“overflow!“endl; else coutx“%“y“=“x%yendl;break;default:cout“Wrong!“endl;break; ,

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

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号