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