- 关系运算符
注意:关系运算符用于判断运算符两边的表达式是否满足给定的大小条件
由关系运算符组成的表达式称为关系表达式,其值为布尔型
判断是否相等是双等号==,而不是一个等号
3逻辑运算符
特别要注意的是: 在逻辑与运算中,如果左边表达式的值为假,那么右边表达式将不被执行。在逻辑或运算中,如果左边表达式的值为真,那么右边表达式将不被执行。
4. 位运算符
移位运算:移出去的不要,空出来的补零。移位运算都是针对无符号数的运算。
左移运算
右移运算
注意 位运算符操作的对象是数据中的每一位
& 与 |不要跟 && 和II搞混淆了
5赋值运算符
赋值运算符的几条规则 1不能对常量赋值2 只能对变量赋值 3不能对数组赋值 4可以连续赋值,从右往左
复合赋值符
当左右两边有相同的操作数时,采用复合赋值符不仅直观,且能提高运算效率
除了下述10个复合运算符之外,生造别的复合运算符是非法的
// 加减乘除:
a += n; // 等价于 a = a+n;
a -= n; // 等价于 a = a-n;
a *= n; // 等价于 a = a*n;
a /= n; // 等价于 a = a/n;
// 求余:
a %= n; // 等价于 a = a%n;
// 位运算:
a &= n; // 等价于 a = a&n;
a |= n; // 等价于 a = a|n;
a ^= n; // 等价于 a = a^n;
a >>= n; // 等价于 a = a>>n;
a <<= n; // 等价于 a = a<<n;
6条件运算符(三目运算符)
int m = (a>b) ? a : b; // 如果 a>b 为真,则 m 取 a 的值,否则取 b 的值
唯一需要三个操作数的运算符
语法:表达式1?表达式2:表达式3
释义:当表达式1为真时,取表达式2,否则取表达式3
7. sizeof 运算符
计算指定数据类型或者变量所占据内存的字节数(包括\0)
计算变量的字节数时圆括号可以省略
printf("%d\n", sizeof(int));
printf("%d\n", sizeof(long double));
int a[5];
printf("%d\n", sizeof(a));
printf("%d\n", sizeof a);
8. return运算符
含义:退出某个函数(如果退出的是主函数main,那么整个程序也就退出)
必须出现在函数体内,可以带函数对应类型的数据
int main()
{
return 0;
}
9. 优先级与结合性
当表达式中出现多个相同优先级的运算符时,更具结合性决定谁先运行,比如从左到右
果一个表达式包含多个从左往右结合的运算符,并且这些运算符的优先级相同,那么编译器会首先处理最左边的运算符及其操作数,
C语言运算符精要

1687





