C语言中运算符和表达式数量之多,在高级语言中是少见的。正是丰富的运算符和表达式使C语言功能十分完善。这也是C语言的主要特点之一。
C语言的表达式由运算符、常量及变量构成。C语言表达式基本遵循一般代数规则。常量和变量都可以参与加减乘除运算,例如1+1、hour-1、hour * 60 + minute、minute/60等。这里的+-*/称为运算符,而参与运算的变量和常量称为操作数,上面四个由运算符和操作数所组成的算式称为表达式。
C语言的运算符不仅具有不同的优先级,而且还有一个特点,就是它的结合性。在表达式中,各运算量参与运算的先后顺序不仅要遵守运算符优先级别的规定,还要受运算符结合性的制约,以便确定是自左向右进行运算还是自右向左进行运算。这种结合性是其它高级语言的运算符所没有的,因此也增加了C语言的复杂性。
算术运算符和算术表达式
1.基本的算术运算符
名称 |
符号 |
说明 |
加法运算符 |
+ |
加法运算符为双目运算符,即应有两个量参与加法运算。如a+b,4+8等。具有右结合性。 |
减法运算符 |
- |
减法运算符为双目运算符。但“-”也可作负值运算符,此时为单目运算,如-x,-5等具有左结合性。 |
乘法运算符 |
* |
双目运算,具有左结合性。 |
除法运算符 |
/ |
双目运算具有左结合性。参与运算量均为整型时,结果也为整型,舍去小数。如果运算量中有一个是实型,则结果为双精度实型。 |
求余运算符 |
% |
双目运算,具有左结合性。要求参与运算的量均为整型。 求余运算的结果等于两数相除后的余数。 |
一个运算的例子:
#include<stdio.h>
#include<stdlib.h>
int main()
{
printf("%d,%d\n", 20 / 7, -20 / 7);
printf("%f,%f\n", 20.0 / 7, -20.0 / 7);
system("pause");
return0;
}
运行结果:
<