操作符
算术操作符:
+, -, *, /, %(取余)
/ 除号的两端都是整数时执行整数除法,两端有一个浮点数则执行浮点数的除法.
以下代码中,"%.2f"表示以浮点数形式打印,取小数点后2位。
int main()
{
float a = 7 / 2.0;
printf("%.2f\n", a);
return 0;
}
移位操作符
左移:<<
右移:>>
位操作符
按位与:&
按位或:|
按位异或:^ (按两下shift + 6,可以打出^这个符号)
赋值操作符
= += -= *= /= &= ^= |= >>= <===
以下两句代码的含义时相等的:
a = a + 3;
a += 3;
单目操作符(只有一个操作数的操作符)
逻辑操作符:!
负值:-
正值:+
取地址:&
操作数的类型长度:sizeof
int arr[10] = {0};
printf("%d\n",sizeof(arr));
结果是40字节;数组是10个元素,每个元素是一个1个整型,1个整型是4字节
对一个数的二进制按位取反:~
后置++: 先使用,后++
前置++:先++,后使用
int a = 10;
int b = a++; //此时b=10,a=11
int a = 10;
int b = ++a; //此时a和b都等于11;
间接访问操作符(解引用操作符):*
强制类型转换:(类型)。 例:
(int)3.14; 表示将3.14转换为int类型,值为3;
关系操作符
">" ">=" "<" "<=" "!=" "=="
逻辑操作符
逻辑与:&& //并且
逻辑或:!! //或者
条件操作符 (三目操作符)
exp1 ? exp2 : exp3
int a =10;
int b = 20;
int r = a > b ? a : b; //如果a>b这个表达式为真,则执行a; 否则执行b;
下标引用操作符:[]
函数调用操作符:()
结构成员:. ->