对于要先做判断再选择的问题就要使用分支结构。分支结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序。分支结构的程序设计方法的关键在于构造合适的分支条件和
分析程序流程,根据不同的程序流程选择适当的分支语句。分支结构适合于带有
逻辑或关系比较等条件判断的计算,设计这类程序时往往都要先绘制其
程序流程图,然后根据程序流程写出
源程序,这样做把程序设计分析与语言分开,使得问题简单化,易于理解。
学习分支结构不要被分支嵌套所迷惑,只要正确绘制出
流程图,弄清各分支所要执行的功能,嵌套结构也就不难了。嵌套只不过是分支中又包括分支语句而已,不是新知识,只要对双分支的理解清楚,分支嵌套是不难的。下面我介绍几种基本的分支结构。
该语句也是多分支
选择语句,到底执行哪一块,取决于开关设置,也就是
表达式的值与常量表达式相匹配的那一路,它不同if…else 语句,它的所有分支都是并列的,程序执行时,由第一分支开始查找,如果相匹配,执行其后的块,接着执行第2分支,第3分支……的块,直到遇到break语句;如果不匹配,查找下一个分支是否匹配。这个语句在应用时要特别注意开关条件的合理设置以及
break语句的合理应用。
用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来
控制程序的流程。 使用选择结构语句时,要用
条件表达式来描述条件 示例:If x = 5 Then y = x + 1 If a>1 And b<>0 Then x = 1 当然各种程序对选择结构语法不一样。例如: C语言的选择结构为: if(条件表达式1) {
语句块1;} else if(条件表达式2) {语句块2;} else if(条件表达式3) {语句块3;} . . . else {语句块n;} VB 中的选择结构为: If(条件表达式1) then 语句块1 ElseIf(条件表达式2) then 语句块2 . . . Else 语句块n End If C语言中
switch 语句为: switch(变量或表达式) { case 常量表达式1: 语句块1; break; case 常量表达式2: 语句块2; break; ……. case 常量表达式n: 语句块n; break; default:语句块n+1 break; } VB语言中
Select Case(相当于C的switch)语句为: Select Case 变量或表达式 Case 表达式列表1 语句块1 Case 常量表达式2 语句块2 ……. Case 常量表达式n: 语句块n [Case Else 语句块n+1] End Select } 条件表达式可以分为两类:
关系表达式和
逻辑表达式 条件表达式的取值为
逻辑值(也称
布尔值): 真(True) 和假(False) C用非0表示真,0表示假 以下的说明以C为依据: 1-
关系运算符和关系表达式 关系运算是比较简单的一种
逻辑运算, 其优先次序为: < 、 <= 、 > 、 >=
优先级相同,高 = = 、 != 优先级相同,低 用关系运算符连接起来的式子称为关系表达式。关系表达式的值是真/假。C语言中,非零即为真,零代表假 a=3,b=5,则关系表达式 a>b的值是假,而a
双目运算符,在双目运算符中,它的优先级比赋值运算符要高: 算术运算符 高 关系运算符 赋值运算符 低 比如,a=1,b=3 a=b>5 即 a=(b>5),a+b>5 即 (a+b)>5 而a>b=5则是错误的表达式,因为它的实际含义是:(a>b)=5, C语言不允许对表达式赋值! 2-逻辑运算符和逻辑表达式 C语言提供了3个逻辑运算符,其中一个是单目运算符 逻辑表达式也只有两个值:真和假