语言程序设计及项目实践.ppt

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 运算符和表达式 本章的学习重点 ◆ 运算符与表达式的分类 ◆ 算术运算符与算术表达式 ◆ 逻辑运算符与逻辑表达式 ◆ 关系运算符与关系表达式 ◆ 位运算符 ◆ 条件运算符 ◆ 强制类型转换 3.1 运算符与表达式的分类 运算符的分类:可按照操作对象数目分类,例如一元运算符、二元运算符和三元运算符等,也可按照功能分类,例如算术运算符、逻辑运算符、关系运算符等。 表达式的分类:主要按照运算符的不同功能进行分类,例如算术表达式、逻辑表达式、关系表达式等。 3.1.1 运算符的分类 按照操作对象的多少,运算符主要可分为一元运算符、二元运算符和三元运算符。例如负号(-)为一元运算符,加号(+)为二元运算符等。除了这些基本运算符之外,C语言还支持复合运算符以及sizeof运算符等。 按照功能分类,运算符可分为:算术运算符、赋值运算符、逻辑运算符、关系运算符、条件运算符、位运算符、取字节数运算符等。 3.1.1 运算符的分类 表3-1 运算符分类 3.1.2 表达式的分类 表达式是一种有值的语法结构,它一般由运算符将变量、常量或函数返回值结合而成。 表达式按照运算符的不同进行分类,主要有:算术表达式、逻辑表达式和关系表达式等。 1.算术表达式 一般由算术运算符和控制运算优先级的括号连接而成 ,例如:3.14159*r, (a+b)/c+d*m. 其中,符号’*’表示算术运算“乘”,’/’表示算术运算“除”。 2.赋值表达式 一般由赋值运算符、算术运算符和操作对象组合而成。一般表达形式为:变量 = 表达式或数值 或者 变量1 = 变量2 = 变量3 = 表达式或数值。 3.1.2 表达式的分类 3.逻辑表达式 一般由逻辑运算符和操作对象组合而成, 例如: a && b,c || d && m,!x等。 4.关系表达式 一般由关系运算符和操作对象组合而成, 例如:a > b, c <= d, m = = n等。 5.逗号表达式 逗号表达式由其他表达式和逗号运算符组成,例如:a = 12, b = 100, c = a+b 6.复合表达式 复合表达式是几种简单表达式的组合,是比较复杂的表达式,例如:num = 12 + b + (c = 35/(d = 7)) 3.2 运算符的优先级与结合性 当不同的运算符放在一个表达式中进行混合运算时,运算顺序是根据运算符的优先级而定的,优先级高的运算符先运算,优先级低的运算符后运算。 在同一表达式中,如果各运算符有相同的优先级,运算顺序是从左向右,还是从右向左,是由运算符的结合性决定的。所谓结合性是指运算符可以和左边的表达式结合,也可以和右边的表达式结合。 3.2 运算符的优先级与结合性 表3-2 运算符优先级与结合性 3.2 运算符的优先级与结合性 范例3.1 PriorityAndCombine.c 这里使用多运算符的表达式演示不同优先级的运算符组合运算所产生的结果。程序定义变量a,b,c,并使用复合赋值运算符+=验证复合赋值运算符的功能。 分析: 查看代码:由于赋值是自右至左的右结合性,因此先计算赋值号右边的表达式a+c*10,结果为210,然后将结果赋给b。 3.3 赋值运算符与赋值表达式 C语言规定,任何变量都要先定义后使用,并且在引用其数值前一定要进行赋值操作,而此时就需要用到赋值运算符“=” 。 1.简单赋值表达式 赋值表达式使用赋值号表示,赋值号左边的对象叫做左值(l-value),赋值号左边只能是变量。 a+=5 等价于 a=a+5 若a = 20, 执行后a+=5后,a的值变为25 3.3 赋值运算符与赋值表达式 范例3.2 (LvalueAndRvalue.c) 将int型变量的值赋给short型变量,查看赋值后的结果。为表述方便,程序使用十六进制值0x12345,接收变量为short型。 2.连续赋值表达式 有时需要对几个变量赋予同一个值,这时可以使用连续赋值表达式,例如: int i, j, k; i = j = k = 10; 由于赋值运算符是右结合性,因此程序执行顺序为: k = 10 j = k i = j 3.3 赋值运算符与赋值表达式 3.复合赋值表达式 复合赋值表达式由赋值运算符、算术运算符或逻辑运算符以及操作对象构成。例如,表达式a += 10,它等价于:a = a + 10。 范例3.3 (DAssignmentOperator.c) 使用复合赋值运算符进行算术和赋值操作。程序使用*=和+=分别对变量m和n作赋值运算,验证在同一表达式中两者之间的关系。 注意:在工程应用中,应尽量避免使用这些简

文档评论(0)

134****9291 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档