椋鸟C语言笔记#5:关系操作符、逻辑操作符、条件操作符

萌新的学习笔记,写错了恳请斧正。


目录

关系操作符

逻辑操作符:&&、||、!

短路

条件操作符:... ? ... : ...


关系操作符

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

关系运算符包括:><>=<===!=

其中==是判断两边是否相等,而!=是判断两边是否不等

关系表达式的返回值为0或者1,表示假或真

注意:“==”是判断相等,而“=”是赋值,两者不能搞混

为了防止将“==”与“=”搞混(这很常见),我们可以这么写:

 if (3 == x)  //将数值放在前面,变量名放后面
//这样如果搞混了就会报错

另外:不要将多个关系运算符想当然的连用,如:

if (i < j < k)

这样看起来是正确的,可以判断j在i与k之间

但实际上,i < j会先得到结果“真”或“假”,即0或1

随后得到的0或1再与k比较,这显然不符合预期

如果真的像判断j在i与k之间,应该这么写:

if (i < j && j < k)

其中“&&”属于逻辑操作符,这是什么呢?

逻辑操作符:&&、||、!

逻辑操作符用于构建逻辑判断,一般有如下几种:

  • &&:逻辑与(并且),如果两侧表达式均为真才输出真,其余输出假
  • ||:逻辑或(或者),两侧至少有一个为真即输出真,都假即输出假
  • !:逻辑非(取反),连接一个表达式,反转其真假性(连在表达式左边)
表达式 && 表达式
表达式 || 表达式
!表达式     //紧密连接

在C语言中,非0为真、0为假,但由表达式输出的真为1

下面练习一下:

//判断闰年
#include <stdio.h>

int main()
{
    int year = 0;
    scanf("%d", &year);
    
    if(year%4==0 && year%100!=0 || year%400==0)
        printf("是闰年\n");
    
    return 0;
}
短路

C语言中逻辑运算符先处理左侧表达式的结果

如果左侧表达式已经能把该逻辑运算符控制的逻辑判断确定

那么右侧的表达式就不会被计算,这被称为“短路

比如说,&&左侧的表达式为假,则右侧不计算直接输出假

而||左侧的表达式为真,则右侧不计算直接输出真

条件操作符:... ? ... : ...

条件操作符是唯一一个三目操作符,用法如下:

表达式1 ? 表达式2 : 表达式3

如果表达式1为真,则计算表达式2,这时表达式2的结果为整个表达式的结果

如果表达式1为假,则计算表达式3,这时表达式3的结果为整个表达式的结果

这也可以用于构建选择结构


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

椋鸟Starling

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值