程序设计基础(运算符和表达式)..ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机及程序设计概述 运算符与表达式 运算符 C语言用于描述对数据进行运算的特殊符号 C语言具有丰富而繁多的运算符 由运算符构成了各种表达式 分类 C语言的运算符按其在表达式中与运算对象的关系 单目运算 一个运算符连接一个运算对象 双目运算 一个运算符连接两个运算对象 三目运算 一个运算符连接三个运算对象 运算符 分类 算术(自增/自减)运算符:(+,—,*,/,%、++、--) 关系运算符:(,,=,=,!=,==) 逻辑运算符:(!,,||) 位运算符:(、、~、|、^、) 赋值运算符:(=) 条件运算符:(?:) 逗号运算符:(,) 指针运算符:(*,) 强制类型转换运算符:(type) 分量运算符:(.和 ? ) 下标运算符:([ ]) 函数调用运算符:(( )) 运算符 对运算符的掌握应从三个方面着手 和操作符相关的数据类型(包括操作数和操作结果的数据类型) 运算符的优先级 运算符的结合次序 表达式 用运算符将运算对象连接而成的符合C语言规则的算式 特别地:一个常量、一个变量、一个函数都可以看成是一个表达式 表达式的分类 按照运算符与运算对象的关系 单目表达式 双目表达式 三目表达式 表达式 表达式的分类 按照运算符在表达式中的作用 算术表达式,例:3+4*5 赋值表达式,例:a=3 关系表达式,例:56,ab 逻辑表达式,例:35a=b 条件表达式,例:ab?a:b 逗号表达式,例:a=3,b=4,c=5 指针表达式,例:p-2,a 表达式的求值过程 C语言规定了运算符的优先级和结合性 优先级 指同一个表达式中不同运算符进行计算时的先后次序 结合性 结合性是指同一个表达式中相同优先级的多个运算应遵循的运算顺序 C语言规定:单目运算符是自右向左结合,双目运算符是自左向右结合 表达式的求值过程 表达式的求值过程按C规定的原则求值 表达式代表了一个具体的值 实际上是一个数据加工的过程 在表达式求值时,先按运算符的优先级级别的高低次序执行 如果运算符两侧的优先级级别相同,则按规定的“结合方向”处理 提示 运算符的优先级制约着表达式的计算次序 可以通过括号()来改变表达式求值的顺序 表达式求值过程中存在某种类型数据的类型转换 算术表达式 由算术运算符连接数值型运算对象构成 其结果可以是整数、单精度实数和双精度实数 例:int a=2; float b=4.5;表达式 2*a+b 的结果为8.5 优先给与结合性 提示 两个整数相除其结果仍为整数(即舍去小数部分) 例如:13/10的结果为1 “%”为求余运算符,参与运算的两个数均为整数 例如:10%3=1 -10%3=-1 除以0在计算机系统中是没有意义的 用括号可以改变表达式的运算顺序 算术表达式 算术表达式 例1: 设 int b=7;float a=2.5,c=4.7; 表达式a+(int)(b/3*(int)(a+c)/2)%4的值? 例2: 自增/自减 “++”与“--”的作用是使变量的值增1或减1 C语言提供两种形式的 ++/--运算符 ++a,--a(前缀运算:先进行增量运算后使用) a++, a--(后缀运算:先使用后进行增量运算) 提示: 增和自减只能作用于变量,不允许对常量、表达式或其它进行操作 当自增/自减变量值本身就单独构成一条语句时,前缀和后缀的效果是一样的 对于“++”和“--”的使用要避免二义性 自增/自减 计算过程 例1:设x=5 y=++x;/*先计算x=x+1,再执行y=x,结果x=5 ,y=6*/ y=x++;/*先执行y=x,再计算x=x+1,结果y=5,x=6*/ 问题:如何理解A+++B ? C规定:自左向右取尽可能多的符号组成运算符 自增/自减 例2:设x=5 y=x++*x++; /*先取x的值进行“*”运算, 再进行两次 x++。 y=25,x=7*/ y=++x*++x; /*先进行两次x自增1,使x的值为7,再进行相乘运算。 y=49,x=7*/ 赋值表达式 由赋值运算符“=”连接表达式(右侧)和变量(左侧) 形式:变量名=表达式 赋值运算符完成两类操作 计算 赋值 例 int a=2,float b=5.2,c; c=a*b; 赋值运算符具有右结合性 例如:a=b=3*5;/*先计算3*5,后将15赋给b,再将b的值15赋给a*/ 赋值表达式 组合赋值表达式 组合赋值运算符将一个变量和一个表达式连接起来的式子称为组合赋值表达式 形式:变量名 组合赋值运算符 表达式 例: x%=y/3;/*x=x%(y/3)*/ a*=b+c /* a=a*(b+c)*

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档