4-1. 运算符与表达式

  • 学习人数 30K+
  • 适合所有人群学习
avatar
林耿亮

你好编程主讲老师

在之前的章节中,我们使用到了+运算符,用于两个数据对象的相加。

这一节中,我们将继续认识更多的运算符,并讨论运算符和数据对象是如何相互作用的。

1. 表达式

1.1 什么是表达式?

运算符往往需要与运算对象一起使用才有意义。例如:

5 + 10

其中,5与10是运算对象,+为运算符

在C语言中,一个或多个运算对象与零个或多个运算符组成表达式。下面几个都是表达式:

100
5 + 10
a / b
a * 10 / b + c

如上的例子可以看出,100也是一个正确的表达式,虽然它只有运算对象而没有运算符。

1.2 表达式的结果

printf("%d\n", 5 + 10);

运算符运算对象进行运算操作必然产生一个结果,因此每个表达式都有一个结果。例如上面的表达式5 + 10的结果为15。

值15被传入printf后,在控制台上打印出字符15。

1.3 表达式语句

表达式后面加上分号构成表达式语句

C语言中表达式不能单独存在,必须以表达式语句的形式存在。

例如:

100;
5 + 10;
a / b;
a * 10 / b + c;

那么下面的表达式5+10呢?它为什么可以没有分号。

printf("%d\n", 5 + 10);

因为5 + 10是一个子表达式,函数名加上括号运算符,构成了一个函数调用表达式。 所以,5 + 10为函数调用表达式的子表达式,而函数调用表达式后面加了分号了。

当然函数调用表达式也有一个表达式结果,这个结果就是函数的返回值了。

2. 加法运算符 +

+为加法运算符,它左右边各需要一个运算对象,构成加法运算符表达式

表达式结果:加法表达式的结果为左右表达式结果相加。

int a, b;
a = 200;
b = 100;
a + b;  //  表达式结果为300

3. 减法运算符 -

-为减法运算符,它左右边各需要一个运算对象,构成减法运算符表达式

表达式结果:减法表达式的结果为左右表达式结果相减。

int a, b;
a = 200;
b = 100;
a - b;  //  表达式结果为100

4. 符号运算符 +、-

+-为符号运算符。

+用于标明一个表达式的正负 -用于改变一个表达式的正负。

与加减运算符不同的是,它仅需要在运算符右边有一个运算对象。

表达式结果

+号表达式的结果为右边运算对象的值。

-号表达式的结果为右边运算对象值的相反数。

+100;   //  表达式结果为100
-100;   //  表达式结果为-100

用于改变表达式的正负:

int a = 100;
-a; //  表达式结果为-100

请注意:+不能改变表达式的正负,请使用负负得正。

int a = -100;
+a; //  表达式结果为-100
-a; //  表达式结果为100