1关系操作符
• > ⼤于运算符 • < ⼩于运算符 • >= ⼤于等于运算符 • <= ⼩于等于运算符 • == 相等运算符 • != 不相等运算符
C 语⾔⽤于⽐较的表达式,称为 “关系表达式”,⾥⾯使⽤的运算符就称为“关系运符”。关系表达式通常返回 0 或 1 ,表⽰真假。相等运算符 == 与赋值运算符 = 是两个不⼀样的运算符。关系运算符是从左到右计算,连用实际先计算前面部分再继续进行比较判断。
#include <stdio.h>
int main(void)
{
int a = 1;
int b = 2;
int c = 3;
if (a <= b)
{
printf("a<b\n");
}
if (c<b<a)
{
printf("c<b<a\n");
}
return 0;
}
2条件操作符:?:
条件运算符是C语言中唯一的三元运算符。条件表达式的通用形式如下: expression1 ? expression2 : expression3 如果 expression1 为真(非 0),那么整个条件表达式的值与 expression2 的值相同;如果expression1为假(0),那么整个条件表达式的值与expression3的值相同。
#include <stdio.h>
int main(void)
{
int a = 1;
int b = 2;
int max = (a > b) ? a : b;
printf("%d\n", max);
return 0;
}
3逻辑操作符
逻辑运算符提供逻辑判断功能,⽤于构建更复杂的表达式
• ! :逻辑取反运算符(改变单个表达式的真假)。 • && :与运算符,就是并且的意思(全真即真,一假即假)。 • || :或运算符,就是或者的意思(一真即真,全假即假)。
短路效应:如果左边的表达式满⾜逻辑运算符的条件,就不再对右边的表达式求值。对于&&操作符来说,左边操作数的结果是0的时候,右边操作数就不再执⾏。|| 操作符的左操作数的结果不为0时,就不执⾏右操作数。
#include <stdio.h>
int main(void)
{
int a = 0;
if (!a )
{
printf("a=0\n");
}
if (5 > 2 && 5 > 7)
{
printf("1\n");
}
if (5 > 2 || 5 > 7)
{
printf("2\n");
}
return 0;
}