C语言课程基础.ppt

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 本章涉及的运算符 + - * / % ++ -- + - = += -= *= /= %= = |= ^= = = = = == != || ! | ^ ~ ?: , sizeof (数据类型标识符) 类型 种类 算术运算符 赋值运算符 关系运算符 逻辑运算符 位运算符 条件运算符 逗号运算符 其他运算符 * 表达式的有关概念 什么是表达式 由运算符将运算对象连接成的式子,它描述了一个具体的求值运算过程。 计算表达式的值 按照运算符的运算规则求值 求值时注意运算符的优先级和结合性 表达式值的类型 自动转换 强制转换 * 例如: 表达式: 150+b*2-12.456 b=(++a)-2 a /= a *= (a = 2) f=abc --a ||++bc++ max=ab ? a : b a=3,a+=3,a*a 1/(float)a+6 * 算术运算 算术运算符的优先级 ( ) + - ++ -- * / % + - 同级 同级 同级 单目 双目 高 低 没有乘方运算符,要计算a3要写作 a*a*a 的连乘,或用标准库函数 pow(a, 3) “/”的运算对象可为各种类型数据,但是当进行两个整型数据相除时,运算结果也是整型数据 “%”要求运算对象必须是整型数据,功能是求两数相除的余数,余数的符号与被除数的符号相同。 * 自增自减运算 ++ --是单目运算符 有前缀和后缀两种形式 前缀形式: 先自增(自减)再引用; 后缀形式: 先引用再自增(自减); 功能: 前缀形式 ++ a 等价于 a = a + 1 -- a 等价于 a = a – 1 后缀形式 a ++ 等价于 a = a + 1 a -- 等价于 a = a – 1 表达式的值会不同 * 例如: 当 a=5 时 ⑴ ++a 表达式的值为 6,且 a=6 ⑵ a++ 表达式的值为5 ,且 a=6 ⑶ b=++a 等价于 a=a+1; b=a 表达式的值为6,且 a=6, b=6 ⑷ b=a++ 等价于 b=a; a=a+1 表达式的值为5,且 a=6, b=5 * 说明: ++ 和 -- 的运算对象只能是变量(或运算结果是变量的表达式), 不能是常量(或运算结果是数值的表达式)。 例如: 5++、(a+2)++ 不合法。 具有右结合性,结合方向为从右到左。 例如: –a++ 等价于 -(a++) 如果有多个运算符连续出现时,C系统尽可能多的从左到右将字符组合成一个运算符 例如: i +++ j 等价于 ( i++)+j -i+++-j 等价于 -(i++)+(-j) * main( ) { int a=5; printf(%d %d\n,a,a++ ); } 说明(续): 对函数参数的求值顺序: Turbo C系统先计算最右边的参数值,再依次计算左面的参数值。 【例2.5】有多个函数参数且为同一变量自增的运算处理。 输出结果: 6 5 运行例2.5 * 说明(续): 【例2.6】有多个函数参数且为同一变量多次自增的运算处理。 main( ) { int a=5; printf(%d%d\n,a,(a++)+( a++)); } 输出结果: 7 11 运行例2.6 * 赋值运算 赋值运算符(右结合) = += -= *= /= %= = |= ^= = = 赋值表达式 将表达式的值存入变量对应的内存单元中 m=12 b=(++a)-2 m%=3+n 等价于 m=m%(3+n) x *= (x = 5) * 说明: 赋值号左边必须是变量,右边可以是C语言任意合法的表达式 例如:n= t +2s 合法 a+ b = 15 不合法 赋值运算符仅优先于“,” ,且具有右结合性 例如: a= b= b*c10 等价于:a= (b=( (b*c)10)

文档评论(0)

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

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

1亿VIP精品文档

相关文档