选择结构程序设计

3.2.1 关系运算符及其优先次序

  <,<=,>,>=的优先级相同,高于==!===!=的优先级相同

优先级高的先运算,再算优先级低的,优先级相同,从左到右

3.2.2 关系表达式

用关系运算符连接的式子叫关系表达式,他的结果是表示逻辑的,c语言用0表示假,1表示真

逻辑运算符略

3.3.4 逻辑运算的优先顺序

非!>算术运算>关系运算>&&和||>赋值运算

例如:!a&&b||x>y&&c

(!a)&&b||(x>y)&&c

先算!a,第二算x>y,剩下的都是逻辑与或了,先算逻辑与再算逻辑或

3.4 用if语句设计选择结构

单分支

1
2
3
if ( <条件表达式> ) 

<语句>

双分支

1
2
3
4
5
6
7
if ( <条件表达式> ) 

<语句>

else

<语句>

多分支

1
2
3
4
5
6
7
8
9
if ( <条件表达式> ) 

<语句>

else if ( <条件表达式> )

<语句>

else <语句>

使用条件表达式时,还应注意以下几点:

注意,三目运算也是一个选择结构

条件?a:b

可以写成

if(条件)a;else b;

3.6 switch的多分支结构

参考 C语言的基本控制结构

switch语句,又称为开关语句。它允许程序根据表达式的计算结果在多个分支中进行选择。switch语句的语法格式如下:

在使用switch语句的时候,需要注意下面几点限制。

(1)case语句中的常量必须是整型常量、字符常量或枚举常量。在实际应用中,经常将常量用#define进行宏定义,以便提高程序的可读性。

(2)在switch语句中,所有的case常量不允许重复,default分支可以省略,并且case后面的语句序列是一组语句,而不是一条语句。

(3)在实际应用中,经常将break语句作为每个case分支的语句序列的最后一条语句,以表示该分支的计算结束,并随后跳出switch语句,终止switch语句的继续执行。

(4)如果在case分支的语句序列的最后没有放置break语句,则程序执行完这个case分支的语句序列后,将继续执行下一个case分支的语句序列。利用这个特征,在case分支之后也可以不给出语句序列。当开关值等于这个case分支的常量时,程序将直接执行下一个case分支中的语句序列,从而实现多个开关值对应一个分支的应用需求。