考点4 运算符和表达式《C语言程序设计》山东(春季高考)软件与应用技术类 知识点讲解

| 8页
| 0人阅读
| 0人下载

学科网 zxxk.com学科网 zxxk.com

山东省(软件与应用技术类)春季高考

《C语言程序设计》复习讲义

模块 一  C 语言程序设计

考点 4   运算符和表达式

【考纲要求】

(1)理解运算符、表达式及常用函数的用法。

【知识网络】

【知识和技能要点】

一、算术运算符page number 0

原创精品资源学科网独家享有版权,侵权必究

学科网 zxxk.com学科网 zxxk.com学科网(北京)股份有限公司


学科网 zxxk.com学科网 zxxk.com

1. 五种算术运算符与优先级

算术运算符有五:加、减、乘、除与模除,皆用于数值之计算。求值之时,依优先级高低为序:圆括号最高,其次自增自减,再次乘除与模除,最后加减。乘除同级者,自左向右依次施行,是谓左结合。求值之次序既定,则同一式所得之值唯一。若欲改易次序,可加圆括号,如 5/(1-3) 与 5/1-3 所得者判然不同。

(1)优先级:括号 > 自增自减 > 乘除与模除 > 加减。

(2)结合方向:同级运算符自左向右,即左结合性。

(3)括号之用:可改易求值次序,分母与负号易混之处尤宜加之。

2. 整除与模除

两整数相除,其商仍为整数,小数部分径行舍弃,并不四舍五入,如 7/3 得 2,1/2 得 0。模除运算符 % 者,取两整数相除之余数,如 7%3 得 1;其两侧须皆为整型,若有一侧为实型则语法有误。求平均值、化单位之类,最易于此致误:以整数相除而求均数,所得恒为整数,须使其中一方为实型,方得精确之值。

(1)整除:两整数相除,商取整数部分,如 7/3 得 2、1/2 得 0。

(2)模除:% 取余数,两侧须皆为整型,如 7%3 得 1。

(3)常见之误:以整数相除求均数,须使一方为实型方可。

3. 实型参与运算的规则

算式中若有一数为实型,则所得为双精度实型,如 7/3.0 得 2.333333。故求精确之商,只须将除数或被除数写作实数即可。又字符型数据参与算术运算时,以其编码值参与,如 'A'+1 得 66;整型与实型混合运算时,整型先转为实型,再行计算。类型之升降有序,明乎此,则表达式之值与类型皆可推知。

(1)实型优先:一方为实型,结果即为双精度实型。

(2)字符参与:字符以其编码值参与运算,如 'A'+1 得 66。

(3)类型转换:整型与实型混合时,整型先转为实型再算。

二、自增自减与赋值运算符

1. 自增自减运算符

自增运算符 ++ 使变量之值增一,自减运算符 -- 使其值减一,二者皆作用于变量,写作 k++ 或 ++k,不得施于常量与算式。k++ 与 k=k+1 等价,k-- 与 k=k-1 等价,然前者简练,程page number 1

原创精品资源学科网独家享有版权,侵权必究

学科网 zxxk.com学科网 zxxk.com学科网(北京)股份有限公司


学科网 zxxk.com学科网 zxxk.com

序中多用之。二运算符之优先级仅次于括号,且为右结合。凡用自增自减之处,须留意其位置之前后,盖前缀与后缀之效果并不相同。

(1)功能:++ 使值增一,-- 使值减一,皆只可施于变量。

(2)等价写法:k++ 等价于 k=k+1,k-- 等价于 k=k-1。

(3)优先级:仅次于圆括号,且为右结合。

2. 前缀与后缀之别

++ 置于变量之前者曰前缀,置于之后者曰后缀。二者若独处一句,效果相同;若作为表达式之一部分参与运算,则次序有别。前缀者先使变量增一,再以新值参与运算;后缀者先以原值参与运算,而后使变量增一。设有 k=30,则 i=k++ 之后 i 得 30 而 k 为 31;j=++k 之后 k 先增为 32,j 亦得 32。

(1)前缀 ++k:先增一,再取新值参与运算。

(2)后缀 k++:先取原值参与运算,而后增一。

(3)独用无别:单独成句时,k++ 与 ++k 效果相同。

3. 赋值与复合赋值运算符

赋值运算符 = 之优先级甚低,仅高于逗号,且为右结合,故 a=b=c=0 自右向左依次赋值。复合赋值运算符如 +=、-=、*=、/=、%= 之类,将算术运算与赋值合为一事,如 k+=5 即 k=k+5。用复合赋值可使程序简练,亦免变量名重复书写之误。又赋值表达式自身亦有值,其值即所赋之值,故可嵌于他式之中。

(1)优先级与结合性:赋值运算符优先级低,且为右结合。

(2)复合赋值:k+=5 等价于 k=k+5,其余 -=、*=、/=、%= 同理。

(3)表达式之值:赋值表达式的值即所赋之值,如 x=(k=9.8)+7 中括号内之值为 9.8。

三、逗号、位运算与优先级

1. 逗号运算符与逗号表达式

逗号运算符用以连接两个表达式,其形式为“表达式1, 表达式2”,优先级最低。求值之时,先算表达式1,再算表达式2,整个逗号表达式之值取后者之值。凡以逗号连接多个表达式者,多为依次求出各值,而不取其总和。又逗号在变量说明中只作分隔之用,非运算符,如 int i, j; 中之逗号即属此类,不可混为一谈。

(1)形式与求值:先算前者,再算后者,整体取后者之值。page number 2

原创精品资源学科网独家享有版权,侵权必究

学科网 zxxk.com学科网 zxxk.com学科网(北京)股份有限公司


由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。