关系操作符
C语言用于比较的表达式,称为“关系表达式”,里面使用的运算符就称为“关系运算符”。
• > ⼤于运算符
• < ⼩于运算符
• >= ⼤于等于运算符
• <= ⼩于等于运算符
• == 相等运算符
• != 不相等运算符
关系表达式通常返回0或者1
注意:相等运算符==与赋值运算符=是两个不一样的运算符。
#include<stdio.h>
int main()
{
int a =5;
if(5==a)
{
printf("hehe\n");
}
return 0;
}
//= ==
//当一个变量和一个常量进行比较的时候,应该怎么写
//建议将常量放在==的左边
多个关系运算符不易连用。
条件操作符
条件操作符也称作三目操作符。
形式:
exp1?exp2:exp3
若exp1计算结果为真,则计算exp2;
如exp1计算结果为假,则计算exp3.
#inlcude<stdio.h>
int main()
{
int a = 0;
int b = 0;
scanf("%d",&a);
if(a>5)
b=3;
else
b=-3;
return 0;
}
上述代码转换为( exp1?exp2:exp3)形式
#inlcude<stdio.h>
int main()
{
int a = 0;
int b = 0;
scanf("%d",&a);
b=( a > 5 ? 3 : -3 );
return 0;
}
逻辑操作符
! :逻辑取反运算符(改变单个表达式的真假)
&& :逻辑与运算符,就是并且的意思(两侧的表达式都为真,则为真,否则为假)
||:逻辑或运算符,就是或者的意思(两侧⾄少有⼀个表达式为真,则为真,否则为假)
逻辑取反运算符( !)
#include<stdio.h>
int main()
{
int flag =0;
if(!flag)
{
printf("do something\n");
}
return 0;
}
与运算符(&&)
与运算符(&&)也表示并且的意思。
双目操作符:a&&b
#include<stdio.h>
if month =0;
scanf("%d",&month);
if(month>=3&&month<=5)
{
printf("春季\n");
}
或运算符(||)
或运算符(||)就是或者的意思,
双目操作符:a||b
#include<stdio.h>
if month =0;
scanf("%d",&month);
if(month==12||month==1||month==2)
{
printf("冬季\n");
}
短路
逻辑运算符特点:它总是先对左侧的表达式求值,再对右边的表达式求值。
短路求值:如果左边的表达式满足逻辑运算符的条件,就不再对右边的表达式求值。
例如:
if ( month == 12 || month == 1 || month == 2 )
如month为12,则不用再判断month是否等于1或者2(从左至右判断),整个表达式的结果为1(是冬季)。
如有错误,请指正批评!