C语言用于比较的表达式,称为"关系表达式",里面使用的运算符称为关系运算符,关系运算符主要有以下6类。
> 大于运算符< 小于运算符>=大于等于运算符<= 小于等于运算符== 相等运算符!= 不相等运算符下面是例子:
关系表达式返回0或1,表示真假。
C语言中,0表示假,所有非0值表示真。比如 20>12返回1,12 >20返回0。关系表达式常用If或while结构。
条件操作符
条件操作符也叫三目操作符,需要接受三个操作数的,形式如下:
可以使用条件操作符表示下面代码的逻辑
通过三目运算符还可以找到两个数中的最大值
逻辑运算符 &&,||,!
逻辑运算符提供逻辑判断功能,用于构建更复杂的表达式,主要有下面三个运算符。
!: 逻辑取反运算符(改变单个表达式的真假)
&& :逻辑与运算符,就是并且的意思(两侧的表达式都为真,则真;有一个表达式为假,则假)
||: 逻辑或运算符,就是或者的意思(两侧至少有一个表达式为真,则为真,否则为假)
注意:0即为假,非0则为真。
对于逻辑运算符非常重要的练习就是判断是否为闰年,其代码如下
代码运行结果如图所示:
短路
C语言逻辑运算符还有一个特点,它总是对左侧的表达式求值,再对右边的表达式求值,这种情况称为"短路"。即如果左边的表达式满足逻辑运算符的条件,就不再对右边的表达式求值的现象称为"短路"。
switch语句
除了if语句外,C语言还提供了switch语句来实现分支结构。
switch语句是一种特殊形式的if……else……结构,用于判断条件有多个结果的情况。它把多重的else if 改成更易用、可读性更好的形式。
switch (expression){
case value 1: statement
case value 2: statement
……
default : statement
}
上面代码中,根据表达式expression不同的值,执行相应的case分支。如果找不到对应的值,就执行default分支。
注意:
switch 后的expression 必须是整形表达式。case 后的值,必须是整形常量表达式