1.if语句和用if语句构成的选择结构
1.1 if语句
C语言中if语句有两种基本形式,一种是不含else子句的if语句,另一种是含else子句的if 语句。
1.1.1 不含else子句的if语句
一.语句形式
if(表达式)语句
例如:if (a < b) { t = a; a = b; b = t }
二.if语句的执行过程
执行if语句时,首先计算紧跟在if后面一对圆括号中的表达式的值,如果表达式的值为非零(”真“),则执行其后的if子句,然后去执行if语句后的下一条语句;如果表达式的值为0(”假“),则跳过if子句直接执行if语句后的下一条语句。
例题1:输入三个整数,从大到小排序
1.1.2 含else子句的if 语句
一. if_else语句的一般形式为(二分支)
if(表达式) 语句1
else 语句2
例题2:输入两个整数,并输出较大的整数
二 在if子句中嵌套具有else子句的if语句
if(表达式1)
if(表达式2) 语句1
else 语句2
else
语句3
当表达式1的值为非0时,执行内嵌的if_else;当表达式1的值为0时,执行语句3。
三. 在if子句中嵌套不含else子句的if语句
if(表达式1)
{if(表达式2) 语句1}
else
语句2
当用花括号把内层if语句括起来后,使得内层if语句在语法上成为一条独立的语句,从而在语法上使得else与外层的if配对。
四. 在else子句中嵌套if语句
(1)内嵌的if语句中带else
if(表达式1)语句1else
if(表达式2)语句2
else 语句3
(2)内嵌的if语句中不带else
if(表达式1)语句1
else
if(表达式2)语句2
五. 不断在else子句中嵌套if语句形成多层嵌套:
if(表达式1)
语句1
else if(表达式2)
语句2
else if(表达式3)
语句3
…
else if (表达式n)
语句n
else
语句n+1
2.条件表达式构成的选择结构
一.条件表达式的一般形式为
表达式1?表达式2:表达式3
注意:1.条件运算符由两个符号(?和:)组成,必须一起使用。
2.要求有3个操作对象,成为三目(元)运算符,它是C语言中唯一的一个三目运算符。
二.条件操作符的计算逻辑
如果 表达式1 为真, 表达式2 计算,计算的结果是整个表达式的结果;如果 表达式1 为假, 表达式3 计算,计算的结果是整个表达式的结果。
三.条件运算符的优先级
条件运算符优先于赋值运算符,但低于关系运算符和算术运算符
例如:
y=x>10?100:200
由于赋值运算符的优先级低于条件运算符,因此首先求出条件表达式的值,然后把值赋给y。在条件表达式中,先求x>1的值,若x大于10,取100作为表达式的值赋给变量y,否则将200作为表达式的值付给变量y。