条件操作符和逻辑操作符

条件操作符

条件操作符也叫三目操作符,需要接受三个操作数的,形式如下:

 exp1 ? exp2 : exp3
条件操作符的计算逻辑是:如果 exp1 为真, exp2 计算,计算的结果是整个表达式的结果;如果
exp1 为假, exp3 计算,计算的结果是整个表达式的结果。
练习1:使用条件操作符表示下面代码的逻辑
#include <stdio.h>

int main()
{
	int a = 0;
	int b = 0;
	scanf("%d", &a);
	if (a > 5)
		b = 3;
	else
		b = -3;
	printf("%d\n", b);
	return 0;
}

//改造之后

#include <stdio.h>

int main()
 {
	int a = 0;
	int b = 0;
	scanf("%d", &a);

	b = a > 5 ? 3 : -3;

	printf("%d\n", b);
	return 0;
}
练习2:使用条件表达式实现找两个数中较大值。
int main()
{

	int a = 0;
	int b = 0;
	scanf("%d %d", &a, &b);
	int m = (a > b ? a : b);//三目运算符
	printf("m = %d\n", m);

	return 0;
}
逻辑操作符

! :  逻辑取反运算符(改变单个表达式的真假)
&& : 逻辑与运算符,就是并且的意思(两侧的表达式都为真,则为真,否则为假)
|| : 逻辑或运算符,就是或者的意思(两侧至少有一个表达式为真,则为真,否则为假)


注:C语言中,非0表示真,0表示假

1.逻辑取反运算符

a!a
非00
0

1

比如,我们有⼀个变量叫 flag ,如果flag为假,要做⼀个什么事情,就可以这样写代码:
int main()
{
	int flag = 5;
	scanf("%d", &flag);//0
	if (!flag)//flag为假要做什么事
	{
		printf("hehe\n");
	}
	return 0;
}
如果 flag 为真, !flag 就是假,如果 flag 为假, !flag 就是真
2.逻辑与运算符
&& 就是与运算符,也是并且的意思, && 是⼀个双目操作符,使用的方式是 a&&b , && 两边的表达式都是真的时候,整个表达式才为真,只要有⼀个是假,则整个表达式为假。
aba&&b
非0非01
非000
0非00
000

比如:如果说月份3月到5月,是春天,那么使用代码是怎么体现的呢

int main()
{
	int month = 0;
	scanf("%d", &month);
	if (month >= 3 && month <= 5);
	{
		printf("春季\n");
	}

	return 0;
}

这里表达的意思就是month既要大于等于3,又要小于等于5

3.逻辑或运算符

aba||b
非0非01
非001
0非01
000
|| 就是或运算符,也就是或者的意思, || 也是⼀ 个双目操作符,使用的方式是 a || b ||
两边的表达式只要有⼀个是真,整个表达式就是真,两边的表达式都为假的时候,才为假。
比如: 说⼀年中月份是12月或者1月或者2月是冬天,那么我们怎么使用代码体现呢
int main()
{
	int month = 0;
	scanf("%d", &month);
	if (month == 12 || month == 1 || month == 2)
	{
		printf("冬季\n");
	}

	return 0;

}

最后,练习:输入⼀个年份year,判断year是否是闰年

  • 11
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值