C语言中常用到的运算符主要有算数运算符、逻辑运算符、位运算发、关系运算符和其它的。
一、算数运算符
主要是我们在数学运算中使用的一些加减乘除运算符,但是有几个运算符与我们数学中的不
太一样(以下会说明),主要有:
(1)+ 加法
(2)- 减法
(3)* 乘法
(4)/ 除法---->只会得到商,如:10/3=3
(5)% 取余---->上面第4个除法中的余数,如:10%3=1
(6)++ 自增1—>放在变量前面和后面有区别,看下面的例子
(7)-- 自减1—>同第6
例子:
片段1
int a = 6;
printf("%d\n",a++);
printf("%d\n",a);
片段2
int b = 8;
printf("d\n",--b);
printf("%d\n",b);
请看图,不难看出区别,当++(–)在变量 前面 时,它是先自增(自减)
后再使用;而++(–)在 后面 时,它是先使用再自增(自减)。
二、逻辑运算符
(1)&& 逻辑与,只要条件中有一个为假,整个结果即为假
(2)|| 逻辑或,只要条件中有一个为真,整个结果就为真
(3)! 逻辑非(取反),与当前事件相反(将非0变0,将0变1)
例子:
int a = 6,b = 8,c = 0;
if(a==7 && b==8)
printf("武汉加油!\n");
if(a==6 && b==7)
printf("中国加油!\n");
if(a==6 || b==10)
printf("武汉必胜!\n");
if(c==!b)
printf("出门戴好口罩,勤洗手,稳定心态!\n");
printf("!a=%d,!b=%d,!c=%d\n",!a,!b,!c);
三、关系运算符
逻辑运算符是经常和关系运算符结合使用的,通过关系运算符获取逻辑真或假。
(1)> 大于
(2)< 小于
(3)>= 大于等于
(4)<= 小于等于
(5)!= 不等于
(6)== 等于
四、位运算符
对bit位进行操作,单片机常用到。
(1)| 位或,两个数值位或运算时,只要有一个位为1,则当前位结果为1
(2)& 位与,两个数值位与运算时,只要有一个位为0,则当前位结果为0
(3)~ 位取反,两个数值位取反运算时,原为0,则变1;原为1,则变0
(4)^ 位异或,两个数值位异或运算时,两者相同为0,不同为1
(5)<< 按位左移固定的位数
(6)>> 按位右移固定的位数
两个变量数值交换,可以用到^,下面给出了推导过程。左移和右移实际上是一种特殊的乘除法,
具体可以看这篇文章C语言中乘除法与移位关系。
五、其他运算符
= 赋值
sizeof 获取变量占的空间大小
32位操作系统中,得到的长度是unsigned int类型--->32位
64位操作系统中,得到的长度是unsigned long int类型--->64位
a?b:c 三目运算符
如果a为逻辑真,取值为b
如果a为逻辑假,取值为c
( ) 括号
三目运算符例子:
int a = 99;
int b = 200;
int c = 300;
a = a>b?c:b;
printf("%d\n",a);
完
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)