【C语言操作符分类详解】(纯干货)(下)

简介: 【C语言操作符分类详解】(纯干货)

7.逻辑操作符


下表显示了 C 语言支持的所有关系逻辑运算符。假设变量 A 的值为 1,变量 B 的值为 0,则:

运算符

描述 实例
&& 称为逻辑与运算符。如果两个操作数都非零,则条件为真。 (A && B) 为假。
|| 称为逻辑或运算符。如果两个操作数中有任意一个非零,则条件为真。 (A || B) 为真。
! 称为逻辑非运算符。用来逆转操作数的逻辑状态。如果条件为真则逻辑非运算符将使其为假。 !(A && B) 为真。

实例:

#include <stdio.h>intmain()
{
inta=5;
intb=20;
intc ;
if ( a&&b )
   {
printf("Line 1 - 条件为真\n" );
   }
if ( a||b )
   {
printf("Line 2 - 条件为真\n" );
   }
/* 改变 a 和 b 的值 */a=0;
b=10;
if ( a&&b )
   {
printf("Line 3 - 条件为真\n" );
   }
else   {
printf("Line 3 - 条件为假\n" );
   }
if ( !(a&&b) )
   {
printf("Line 4 - 条件为真\n" );
   }
return0;
}

结果如下:

Line1-条件为真Line2-条件为真Line3-条件为假Line4-条件为真


8. 条件操作符


? :

条件表达式

如果条件为真 ? 则值为 X : 否则值为 Y

格式: exp1 ? exp2 : exp3

inta=10;
intb= (a==1) ?20: 30;
printf( "b 的值是 %d\n", b );
intb= (a==10) ?20: 30;
printf( "b 的值是 %d\n", b );

结果如下:

b的值是30b的值是20


9.逗号表达式


逗号表达式,就是用逗号隔开的多个表达式。

逗号表达式,从左向右依次执行。整个表达式的结果是最后一个表达式的结果。

实例:

intmain() {
inta=1;
intb=3;
printf("%d", (a=a+b, b));
return0;
}

结果如下:

58afbb725e0a4a7fbe49590b604e71ee.png

通过结果可以看出,逗号表达式从左向右依次执行,但是整个表达式的值取最后一个表达式的值;


如果对上文有意见或者有错误,还请大佬们斧正,觉得有帮助的童鞋们,蟹蟹三连!

目录
相关文章
|
6天前
|
C语言
C语言逻辑操作符的短路问题
C语言逻辑操作符的短路问题
|
6天前
|
C语言
【C语言】:字符分类与转换函数
【C语言】:字符分类与转换函数
8 1
|
6天前
|
编译器 C语言
【C语言】:中移位操作符,位操作符详运算规则详解
【C语言】:中移位操作符,位操作符详运算规则详解
7 1
|
9天前
|
存储 编译器 C语言
C语言---操作符详解(1)
C语言---操作符详解
11 1
|
16天前
|
存储 C语言 索引
【C语言基础】:操作符详解(二)
【C语言基础】:操作符详解(二)
|
25天前
|
C语言
C语言学习记录——鹏哥字符分类函数、字符转换函数
C语言学习记录——鹏哥字符分类函数、字符转换函数
15 2
|
6天前
|
算法 C语言
【C语言】:巧用移位操作符,位操作符解决问题
【C语言】:巧用移位操作符,位操作符解决问题
7 0
|
6天前
|
编译器 C语言
【C语言】:sizeof操作符的使用和各种常见数据类型的大小
【C语言】:sizeof操作符的使用和各种常见数据类型的大小
10 0
|
9天前
|
编译器 C语言 C++
C语言---操作符详解(2)
C语言---操作符详解
|
16天前
|
存储 编译器 C语言
【C语言基础】:操作符详解(一)
【C语言基础】:操作符详解(一)