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 */
版权声明:本文标题:C语言教材 C语言教材 第3章 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1710752880a571363.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论