上一节简单介绍了运算符的分类和一些算数运算符,接下来继续介绍其他运算符
目录
3:关系运算符
设a=1,b=2
运算符 | 描述 | 实例 |
== | 检查两个操作数的值是否相等,如果相等则条件为真。 | (a == b) 为假。 |
!= | 检查两个操作数的值是否相等,如果不相等则条件为真。 | (a!=b)为真 |
> | 检查左操作数的值是否大于右操作数的值,如果是则条件为真。 | (a>b)为假 |
< | 检查左操作数的值是否小于右操作数的值,如果是则条件为真。 | (a<b)为真 |
>= | 检查左操作数的值是否大于或等于右操作数的值,如果是则条件为真。 | (a>=b)为假 |
<= | 检查左操作数的值是否小于或等于右操作数的值,如果是则条件为真。 | (a<=b)为真 |
结合if函数,我们可以求得a与b的大小关系并输出
#include <stdio.h>
int main()
{
int a=10;
int b=20;
if ( a==b )
{
printf("a等于b\n");
}
else
{
printf("a不等于b\n");
}
if(a>b)
{
printf("a大于b\n");
}
else
{
printf("a小于b\n");
}
return 0;
}
输出结果为
a不等于b
a小于b
4:逻辑运算符
假设a的值为1,b的值为0
运算符 | 描述 | 实例 |
&& | 称为逻辑与运算符。如果两个操作数都非零,则条件为真 | (a&& b) 为假。 |
|| | 称为逻辑或运算符。如果两个操作数中有任意一个非零,则条件为真。 | (a || b) 为真。 |
! | 称为逻辑非运算符。用来逆转操作数的逻辑状态。如果条件为真则逻辑非运算符将使其为假。 | !(a|| b) 为假。 |
同样结合if函数实现判断
#include <stdio.h>
int main()
{
int a,b;
a=1;
b=0;
if(a&&b)
{
printf("赐名题为真");
}
else
{
printf("此命题为假");
}
return 0;
}
输出结果为
这两个操作数至少有一个不为零
这两个操作数至少有一个为零
5:赋值运算符
= | 简单的赋值运算符,把右边操作数的值赋给左边操作数 | c = a + b 将把 a + b 的值赋给 c |
+= | 加且赋值运算符,把右边操作数加上左边操作数的结果赋值给左边操作数 | c+= a相当于 c = c + a |
-= | 减且赋值运算符,把左边操作数减去右边操作数的结果赋值给左边操作数 | c -= a 相当于 c = c- a |
*= | 乘且赋值运算符,把右边操作数乘以左边操作数的结果赋值给左边操作数 | c *= a 相当于 c = c * a |
/= | 除且赋值运算符,把左边操作数除以右边操作数的结果赋值给左边操作数 | c /= a 相当于 c = c / a |
%= | 求模且赋值运算符,求两个操作数的模赋值给左边操作数 | c %= a 相当于 c = c % a |
<<= | 左移且赋值运算符 | c <<= 1等同于 c = c<< 1 |
>>= | 右移且赋值运算符 | c >>= 1 等同于 c= c >> 1 |
&= | 按位与且赋值运算符 | a &= 1 等同于 a = a& 1 |
^= | 按位异或且赋值运算符 | c ^= 1 等同于 c = c ^ 1 |
|= | 按位或且赋值运算符 | c |= 2 等同于 c = c | 1 |
6:杂位运算符
sizeof() | 返回变量的大小。 | sizeof(a) 将返回 4,其中 a 是整数。 |
& | 返回变量的地址。 | &a; 将给出变量的实际地址。 |
* | 指向一个变量。 | *a; 将指向一个变量。 |
? : | 条件表达式 | 如果条件为真 ? 则值为 X : 否则值为 Y |
以上便是C语言的运算符,还差了一种叫位运算符,下次补上
运算符的优先级确定表达式中项的组合。这会影响到一个表达式如何计算。某些运算符比其他运算符有更高的优先级,例如,乘除运算符具有比加减运算符更高的优先级