1.关系运算符和关系表达式
1.关系运算符及其优先次序
2.关系表达式
用关系运算符将两个表达式(可以是算术表达式或关系表达式、逻辑表达式、赋值表达式、字符表达式)连接起来的式子,称关系表达式。
2.逻辑运算符和逻辑表达式
1.逻辑运算符及其优先次序
2.逻辑表达式
如前所述,逻辑表达式的值应该是一个逻辑量“真”或“假”。C语言编译系统在表示逻辑运算结果时,以数值1代表“真”,以0代表“假”,但在判断一个量是否为“真”时,以0代表“假”,以非0代表“真”。即将一个非零的数值认作为“真”。
逻辑运算符两侧的运算对象也可以是字符型、实型或指针型等。
在逻辑表达式的求解中,并不是所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符。举例如下。
(1)a && b && c只有a为真(非0)时,才需要判别b的值,只有a和b都为真的情况下才需要判别c的值。只要a为假,就不必判别b和c(此时整个表达式已确定为假)。如果a为真,b为假,不判别c。
(2)a || b ll c只要a为真(非0),就不必判断b和c。只有a为假,才判别b。a和b都
为假才判别c。
3.if语句
1.常见的if语句
if
语句的基本形式为:
if(条件表达式)
{ }
条件表达式通常由关系运算符(如 >
、 <
、 >=
、 <=
、 ==
、 !=
)和逻辑运算符(如 &&
、 ||
、 !
)组合而成,其结果为布尔值,即真(非零值)或假(零值)。
例如,if (x> 5)
,当变量 x的值大于 5 时,条件为真,会执行后面花括号内的代码。
if
语句还可以与 else
结合使用,形成 if - else
结构:
这种结构能够在条件为真和为假时分别执行不同的代码块。比如,if (x > y) { printf("x"); } else { printf("y"); }
,输出x,y中更大的数
更复杂的情况可以使用 if - else if - else
结构:
2.条件运算符
表达式1?表达式2:表达式3
它的运算流程图为:
例如:max = (a > b)? b : c ,如果(a > b)条件为真,则条件表达式取值a,否则取值b。
4.switch语句
switch语句可直接处理多分支选择,其一般形式如下:
-
表达式
:通常是一个整数类型的表达式,例如int
或char
。其值将与各个case
后的常量表达式进行比较。 -
case 常量表达式
:每个case
后面跟着一个常量值。当表达式
的值与某个case
后的常量值相等时,就会执行从该case
开始的语句,直到遇到break
语句或者switch
语句结束。 -
break
语句:用于在执行完相应的case
语句后跳出switch
结构,防止继续执行下一个case
的语句。如果没有break
,程序会继续执行下一个case
的语句,直到遇到break
或者switch
结束。 -
default
:当表达式
的值与所有case
后的常量值都不匹配时,就会执行default
后面的语句。default
部分是可选的,如果没有default
,并且所有case
都不匹配,那么switch
语句什么也不做。