第七章运算符和表达式
第七章 运算符和表达式
7.1运算符 ■算术运算符:+、一、米、/、% ■关系运算符:>、< ■逻辑运算符:!、&&、 ■位运算符:<<、> & ■赋值运算符:=及其扩展赋值运算符 ■条件运算符:?: ■逗号运算符:, ■指针运算符:*、& ■求字节数运算符: f ■强制类型转换运算符:(类型) 分量运算符: 下标运算符:[] ■自加、自减运算符:+ ■其它:如函数调用运算符() 第七章运算符和表达式
第七章 运算符和表达式 7.1 运算符 ◼算术运算符 :+、-、*、/、% ◼关系运算符:>、<、 == 、>=、<=、!= ◼逻辑运算符:!、&&、|| ◼位运算符:<<、>>、~、|、^、& ◼赋值运算符:=及其扩展赋值运算符 ◼条件运算符:?: ◼逗号运算符:, ◼指针运算符:*、& ◼求字节数运算符:sizeof ◼强制类型转换运算符:(类型) ◼分量运算符:.、-> ◼下标运算符:[ ] ◼自加、自减运算符:++、-- ◼其它:如函数调用运算符()
72表达式 ■由运算符加上运算对象就构成了表达式,C语 言允许使用以下类型的表达式: (1)赋值表达式,如:a=5 (2)算术表达式,如:3+4*2 (3)关系表达式,如:5>6 (4)逻辑表达式,如:3>58&a>=b (5)条件表达式,如:a>b?a:b (6)逗号表达式,如:a=3b=4,c=5 第七章运算符和表达式
第七章 运算符和表达式 7.2 表达式 ◼ 由运算符加上运算对象就构成了表达式,C语 言允许使用以下类型的表达式: (1)赋值表达式,如:a=5 (2)算术表达式,如:3+4*2 (3)关系表达式,如:5>6 (4)逻辑表达式,如:3>5&&a>=b (5)条件表达式,如:a>b?a:b (6)逗号表达式,如:a=3,b=4,c=5
73表达式的求值规则 c语言中的任何一个表达式都有一个确 定的值,表达式的求值规则如下: (1)按运算符的优先级高低次序执行。 (2)如果在一个运算对象(或称操作数) 两侧的运算符的优先级相同,则按C语言 规定的结合方向(结合性)进行 第七章运算符和表达式
第七章 运算符和表达式 7.3 表达式的求值规则 ◼ C语言中的任何一个表达式都有一个确 定的值,表达式的求值规则如下: (1)按运算符的优先级高低次序执行。 (2)如果在一个运算对象(或称操作数) 两侧的运算符的优先级相同,则按C语言 规定的结合方向(结合性)进行
73表达式的求值规则 ■优先级,是指在表达式中,运算符优先 级较高的先于优先级较低的进行运算 结合性,是指当一个操作数两侧的运算 符具有相同的优先级时,该操作数是先 与左边的运算符结合,还是先与右边的 运算符结合。自左至右的结合方向,称 为左结合性,反之称为右结合性。 单目运算符、条件运算符和赋值运算符 是右结合性,其他运算符是左结合。 第七章运算符和表达式
第七章 运算符和表达式 ◼ 优先级,是指在表达式中,运算符优先 级较高的先于优先级较低的进行运算。 ◼ 结合性,是指当一个操作数两侧的运算 符具有相同的优先级时,该操作数是先 与左边的运算符结合,还是先与右边的 运算符结合。自左至右的结合方向,称 为左结合性,反之称为右结合性。 ◼ 单目运算符、条件运算符和赋值运算符 是右结合性,其他运算符是左结合。 7.3 表达式的求值规则