C世界中的加减乘除运算符和表达式

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

4.1.1 运算符
用来对数据进行运算的符号,就可以称为运算符。
C语言中的运算符如下表所示:
运算符种类 算术运算符 关系运算符 逻辑运算符 位操作运算符 赋值运算符 作用 用于各类数值运算 用于比较运算 用于逻辑运算 参与运算的量,按二进制 位进行运算 用于赋值运算 包含运算符 加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、 自增(++)、自减(--) 大于(>)、小于(<)、等于(==)、大于等于(>=)、小于等于 (<=)、不等于(!=) 与(&&)、或(||)、非(!) 位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右 移(>>) 简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)、 复合位运算赋值(&=,|=,^=,>>=,<<=)
4.1.3 优先级和结合性
优先级:是指当不同的运算符进行混合运算时,运算 顺序是根据运算符的优先级而定的,优先级高的运算符 先运算,优先级低的运算符后运算。 结合性:是指运算符可以和左边的表达式结合,也可 以与右边的表达式结合,即:左结合性和右结合性。 例如:x+向左
条件运算符
逗号运算符 指针运算符 求字节数运算符
用于条件求值
用于把若干表达式组合成 一个表达式 用于取内容和取地址 用于计算数据类型所占的 字节数
(?:)
(,) 取内容(*)、取地址(&) (sizeof)
其它运算符
其它
括号 ( ),下标[ ],成员(→,. )等
4.1.1 运算符
按运算符在表达式中与运算分量的关系(连接运算分 量的个数),运算符可分为: ① 单目运算符,即一元运算符,只需要一个运算分量, 如:-5,!a; ② 双目运算符,即二元运算符,需要两个运算分量, 如:a+b,x||y; ③ 三目运算符,即三元运算符,需要三个运算分量,如: a>b?a:b。
注意:条件运算符(?:)是C语言中唯一的三目运算符。
4.1.2 表达式
C中运算符和数据构成的式子,就称为表达式; 表达式运算的结果就称为是表达式的值。
根据运算符的分类,C语言的表达式分为以下8类: 算术表达式、关系表达式、逻辑表达式、赋值表达式、 条件表达式、逗号表达式、位表达式和其它表达式等。 由以上表达式还可以组成更复杂的表达式,例如: z=x+(y>=0)
4.3.2 关系表达式
把两个C语言表达式连接起来的式子称为关系表达式;
如:x!=0 „a‟==„A‟ a*a+b*b+c*c<y*y 注意:数值型数据比较的是数值的大小;字符型数据比较 的是ASCII码的大小。 关系表达式的结果只有两个:1和0。当关系表达式成立时 值为1,不成立时值为0。
例如:若x=3,y=5,z=-2,则:x+y<z 的结果为0
第4章
C世界中的加减乘除——运算符和表达式
C中的运算符和表达式 算术运算符和表达式 关系运算符和表达式 逻辑运算符和表达式 条件运算符和表达式 赋值运算符和表达式 自增、自减运算符 逗号运算符和表达式 运算符的优先级
4.1 C中的运算符和表达式
4.1.1 运算符 4.1.2 表达式 4.1.3 优先级与结合性
4.2 算术运算符和表达式
4.2.1 算术运算符
4.2.2 算术表达式
4.2.3 算术运算符的优先级与结合性
4.2.4 应用举例
4.2.1 算术运算符
基本的算术运算符有5个,分别是:
+:加法运算符或正值运算符 -: 减法运算符或负值运算符 *: 乘法运算符
2x 2*x
-6%4
6%-4
-6%-4
(1)“%”运算符要求两侧的运算分量必须为整型数据; (2)在C中,乘法运算符为“*”,而不能写成数学中的“×”号;除法 运算为“/”,而不是“÷”号 。
4.2.2 算术表达式
复杂的算术表达式,例如: 2*(9/3) 结果为: 6 结果为:5 10/((12+8)%9)
4.2.4 应用举例
【范例4-2】 算术运算符和表达式的应用。
4.3 关系运算符和表达式
4.3.1 关系运算符
4.3.2 关系表达式
4.3.3 关系运算符的优先级与结合性
4.3.4 应用举例
4.3.1 关系运算符
C语言提供了6种关系运算符,分别是: >(大于)、>=(大于等于)、<(小于)、<=(小于 等于)、==(等于)、!=(不等于)。 它们都是双目运算符。 注 意:以下这些运算符不同于平时的书写习惯: ⑴ “>=”和“<=”不能写成“≥”和“≤”; ⑵ 等于在C中的书写格式为“==”而不是“=”,注意是两 个“=”连起来写表示相等的关系,“=”是后面要讲的赋 值运算符,注意二者的区别。
a a/b /: 除法运算符 b %:求模运算符或求余运算符
其中,+(正值运算符)和-(负值运算符)是单目运 算符,其余均为双目运算符。
4.2.2 算术表达式
简单的算术表达式,例如: 2+3:结果为:5 2-3:结果为:-1


2*3:结果为:6
2/3:结果为:0 6.0%4 ×
2%3:结果为: 2 注 意:
x!=(y>z) 的结果为1 „a‟==„A‟ 的值为0
4.3.3 关系运算符的优先级和结合性
“>”、“>=”、“<”和“<=”的优先级相同; “==”和“!=”的优先级相同;
4.2.3 算术运算符的优先级和结合性
在复杂的算术表达式中:“()”的优先级最高, “*、/、%”运算符的优先级高于”+、-”运算符。 算术运算符中的结合性均为“左结合”。
4.2.4 应用举例
【范例4-1】 使用算术运算符计算结果。 注意:对于“/”运算符,C语言中规定: ⑴当它的两个运算分量均为整数时,计算结果也必须 为整数。 ⑵如果两个运算分量中有一个数是浮点型时,则结果 也应该为浮点型数据。例如:99.0/5的结果为19.8。 ⑶如果两个运算分量有一个为负值,其结果随不同的 机器系统而不同,但多数机器采用“向零取整”的原则。 例如:-7/4的结果为-1;7/-4的结果为1。
相关文档
最新文档