c语言教材第一章精品.pptVIP

  1. 1、本文档共91页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c语言教材第一章精品

* 12.运算符与表达式 表达式 表达式的分类 按照运算符在表达式中的作用 算术表达式,例:3+4*5 赋值表达式,例:a=3 关系表达式,例: 56,ab 逻辑表达式,例:35a=b 条件表达式,例:ab?a:b 逗号表达式,例:a=3,b=4,c=5 指针表达式,例:p-2,a * 12.运算符与表达式 表达式的求值过程 C语言规定了运算符的优先级和结合性 优先级 指同一个表达式中不同运算符进行计算时的先后次序 结合性 结合性是指同一个表达式中相同优先级的多个运算应遵循的运算顺序 C语言规定:单目运算符是自右向左结合,双目运算符是自左向右结合 * 表达式的求值过程按C规定的原则求值 表达式代表了一个具体的值 实际上是一个数据加工的过程 在表达式求值时,先按运算符的优先级级别的高低次序执行 如果运算符两侧的优先级级别相同,则按规定的“结合方向”处理 提示 运算符的优先级制约着表达式的计算次序 可以通过括号()来改变表达式求值的顺序 表达式求值过程中存在某种类型数据的类型转换 * 12.运算符与表达式 算术表达式 由算术运算符连接数值型运算对象构成 其结果可以是整数、单精度实数和双精度实数 例:int a=2; float b=4.5;表达式 2*a+b 的结果为8.5 优先给与结合性 * 提示 两个整数相除其结果仍为整数(即舍去小数部分) 例如:13/10的结果为1 “%”为求余运算符,参与运算的两个数均为整数 例如:10%3=1 -10%3=-1 除以0在计算机系统中是没有意义的 双目运算符两侧运算对象的类型必须一致,所得结果的类型将与运算对象的类型一致 用括号可以改变表达式的运算顺序 * 12.运算符与表达式 算术表达式 例1: 设 int b=7;float a=2.5,c=4.7; 表达式a+(int)(b/3*(int)(a+c)/2)%4的值? 例2: * 12.运算符与表达式 自增/自减 “++”与“--”的作用是使变量的值增1或减1 C语言提供两种形式的 ++/--运算符 ++a,--a(前缀运算:先进行增量运算后使用) a++, a--(后缀运算:先使用后进行增量运算) 提示: 增和自减只能作用于变量,不允许对常量、表达式或其它进行操作 当自增/自减变量值本身就单独构成一条语句时,前缀和后缀的效果是一样的 对于“++”和“--”的使用要避免二义性 * 12.运算符与表达式 自增/自减 计算过程 例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*/ * 12.运算符与表达式 赋值表达式 由赋值运算符“=”连接表达式(右侧)和变量(左侧) 形式:变量名=表达式 赋值运算符完成两类操作 计算 赋值 例 int a=2,float b=5.2,c; c=a*b; 赋值运算符具有右结合性 例如:a=b=3*5;/*先计算3*5,后将15赋给b,再将b的值15赋给a*/ * 12.运算符与表达式 赋值表达式 组合赋值表达式 组合赋值运算符将一个变量和一个表达式连接起来的式子称为组合赋值表达式 形式:变量名 组合赋值运算符 表达式 例: x%=y/3;/*x=x%(y/3)*/ a*=b+c /* a=a*(b+c)*/ 注意:“a*=b+c”与“a=a*b+c”是不等价的 提示 “=”不是数学中的“等号”,它表示一个动作 右侧的值送与左侧的变量中(左侧只允许是变量,不能是表达式或其他) 赋值运算符两侧的类型要求一致,否则要进行类型转换 赋值运算符‘=’,相等运算符‘= =’,和一般习惯有所不同 * 12.运算符与表达式 关系表达式 关系运算符中的“关系”二字的含义是指一个值与另一个值之间的关系 关系由关系运算符(,,=,=,!=,==)连接表达式构成 形式:表达式 OP 表达式 表达式可以是常量、变量和表达式 结果为整型值 0:逻辑假 1:逻辑真 优先级:(,,=,=)高于(!=,==) 结合方向:自左向

文档评论(0)

bodkd + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档