基础C语言之操作符

本文详细介绍了C语言中的关系操作符(包括等于、不等于等)、逻辑操作符(如AND、OR和NOT)以及条件操作符(三元操作符),展示了它们在编程中的应用和优先级规则。
摘要由CSDN通过智能技术生成

在前面我们提及了"="和"==",所以今天我们就来讲讲C语言中的操作符。在C语言中有三类操作符,分别是:关系操作符、逻辑操作符和条件操作符。

 

一、关系操作符

在C语言中,关系操作符用于比较两个值之间的关系,并根据比较结果返回布尔值(真或假)。在C语言中有如下关系操作符:

 

1. 等于操作符 ("=="):检查两个操作数是否相等。如果相等,则返回真(1);否则返回假(0)。

if (a == b) { }// 当a和b相等时执行的代码

 

2. 不等于操作符 ("!="):检查两个操作数是否不相等。如果不相等,则返回真(1);否则返回假(0)。

if (a != b) { }// 当a和b不相等时执行的代码

 

3. 大于操作符 (">"):检查左边的操作数是否大于右边的操作数。如果是,则返回真(1);否则返回假(0)。

if (a > b) { }// 当a大于b时执行的代码

 

4. 小于操作符 ("<"):检查左边的操作数是否小于右边的操作数。如果是,则返回真(1);否则返回假(0)。

if (a < b) { }// 当a小于b时执行的代码

 

5. 大于等于操作符 (">="):检查左边的操作数是否大于或等于右边的操作数。如果是,则返回真(1);否则返回假(0)。

if (a >= b) { }// 当a大于或等于b时执行的代码

 

6. 小于等于操作符("<="):检查左边的操作数是否小于或等于右边的操作数。如果是,则返回真(1);否则返回假(0)。

if (a <= b) { }// 当a小于或等于b时执行的代码

 

这些关系操作符通常用于条件语句(如if语句)和循环语句(如while和for循环)中,以根据操作数之间的关系执行特定的代码块。

 

二、逻辑操作符

 

在C语言中,逻辑操作符用于执行布尔逻辑运算,即基于一个或多个布尔值(真或假)来产生结果。在C语言中有如下逻辑操作符:

 

1. 逻辑与(AND):"&&"

 当两个操作数都为真时,结果为真。

示例:if (a > 0 && b > 0)

2. 逻辑或(OR):"||"

当至少一个操作数为真时,结果为真。

 示例:"if (a > 0 || b > 0)"

3. 逻辑非(NOT):"!"

 

反转操作数的布尔值。如果操作数为真,则结果为假;如果操作数为假,则结果为真。

示例:"if (!(a > 0))"

 

逻辑操作符通常与条件语句(if、while、for等)一起使用,以根据条件执行不同的操作。

 

请注意,逻辑操作符的优先级是:"!"(逻辑非)最高,然后是"&&"(逻辑与),最后是"||"(逻辑或)。这意味着在没有使用括号的情况下,"&&"比"||"先被评估。

例如:

if (a > 0 && b > 0 || c > 0)

这将首先评估"a > 0 && b > 0",然后再评估整个表达式。如果"a > 0 && b > 0"为真,则整个表达式为真,不会评估"c > 0"。只有当"a > 0 && b > 0"为假时,才会评估"c > 0"。

 

在使用逻辑操作符时,确保正确使用括号以明确表达式的意图,避免潜在的逻辑错误。

 

三、条件操作符

 

在C语言中,条件操作符也被称为三元操作符。它提供了一种简洁的方式来根据某个条件的结果选择两个值中的一个。三元操作符的语法如下:

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

 

"表达式1"是一个条件表达式,它的结果应该是一个布尔值(0 或非0)。

"表达式2"是当 "表达式1" 的结果为真(非0)时执行的表达式。

"表达式3"是当 "表达式1" 的结果为假(0)时执行的表达式。

 

三元操作符的工作流程如下:

1. 首先计算 "表达式1"。

2. 如果 "表达式1" 的结果为真(非0),则整个条件操作符的结果是 "表达式2" 的值。

3. 如果 "表达式1"的结果为假(0),则整个条件操作符的结果是 "表达式3" 的值。

 

下面是一个使用条件操作符的示例:

#include <stdio.h>

int main() {

 int a = 10;

 int b = 20;

 int max = (a > b) ? a : b;

 printf("The maximum value is: %d\n", max);

return 0;}

在这个示例中,我们比较了两个整数 "a"和 "b",并使用条件操作符找出它们之间的最大值。如果 "a" 大于 "b",则 "max" 的值为 "a",否则为 "b"。输出将是:

The maximum value is: 20

这是因为在这个例子中,"b" 的值大于 "a"的值。

 

好啦,今天的分享就到这里了。再次声明:作者水平有限,如有失偏颇,还请各位不吝赐教!

 

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值