操作符
在C语言中,操作符分为算法操作符、移位操作符、位操作符、赋值操作符、单目操作符、关系操作符、逻辑操作符、条件操作符、逗号操作符、逗号表达式、下标引用、函数调用和结构成员。
1、算法操作符
<1>、除了%操作符之外,其他的几个操作符可以作用于整数和浮点数。
<2>、对于 / 操作符,如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除法。’
<3>、% 操作符的两个操作符必须为整数。返回的是整数之后的余数。
2、移位操作符
<1>、 << 左移操作符
移位规则:左边抛弃、右边补 0
<2>、 >> 右移操作符
移位规则:
(1)、逻辑移位:左边用 0 填充,右边丢弃
(2)、算法移位:左边用原该值的符号位填充,右边丢弃
3、位操作符
注:位操作符只能用于整型数据,对double和float进行位操作会被编译器报错。
例:
4、赋值操作符
<1>、赋值操作符可以让你之前不满意的值重新赋值。
eg: int weight = 100; // 不满意
weight = 80; //重新赋值
//赋值操作符可重复使用
int a = 10, b = 20, c = 30;
a = b = c + 1; // 连续赋值,但读码不清晰,相当于 b = c + 1; a = b;尽量不要连续复制。
<2>、复合运算符
5、单目操作符
。,
6、关系操作符
7、逻辑操作符
一道笔试题:
#include<stdio.h>
int main()
{
int i = 0;
int a = 0,b = 2,c = 3,d = 4;
i = a++ && ++b && d++;
printf("a = %d , b = %d , c = %d , d = %d \n",a , b , c , d);
return 0;
}
结果:1 , 2 ,3 ,4
8、条件操作符
相当于 if(exp1)
exp2;
else
exp3;
9、逗号操作符
逗号表达式,就是用逗号隔开的多个表达式。
都好表达式,从左到右依次执行。整个表达式的结果是最后一个表达式的结果。
10、下标引用、函数调用和结构成员
<1>、[ ] 操作数:一个数组名+一个索引值
<2>、( ) 函数调用操作符
接受一个或者多个操作数:第一个操作数是函数名,剩余的操作数就是传递给函数的参数。
<3>、访问一个结构的成员
. 结构体 . 成员名
-> 结构体指针->成员名
eg: