chapter02数据类型、运算符和表达式.ppt

chapter02数据类型、运算符和表达式.ppt

  1. 1、本文档共66页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
chapter02数据类型、运算符和表达式

主要内容 C语言数据类型 常量 变量 运算符与表达式 C语言数据类型 直接常量:从字面上可以看出数据的值,同时可以分析出数据的类型 整型常量 实型常量 字符常量 字符串常量 运算符的优先级和结合性 为使表达式按一定的顺序求值,编译程序将所有运算符分成若干组,按运算执行的先后顺序为每组规定一个等级,称为运算符的优先级; 处于同一优先级的运算符的运算顺序称为结合性:从左至右(左结合性)、从右至左(右结合性) 关系运算 六种关系运算符:、=、、=、==、!=; 都是双目运算符; 、=、、=优先级别高于==、!=; 优先级低于算术运算符; 优先级高于赋值运算符; 关系表达式的一般形式: 表达式 关系运算符 表达式 a + b c – d x 3/2 关系表达式为“真”时,值为1,为假时,值为0 逻辑运算 三种逻辑运算符:(与)、||(或)、!(非); 与||为双目运算符,左结合性;!为单目运算符,右结合性; 优先级(从高到低):! ? ? ||; !优先级高于算术运算符; 、||优先级低于关系运算符; 逻辑运算的值也为“真”和“假”两种,分别用1和0表示; 非0为真,0为假; 逻辑表达式一般形式: 表达式 逻辑运算符 表达式 运算时,当前一表达式为0时,不再求后一表达式;如:a = 2; b = 3; a = 0 b = 1; ||运算时,当前一表达式为1时,不再求后一表达式;如:a = 2; b = 3; a = 1 || b = 1; 某位和0进行“”,可将该位清0; 某位和1进行“”,取该位的值; 某位和1进行“|”,可将该位置1; 某位和1进行“^”,可将该位翻转; 某位和0进行“^”,可将该位保留原值; 对操作数自身“^”,可将操作数清0; 左移“” 1位,相当于乘以2; 右移“” 1位,相当于除以2; 算术右移:左边补符号位 逻辑右移:左边补0 运算符的优先级和运算顺序 C语言中的优先级从高到低分为15级。 运算符的一般顺序: 先运算优先级别高的,再运算优先级别低的。 对于优先级别相同的运算符,按其结合方向执行。 运算符的优先级和结合方向 优先级分级一般规律: 单目运算符优先级最高,双目次之,三目较低。 双目运算符中,算术运算符较高,关系次之,逻辑较低(!除外)。 位运算符中,移位运算高于关系运算,位逻辑运算低于关系运算。 圆括号运算符优先级最高,逗号运算符最低。 可用括号 强调或改变 运算顺序。 * * 自增和自减运算符++、-- 作用:将操作数自己增加1或者减少1。 前置(前缀): 如:++i 、--i 后置(后缀): 如:i++、i-- #include stdio.h void main () { int i = 3, j = 4; i++; ++i; j--; --j; printf (%d %d\n, i, j); } 结果输出:5 2 比较前置运算和后置运算 #include stdio.h void main () { int i = 3, j, k; j = i++; k = ++j; printf (%d%d%d\n, i, j, k); } 请先阅读下面的程序: 结果输出显示: 4 4 4 过程: i=3; 3 j=i; 3 i=i+1; 4 j=j+1; 4 k=j; 4 i,j,k: 4 4 4 自增、自减运算小结: 自增运算符和自减运算符是单目运算符,且只能用于单个变量。 当前置运算或者后置运算与其他运算结合在一个表达式中时: 前置运算:先计算后引用 后置运算:先引用后计算 “++”和“--”的运算结合方向是从右到左。 遇到类似于a+++b这样的表达式时,在保证有意义的前提下,从左到右尽可能多地将若干个字符组成一个运算符。相当于(a++)+b而不是a+(++a)。 阅读下面的程序,写出运行结果: #include stdio.h void main() { int i = 2, j, k; j = (i++) + (i++) + (i++); k = (--i) + (--i) + (--i); printf (%d %d %d\n, i, j, k); } Answer: 2 6 6 VC++6.0 结果 VC++9.0 结果 算术表达式 算术表达式是指由算术运算符、运算量、括号和函数组成,符合C语言语法规则的式子。 算术运算符优先级: 括号可用于改变计算顺序 先算括号里面的表达式,得到的结果再参与括号外面的相关计算。 For Example: -3-2*3+2/3*2 -((3-2)*(3+2)/(3*2)) 算术表达式的数据类型 算术表达式的数据类型即该表达式

文档评论(0)

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

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

1亿VIP精品文档

相关文档