鱼与熊掌不可兼得---运算符

133 阅读2分钟

关系运算符

关系运算符用于对两个数据进行比较,其结果是逻辑值(“真”或“假”)。在C语言的关系运算中,“真”用非0数字来表示,“假”用数字0来表示。

C语言中的关系运算符及其含义与用法

运算符运算范例结果
==等于4==30(假)
!=不等于4!=31(真)
<小于4<30(假)
大于4>31(真)
<=小于等于4<=30(假)
>=大于等于4>=31(真)

关系表达式的结果是整型。

1.表达式是成立的,正确的→true,1。

2.表达式是不成立的,错误的→false,0。

要点:==是判断是否相等,=是赋值。

示例如下:

int a = 10;
printf("%d\n",a == 1);  //0
printf("%d\n",2 + (a == 1));  //2
printf("%d\n",2 > 3);  //0
printf("%d\n",2 < 3);  //1
printf("%d\n",2 <= 3);  //1
printf("%d\n",2 >= 3);  //1

条件运算符

条件运算符?:

格式:表达式1? 语句1: 语句2;

流程:

1.如果表达式1是成立,是正确的,是true,那么就执行语句1,并且整个表达式的结果就是语句1的结果。

2.如果表达式1是不成立的,是错误的,是false,那么就执行语句2,并且整个表达式的结果就是语句2的结果。

示例如下:

int a = 6, b = 3;
a > b ? a * b : a + b;  //18

逻辑运算符

逻辑运算符用于判断表达式的真假,其结果为“真(1,正确)”或“假(0,错误)”。

1.或(||)。

格式:表达式1 || 表达式2

规则:有一个为真,结果就是真;全假就是假的。

2.与(&&),也就是并且。

格式:表达式1 && 表达式2

规则:有一个为假,结果就是假;全真就是真的。

3.非(!),就是取反。

示例如下:

int a = 10, b = 20, c = 0;
!a  //结果为假,值为0
a && b  //a和b都为真,结果为真,值为1
b || c  //结果为真,值为1
!a && b  //结果为假,值为0
!a || b  //结果为真,值为1
真假规则:

1.整数中0是假的。

2.字符中空字符('\0')是假的。

3.其他的都是真的。

短路:

1.&&:如果左边为假,则右边不求值。

2.||:如果左边为真,则右边不求值。