admin 管理员组

文章数量: 1184232


2024年3月18日发(作者:布里奇斯率鹈鹕击败太阳)

第3章 运算符与表达式

本章要点

了解运算符及其表达式的概念,熟练掌握各种运算符的运算规则。重点掌握各种运算符的优先级和结合

性。本章的难点在于自增自减运算符的正确运用。

第一节 算术运算符与算术表达式

C语言中基本的算术运算符有:

(1)+:加法运算符,用于计算任意两个数的和。如:3+2,结果为5;

(2)-:减法运算符,用于计算任意两个数的差。如:3.5-2,结果为1.500000;

(3)*:乘法运算符,用于计算任意两个数的乘积。如:4*3,结果为12;

(4)/:除法运算符,用于计算任意两个数的商。如:3.6/3,结果为1.200000;

(5)%:模运算符(求余运算符),用于求余数。如:13%4,结果为1。

这几个运算符要求运算符两边都有数据,即运算对象为两个,所以称为双目算术运算符。

关于算术运算符的几点说明:

(1)用算术运算符和括号将运算对象连接起来的、符合C语言语法规则的式子称为算术

表达式。运算对象可以是变量、常量、函数等。算术表达式中运算符的结合方向为“从左至

右”;*,/,%运算的优先级高于+,-运算,可以使用圆括号改变优先级别。

如:表达式3+4*3/2-1,按照从左至右的顺序,先计算优先级别较高的*、/运算,4*3,结

果为12,12/2,结果为6,6和左边的3进行加法运算,得到结果9,最后计算9-1,结果为8。

(2)对于除法运算“/”,如果运算符两边的运算对象都是整数,则运算结果也是整数。

如:5/2的结果为2,而不是2.5,小数部分被舍去了。

(3)对于模运算符“%”,要求其左右两边的运算对象都为整数,结果也为整数,即只有

整数才能进行求余运算;

(4)“+,-”运算符有时作为正值运算符(+)和负值运算符(-),此时“+、-”变为单

目运算符。如:+3,-6。

例3.1 算术运算符和算术表达式

#include

void main()

{

int a=3,b=4;

printf("a+b/4%2-2.5=%fn",a+b/4%2-2.5); /* 从左至右,按照优先级别运算 */

printf("4*a/b=%d,a/b*4=%dn",4*a/b,a/b*4); /* 两个表达式结果不同,不满足数学中的

交换律 */

1

printf("9/4=%d,-9/4=%d",9/4,-9/4); /* 两个整数做除法运算,所得结果也是整数*/

}

程序运行结果:

a+b/4%2-2.5=1.500000

4*a/b=3,a/b*4=0

9/4=2,-9/4=--2

第二节 关系运算符与关系表达式

关系运算符相当于数学中的比较运算符,用于将两个值进行比较,判断比较的结果是否

符合给定的条件。如a>5表示将a的值和5进行比较,判断a的值大于5是否成立。当a的值

为8时,a的值大于5是成立的,该关系运算的结果为“真”,即符合给定的条件;当a的值

为3时,a的值大于5是不成立的,该关系运算的结果为“假”,不符合给定的条件。

C语言中提供了6种关系运算符:

(1)> 大于

(2)>= 大于或等于

(3)< 小于

(4)<= 小于或等于

(5)== 等于

(6)!= 不等于

其中,前4个的优先级别相同,后2个的优先级别也相同。前4种的优先级别高于后2

种的优先级别。与算术运算符相比,关系运算符的优先级别低于算术运算符。

用关系运算符将两个表达式连接起来的式子,称为关系表达式。其中,连接的表达式可

以是变量、常量、算术表达式、关系表达式、逻辑表达式、赋值表达式等。

关系表达式的值是一个逻辑值,逻辑值有“真”和“假”。在C语言的逻辑运算中用“1”

代表“真”,用“0”代表“假”。

例如:5>3的值为“真”,即表达式的值为1;

3==0的值为“假”,即表达式的值为0。

例3.2 关系运算符的应用及关系表达式的值。

#include

void main()

{

int a=3,b=4;

printf("%d,%dt",a+b==7,a+(b==7)); /* 优先级别低于算术运算符 */

printf("%dt",3==3

}

程序运行结果:1,3 0 0

2

printf("%dn",b>a>1); /* 先计算b>a,值为1,再比较1>1,值为0 */


本文标签: 运算符 表达式 运算 算术 关系