内容正文:
第4章 选择结构程序设计
4.1 关系运算及其表达式
4.2 逻辑运算符和逻辑表达式
4.3 if 语句和条件运算符
4.4 switch语句
4.5 选择结构程序设计应用举例
4.1 关系运算及其表达式
4.1.1关系运算符及其优先级
1.关系运算符
关系运算是逻辑运算中比较简单的一种。所谓“关系运算”实际上是“比较运算”将两个值进行比较,判断比较的结果是否符合给定的条件。
C语言提供6种关系运算符:
①< (小与)
②<= (小与或等于)
③> (大于)
④>= (大于或等于)
⑤== (等于)
⑥!= (不等与)
下一页
返回
4.1 关系运算及其表达式
2.关于优先级
(1)d==a>3其中如a=5,则d==1;这个表达式里就有优先级的考虑;C语言规定前4种关系运算符(<,<=,>,>= )的优先级别相同,后两种(==,!=)优先级别相同。且前4种运算符优先级高于后2种。
(2)关系运算符的优先级低于算术运算符但高于赋值运算符。即:
上一页
下一页
返回
4.1 关系运算及其表达式
3.关系表达式
a==b<c
用关系运算符将两个表达式(可以是算术表达式、关系表达式、逻辑表达式、赋值表达式、字符表达式)连接起来的式子,称为关系表达式。
上一页
返回
4.2 逻辑运算符和逻辑表达式
4.2.1逻辑运算符及其优先级
C语言提供三种逻辑运算符,如表4-2所示。
按以下的优先级次序:
下一页
返回
4.2 逻辑运算符和逻辑表达式
4.2.2逻辑表达式
逻辑表达式的值应该是一个逻辑量“真”或“假”,其判断方法见表4-3所示。
上一页
返回
4.3 if 语句和条件运算符
4.3.1 if语句
格式1:if (表达式) 语句
流程图如图4-5所示。
例如:if (x>y) printf (“%d”, x);
格式2: if (表达式) 语句1
else 语句2
流程图如图4-6所示。
下一页
返回
4.3 if 语句和条件运算符
格式3:else if语句结构
格式如下:
if (表达式1) 语句1
else if (表达式2) 语句2
else if (表达式3) 语句3
…
else if (表达式m) 语句m
else 语句n
执行过程如图4-7所示。
上一页
下一页
返回
4.3 if 语句和条件运算符
格式4:if语句的嵌套(即if语句中包含另一个if语句)
一般形式:
if (表达式) if (表达式1) 语句1
else 语句2
else if (表达式2) 语句3
else 语句4
上一页
下一页
返回
4.3 if 语句和条件运算符
4.3.2条件运算符
条件运算符要求有三个操作对象,称为“三目运算符”(它是C语言中唯一的一个三目运算符)。条件表达式的一般形式为:
表达式1?表达式2:表达式3
执行过程如图4-8所示。
上一页
返回
4.4 switch语句
if语句处理两个分支,处理多个分支时需使用多个if-else结构,而switch语句直接处理多个分支(当然包括两个分支)。
1.Switch语句的一般形式为:
switch(表达式)
{
case 常量表达式1:语句1
case 常量表达式2:语句2
……
case 常量表达式n:语句n
default:语句n+1
}
下一页
返回
4.4 switch语句
2.执行过程
当“表达式”=“常量表达式1”时,从“语句1”开始执行;
当“表达式”=“常量表达式2”时,从“语句2”开始执行;
当“表达式”= 其它值时,从“语句n+1”开始执行;
上一页
返回
4.5 选择结构程序设计应用举例
例4.3 输入三个数,按由大到小输出。
main()
{ float a,b,c,t;
scanf("%f,%f,%f",&a,&b,&c);
if (a>b)
{t = a; a = b; b = t;}
if (a>c)
{t = a; a = c; c = t;}
if (b>c)
{t = b; b = c; c = t;}
printf("%