内容正文:
任务三 基本运算符和表达式
阶段1 运算符和表达式简介
阶段2 算术运算符和算术表达式
阶段3 自增、自减运算符和表达式阶段4 赋值运算符和赋值表达式
阶段5 逗号运算符
阶段6 关系运算符和表达式
任务三 基本运算符和表达式
阶段7 逻辑运算符和表达式
阶段8 条件运算符和条件表达式
阶段1 运算符和表达式简介
一.运算符的种类、优先级和结合性
C语言的运算符不仅具有不同的优先级,而且还有一个特点,就是它的结合性。在表达式中, 各运算量参与运算的先后顺序不仅要遵守运算符优先级别的规定,还要受运算符结合性的制约,以便确定是自左向右进行运算还是自右向左进行运算。这种结合性是其他高级语言的运算符所没有的,因此也增加了C语言的复杂性。
阶段1 运算符和表达式简介
二.运算符的种类
C语言的运算符可分为以下几类:
1.算术运算符
2.关系运算符
3.逻辑运算符
4.位操作运算符
5.赋值运算符
阶段1 运算符和表达式简介
6.条件运算符
7.逗号运算符
8.指针运算符
9.求字节数运算符
10.特殊运算符
阶段1 运算符和表达式简介
三.优先级和结合性
在C语言中,运算符的运算优先级共分为15级。1级最高,15级最低。在表达式中,优先级较高的先于优先级较低的进行运算。 而在一个运算量两侧的运算符优先级相同时, 则按运算符的结合性所规定的结合方向处理。 C语言中各运算符的结合性分为两种,即左结合性(自左至右)和右结合性(自右至左)。
阶段2 算术运算符和算术表达式
一.加法运算符“+”
加法运算符为双目运算符,即应有两个量参与加法运算。如a+b,4+8等。具有右结合性。
二.减法运算符“-”
减法运算符为双目运算符。但“-”也可作负值运算符,此时为单目运算,如-x,-5等。具有左结合性。
阶段2 算术运算符和算术表达式
三.乘法运算符“*”
双目运算,具有左结合性。
四.除法运算符“/”
双目运算,具有左结合性。参与运算的量均为整型时, 结果也为整型,舍去小数。如果运算量中有一个是实型,则结果为双精度实型。
阶段2 算术运算符和算术表达式
五.求余运算符(模运算符)“%”
双目运算,具有左结合性。要求参与运算的量均为整型。 求余运算的结果等于两数相除后的余数。
六.算术表达式
是由算术运算符和括号连接起来的式子, 以下是算术表达式的例子:
a+b (a*2)/c (x+r)*8-(a+b)/7
阶段3 自增、自减运算符和表达式
自增1运算符记为“++”,其功能是使变量的值自增1。自减1运算符记为“--”,其功能是使变量值自减1。自增1、自减1运算符均为单目运算,都具有右结合性。可以有以下几种形式:
++i i自增1后再参与其他运算;
--i i自减1后再参与其他运算。
阶段4 赋值运算符和赋值表达式
一.简单赋值运算符和表达式
简单赋值运算符记为“=”。由“= ”连接的式子称为赋值表达式。其一般形式为:
变量=表达式
例如:
x=a+b
w=sin(a)+sin(b)
阶段4 赋值运算符和赋值表达式
二.复合赋值符及表达式
在赋值符“=”之前加上其他二目运算符可构成复合赋值符。如+=,-=,*=,
/=,%=,<<=,>>=,&=,^=,|=。 构成复合赋值表达式的一般形式为:
变量 双目运算符=表达式
它等效于
变量=变量 运算符 表达式
例如: a+=5 等价于a=a+5 x*=y+7 等价于x=x*(y+7) r%=p 等价于r=r%p
阶段5 逗号运算符
C语言中逗号“,”也是一种运算符,称为逗号运算符。 其功能是把两个表达式连接起来组成一个表达式, 称为逗号表达式。其一般形式为:
表达式1,表达式2
其求值过程是分别求两个表达式的值,并以表达式2的值作为整个逗号表达式的值。
阶段6 关系运算符和表达式
一.关系运算符
在程序中经常需要比较两个量的大小关系, 以决定程序下一步的工作。比较两个量的运算符称为关系运算符。
关系运算符都是双目运算符,其结合性