C语言程序设计 选择结构程序设计

1 条件判断

1.1 条件判断的含义

条件判断的结果是一个逻辑值:“是”或“否”,在计算机语言中用“真”和“假”来表示“是”或“否”。

1.2 关系运算符和关系表达式

用来比较大小的符号称为关系运算符。

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

C语言提供6种关系运算符:
< 小于
<= 小于或等于
>大于
>=大于或等于
= =等于
!=不等于
前4种关系运算符的优先级别相同,后两种也相同。前4种高于后两种。例如:“>”优先于“==”,“>”和"<"优先级相同。
关系运算符优先级低于算术运算符,关系运算符优先级高于赋值运算符。

1.2.2 关系表达式

用关系运算符将两个表达式(算术表达式、逻辑表达式、赋值表达式、字符表达式)连接起来的式子,称为关系表达式。
对于关系运算的结构,用数值“1”代表“真”,用数值“0”代表“假”。

1.3 逻辑运算符和逻辑表达式

需要用两个(或多个表达式)和逻辑运算符。

1.3.1 逻辑运算符及其优先次序

C语言提供3种逻辑运算符:
&&逻辑与 and
||逻辑或 or
! 逻辑非 not
“&&”和"||"是双目(元)运算符,要求在运算符的两侧各有一个运算对象,如a>b || x>y。
“!”是一目(元)运算符,只要求在它的右侧有一个运算量,如!a。

逻辑运算的真值表
在这里插入图片描述
优先次序:
在这里插入图片描述

1.3.2 逻辑表达式

用逻辑运算符将关系表达式或逻辑量连接起来的式子就是逻辑表达式。
判断一个量2是否为“真”时,以“0”表示假,以非0代表“真”,即一个非零的数值认作为“真”。
逻辑运算的结果不是0就是1。
如:a=4 a的值为非0,被认为“真”。
逻辑运算的真值表
在这里插入图片描述

2 用if语句实现选择结构

2.1 if语句一般形式

2.1.1 if(表达式) 语句
例如:
if(x>y) printf("%d",x);
在这里插入图片描述

2.1.2 if(表达式) 语句1 else 语句2
例如;
if(x>y)
printf("%d",x);
else
printf("%d",y);

在这里插入图片描述

2.2 if语句使用的说明

1.if后的表达式,一般为逻辑表达式或关系表达式,也可以是任意数值类型(整型、实型、字符型、指针型数据)。例如:

在这里插入图片描述
2.else子句不能作为语句单独使用,必须与if配对。else总是与它上面最近未配对的if配对。
3.if和else后的操作语句,可以有多个操作句,此时用“{}”将几个语句括起来成为一个复合语句。
在这里插入图片描述

2.3 使用嵌套if语句实现多层条件判断

if (表达式1) 语句1
else if (表达式2) 语句2
else if (表达式2) 语句3
.

else if (表达式m) 语句m
else 语句n

例如:
在这里插入图片描述
改进:
在这里插入图片描述

3 利用switch语句实现多分支选择结构

switch(表达式)
{
case 常量表达式1: 语句1
case 常量表达式2: 语句2

case 常量表达式n: 语句n
default: 语句n+1
}
例如:按照考试成绩的等级输出百分之分数段
在这里插入图片描述
说明:
1.switch后面括号内的“表达式”,可以是数值型或字符型型数据。
2.表达式的值与某一个case后面的常量表达式的值相等时,就执行case后面的语句,若所有的常量表达式的值都没用与表达式匹配,就执行default后面的语句。
3. 每一个case的厂里了表达式的值必须互不相同。
4. 各个case和default的出现次序不影响执行结果。
5. 若执行完一个case后面的语句,流程控制转移下一个case继续执行。
6. 终止switch语句的执行,可以用一个break语句来达到此目的。例如:
在这里插入图片描述
在这里插入图片描述

4 程序综合举例

4.1 判断某一年是否闰年。
闰年的条件应符合下面二者之一:
一,能被4整除,但不能被100整除。
二,能被4整除,又能被400整除。
在这里插入图片描述

5 提高部分

5.1 用条件表达式实现简单的选择结构

一般形式:
表达式1?表达式2:表达式3
其中“?:”是条件运算符。要求有3个运算对象,称为三目(元)运算符。
条件表达式是一个选择结构。
运算流程:
在这里插入图片描述
表达式2,表达式3不仅可以是数值表达式,还可以是赋值表达式或函数表达式。如:
在这里插入图片描述

表达式1的类型可以与表达式2和表达式3的类型不同。如:
在这里插入图片描述
若整型变量x为0,则条件表达式的值为‘b’。
优先级
在这里插入图片描述
条件运算符的结合方向为“自右向左”。如:
在这里插入图片描述
等价于
在这里插入图片描述

5.2 在程序中使用条件表达式

输入一个字符,判断它是是否大写字符,如果是,将他转换成小写字符;如果不是,不转换,直接输出。
在这里插入图片描述

6 小结

算术运算符、关系运算符、逻辑运算符以及算术表达式、关系表达式、逻辑表示式。以1代表真,以0代表假。
用if语句实现选择结构,用switch语句实现多分支选择结构。case 常量表达式只起语句标号作用。
break语句。
条件运算符。

猜你喜欢

转载自blog.csdn.net/qq_45059457/article/details/113858397