基本控制结构程序设计选择结构.ppt

上传人:仙人指路1688 文档编号:2263184 上传时间:2023-02-07 格式:PPT 页数:14 大小:156.50KB
返回 下载 相关 举报
基本控制结构程序设计选择结构.ppt_第1页
第1页 / 共14页
基本控制结构程序设计选择结构.ppt_第2页
第2页 / 共14页
基本控制结构程序设计选择结构.ppt_第3页
第3页 / 共14页
基本控制结构程序设计选择结构.ppt_第4页
第4页 / 共14页
基本控制结构程序设计选择结构.ppt_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《基本控制结构程序设计选择结构.ppt》由会员分享,可在线阅读,更多相关《基本控制结构程序设计选择结构.ppt(14页珍藏版)》请在三一办公上搜索。

1、第2章 基本控制结构程序设计,C+程序设计(第2版),生医学院06级C+程序设计 copyright:柏毅,版本号:V2006.10-07.01,C+语言是结构化的程序设计语言。采用结构化程序设计方法,可以使程序的逻辑结构清晰、可读性好、可靠性强,从而提高程序的开发效率。结构化程序设计是由三种基本结构表示的,即顺序结构、选择结构和循环结构。由这三种基本结构经过反复嵌套,可以实现各种算法。函数是 C+程序的基本模块,在这个基本模块中,至少应包含上述的一种基本结构,或者是三种基本结构的复合,由此就构成了C+程序和结构化特征。,C+语言的结构化程序设计方法,2.2.1 if 语句 if条件语句有三种

2、基本形式,简单 if 形式、嵌套if.else形式和阶梯else.if形式。简单 if 形式:if(表达式)语句块;功能:如果表达式的值为TRUE(非0),则执行后边的语句块;否则不执行表达式后面的词句块,而是继续执行整个if语句后面的语句。,选择结构的功能是根据对条件的逻辑判断,决定程序中相关流程的执行路径。C+语言为分支结构提供了两种语句:if条件语句和switch开关语句。,2.2 分支结构程序设计,注意:if中的表达式可以是一个逻辑表达式、算术表达式、甚至是一个常量。,例:2.1 求输入整数的绝对值。#includevoid main(void)int a,b;couta;b=a;if

3、(b0)b=-b;coutn|a|=bn;,嵌套if.else形式:if(表达式)语句块1;else语句块2;,功能:如果表达的值为非0(TRUE),则执行语句块1,否则执行语句块2。最后执行整个if.else语句后面的语句。,#includevoid main()int a,b;coutab;if(a!=b)if(ab)coutBn;else coutABn;elsecoutA=Bn;,在此例中使用了if.else形式,并且if.else语句中嵌套了另一个if.else语句。在ANSI标准中规定,编译程序至少要支持15层嵌套。两个else中第一个与内层if相配,第二个与外层if相配。在嵌套的

4、if语句中,else总是与它最接近的if语句相配。,例2.2比较两个输入数的大小。,if(表达式1)语句块1;else if(表达式2)语句块2;else if(表达式3).语句块3;.else语句块n;,功能:从表达式1开始,依次计算,如果某个表达式为非0(TRUE),则执行该表达式后边的语句块,然后转到整个if语句后面的语句。如果所有表达式的值都为0(FLASE),则执行else后面的语句块n;该结构中,最后一个else可以没有,或者只有一个。,阶梯型的else.if,#includevoid main(void)int x,y,z,max;coutxyz;max=x;if(zy)if(z

5、x)max=z;elseif(yx)max=y;coutmax_num=maxendl;,if(zy)if(zx)max=z;elseif(yx)max=y;,例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?,Zx?,Yx?,F,T,F,T,T,T,T,F,F,F,Max=x,开关选择语句又称为多路分支语句,它根据一个量的多种不同可能,选择执行程序的某一个分支。,其一般形式如下:switch(表达式1)case 表达式2:语句块1;break;cas

6、e 表达式3:语句块2;break;。case 表达式n:语句块n;break;default:语句块n+1;break;,2.2.4 switch语句,执行switch语句时,先计算括号内的值,然后,将其结果值与各个case语句中的常量值相比较,当与某个一致时,就执行该case后面的语句块,直到碰到break或者switch语句执行完为止。若没有一个常量与表达式的值相等,则执行default语句。default是可选的,如果defualt不存在,并且所有的常量与表达式不相等,就不进行任何处理。,功能:,(1)switch语句中,表达式的类型必须是整形或字符形;如果使用字符形,C+将自动将其转

7、换成为整形,也就是实际使用的该字符所对应的ASCII值,对应的case也一样。(2)switch语句与if语句的不同之外在于,if语句可以计算关系表达式或逻辑表达式,而switch只能对等式进行测试。(3)在同一个switch语句中,任意两个case的表达式的值不允许相同。(4)在switch语句中,break语句终止当前所在case的语句块,并退出switch语句,否则将自动进入下一个case语句块中。,注意:,#includevoid main(void)int i,flag=1;couti;switch(i)case 1:;case 2:;case 3:flag=0;break;case

8、 4:flag=-1;case 5:couterror=flagendl;break;default:cout.put(char)i);,程序说明:(1)每个case都可以有空语句。在这个例子中前三个case都执行了同样的语句:flag=0;break;(2)如果break语句不存在,就将在下一个 case中继续执行。例中,如果i=4,那么flag=-1,由于没有break语句,继续执行,这样cout.put(char)i);也就被执行。如果i=5,putchar;将被调用。,(3)一般情况下,switch可由if语句替代,本例可改写为if.else语句如下:,#includevoid main(void)int i,flag=1;cin i;if(i=1,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号