基本控制结构程序设计选择结构PPT资料.ppt
- 文档编号:14338532
- 上传时间:2022-10-22
- 格式:PPT
- 页数:14
- 大小:207.50KB
基本控制结构程序设计选择结构PPT资料.ppt
《基本控制结构程序设计选择结构PPT资料.ppt》由会员分享,可在线阅读,更多相关《基本控制结构程序设计选择结构PPT资料.ppt(14页珍藏版)》请在冰豆网上搜索。
如果表达式的值为TRUE(非0),则执行后边的语句块;
否则不执行表达式后面的词句块,而是继续执行整个if语句后面的语句。
选择结构的功能是根据对条件的逻辑判断,决定程序中相关流程的执行路径。
C+语言为分支结构提供了两种语句:
if条件语句和switch开关语句。
2.2分支结构程序设计,注意:
if中的表达式可以是一个逻辑表达式、算术表达式、甚至是一个常量。
例:
2.1求输入整数的绝对值。
#includevoidmain(void)inta,b;
couta;
b=a;
if(b0)b=-b;
coutn|a|=bn;
嵌套if.else形式:
if(表达式)语句块1;
else语句块2;
功能:
如果表达的值为非0(TRUE),则执行语句块1,否则执行语句块2。
最后执行整个if.else语句后面的语句。
#includevoidmain()inta,b;
coutab;
if(a!
=b)if(ab)coutBn;
elsecoutABn;
elsecoutA=Bn;
在此例中使用了if.else形式,并且if.else语句中嵌套了另一个if.else语句。
在ANSI标准中规定,编译程序至少要支持15层嵌套。
两个else中第一个与内层if相配,第二个与外层if相配。
在嵌套的if语句中,else总是与它最接近的if语句相配。
例2.2比较两个输入数的大小。
if(表达式1)语句块1;
elseif(表达式2)语句块2;
elseif(表达式3).语句块3;
.else语句块n;
从表达式1开始,依次计算,如果某个表达式为非0(TRUE),则执行该表达式后边的语句块,然后转到整个if语句后面的语句。
如果所有表达式的值都为0(FLASE),则执行else后面的语句块n;
该结构中,最后一个else可以没有,或者只有一个。
阶梯型的else.if,#includevoidmain(void)intx,y,z,max;
coutxyz;
max=x;
if(zy)if(zx)max=z;
elseif(yx)max=y;
coutmax_num=maxendl;
if(zy)if(zx)max=z;
例2.3从输入的三个数中求最大的数。
(含错误的程序),x,y,z,Max=x,Max=x,Max=z,Max=y,X,y,z,Max=x,Max=z,Max=y,Zy?
Zx?
Yx?
Zy?
F,T,F,T,T,T,T,F,F,F,Max=x,开关选择语句又称为多路分支语句,它根据一个量的多种不同可能,选择执行程序的某一个分支。
其一般形式如下:
switch(表达式1)case表达式2:
语句块1;
break;
case表达式3:
语句块2;
。
case表达式n:
语句块n;
default:
语句块n+1;
2.2.4switch语句,执行switch语句时,先计算括号内的值,然后,将其结果值与各个case语句中的常量值相比较,当与某个一致时,就执行该case后面的语句块,直到碰到break或者switch语句执行完为止。
若没有一个常量与表达式的值相等,则执行default语句。
default是可选的,如果defualt不存在,并且所有的常量与表达式不相等,就不进行任何处理。
(1)switch语句中,表达式的类型必须是整形或字符形;
如果使用字符形,C+将自动将其转换成为整形,也就是实际使用的该字符所对应的ASCII值,对应的case也一样。
(2)switch语句与if语句的不同之外在于,if语句可以计算关系表达式或逻辑表达式,而switch只能对等式进行测试。
(3)在同一个switch语句中,任意两个case的表达式的值不允许相同。
(4)在switch语句中,break语句终止当前所在case的语句块,并退出switch语句,否则将自动进入下一个case语句块中。
注意:
#includevoidmain(void)inti,flag=1;
couti;
switch(i)case1:
;
case2:
case3:
flag=0;
case4:
flag=-1;
case5:
couterror=flagendl;
cout.put(char)i);
程序说明:
(1)每个case都可以有空语句。
在这个例子中前三个case都执行了同样的语句:
(2)如果break语句不存在,就将在下一个case中继续执行。
例中,如果i=4,那么flag=-1,由于没有break语句,继续执行,这样cout.put(char)i);
也就被执行。
如果i=5,putchar;
将被调用。
(3)一般情况下,switch可由if语句替代,本例可改写为if.else语句如下:
cini;
if(i=1,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基本 控制 结构 程序设计 选择