C语言中的操作符(Operators)是对数据进行运算的符号,分为多种类型,支持从基本算术到复杂的逻辑操作。以下是C语言操作符的详解:
1. 算术操作符(Arithmetic Operators)
用于执行基本数学运算:
+:加法-:减法*:乘法/:除法(整数相除会舍弃小数部分)%:取模(求余)
示例:
int a = 10, b = 3;
printf("%d\n", a / b); // 输出:3
printf("%d\n", a % b); // 输出:1
2. 关系操作符(Relational Operators)
用于比较两个值,结果为布尔值:
==:等于!=:不等于>:大于<:小于>=:大于等于<=:小于等于
示例:
if (a > b) {
printf("a is greater than b\n");
}
3. 逻辑操作符(Logical Operators)
用于布尔逻辑运算:
&&:逻辑与(AND)||:逻辑或(OR)!:逻辑非(NOT)
示例:
if (a > 0 && b > 0) {
printf("Both a and b are positive.\n");
}
4. 位操作符(Bitwise Operators)
按位操作,直接作用于二进制位:
&:按位与|:按位或^:按位异或~:按位取反<<:左移>>:右移
示例:
int x = 5; // 二进制为 0101
int y = x << 1; // 左移一位,结果为 1010,即 10
5. 赋值操作符(Assignment Operators)
用于给变量赋值:
=:简单赋值+=、-=、*=、/=、%=:复合赋值
示例:
int c = 10;
c += 5; // 等价于 c = c + 5
6. 增量与减量操作符(Increment and Decrement Operators)
用于对变量加1或减1:
++:自增--:自减
示例:
int d = 10;
printf("%d\n", d++); // 输出 10,然后 d 变为 11
7. 条件操作符(三目运算符,Conditional Operator)
表达式的简化形式:
condition ? expr1 : expr2
示例:
int max = (a > b) ? a : b;
8. 特殊操作符
sizeof:获取数据类型或变量的大小(以字节为单位)&:取地址*:指针解引用->:通过指针访问结构体成员.:访问结构体成员
示例:
printf("Size of int: %lu\n", sizeof(int)); // 输出:4(具体值视平台而定)
9. 优先级和结合性
不同操作符有不同优先级,优先级从高到低:
- 后缀:
()、[]、->、++、-- - 一元:
+、-、!、~ - 算术:
*、/、% - 加减:
+、- - 移位:
<<、>> - 关系:
<、<=、>、>= - 等号:
==、!= - 按位与:
& - 按位异或:
^ - 按位或:
| - 逻辑与:
&& - 逻辑或:
|| - 条件:
?: - 赋值:
=、+=、-=等 - 逗号:
,
了解操作符的用法及优先级,有助于编写高效、简洁的代码。如有更多问题,可以进一步讨论!
发布者:myrgd,转载请注明出处:https://www.object-c.cn/4395