11.8

发布时间 2023-11-09 09:43:41作者: 威猛彪悍大甜妹

11.8关系操作符与逻辑操作符

关系操作符

用于比较的表达式,称为“关系表达式”,其中的运算符就称为“关系运算符”。

  • >:大于

  • <:小于

  • >=:大于等于

  • <=:小于等于

  • ==:相等(区别于=赋值运算符)

  • !=:不相等

关系表达式返回为01,表示真假

运算符不能连用

i < j < k

对上面的代码,判断方式为i与j比较,返回的结果(01)再与k比较

解决方法是使用优先级更高的括号,或者使用逻辑运算符

逻辑操作符

与,或,非

  • !:非,改变单个表达式的真假
if(!flag)

当flag为0,即表达式为假需要执行操作时,可以如上操作

image

  • &&:与,并且,两侧都为真,才为真,否则为假

    image

  • ||

image

练习:闰年判断

#include <stdio.h>
//代码1
int main()
{
 	int year = 0;
 	scanf("%d", &year);
 	if(year%4==0 && year%100!=0)
 		printf("是闰年\n");
 	else if(year%400==0)
 		printf("是闰年\n");
	 return 0;
}
//代码2
int main()
{
 	int year = 0;
 	scanf("%d", &year);
	if((year%4==0 && year%100!=0) || (year%400==0))
 		printf("是闰年\n");
    return 0;
} 

短路

逻辑运算符的操作特点是,从左向右,当使用与时如果左侧表达判断为假,则不再执行右侧表达式,当使用或时如果左侧表达式判断为真,则不再执行右侧语句,若未执行的语句含有类似自增或自减符,则不会产生效果,导致程序逻辑错误(也可以利用此特点)