运算符是用于对操作数进行特定操作的符号或关键字。在C语言中,常见的运算符包括算术运算符、逻辑运算符、关系运算符、赋值运算符等。下面对这些运算符进行详细介绍,并讨论表达式的求值规则。
一、算术运算符
算术运算符用于执行基本的算术操作,例如加法、减法、乘法、除法等。
+ // 加法
- // 减法
* // 乘法
/ // 除法
% // 取余
示例:
int a = 10;
int b = 5;
int c = a + b; // c的值为15
int d = a - b; // d的值为5
int e = a * b; // e的值为50
int f = a / b; // f的值为2
int g = a % b; // g的值为0
二、逻辑运算符
逻辑运算符用于对布尔值进行逻辑运算,例如与、或、非等。
&& // 逻辑与
|| // 逻辑或
! // 逻辑非
示例:
int a = 5;
int b = 10;
_Bool c = (a > 0) && (b < 20); // c的值为1(真)
_Bool d = (a > 0) || (b < 20); // d的值为1(真)
_Bool e = !(a > 0); // e的值为0(假)
三、关系运算符
关系运算符用于比较两个操作数之间的关系,例如相等、大于、小于等。
== // 相等
!= // 不等
> // 大于
< // 小于
>= // 大于等于
<= // 小于等于
示例:
int a = 5;
int b = 10;
_Bool c = (a == b); // c的值为0(假)
_Bool d = (a != b); // d的值为1(真)
_Bool e = (a > b); // e的值为0(假)
_Bool f = (a < b); // f的值为1(真)
_Bool g = (a >= b); // g的值为0(假)
_Bool h = (a <= b); // h的值为1(真)
四、赋值运算符
赋值运算符用于将一个值赋给变量。
= // 赋值
+= // 加后赋值
-= // 减后赋值
*= // 乘后赋值
/= // 除后赋值
%= // 取余后赋值
示例:
int a = 5;
int b = 10;
a += b; // a的值为15
a -= b; // a的值为5
a *= b; // a的值为50
a /= b; // a的值为5
a %= b; // a的值为5
表达式的求值规则如下:
- 具有最高优先级的是圆括号内的表达式,其次是一元运算符(如取地址、取负等),然后是乘法和除法运算,最后是加法和减法运算。
- 如果两个运算符具有相同的优先级,则从左到右进行结合。
- 在表达式中,先计算表达式中的子表达式,然后再将结果用于更大的表达式中。
示例:
int a = 5;
int b = 10;
int c = 15;
int d = (a + b) * c; // d的值为225
int e = a * b + c; // e的值为65
int f = a + b * c; // f的值为155
int g = a * (b + c); // g的值为75
以上就是C语言中常见运算符的介绍,以及表达式的求值规则。这些运算符和规则在编写C语言程序时非常重要,可以通过它们实现各种复杂的计算和逻辑操作。