北大青鸟C语言实现.ppt_第1页
北大青鸟C语言实现.ppt_第2页
北大青鸟C语言实现.ppt_第3页
北大青鸟C语言实现.ppt_第4页
北大青鸟C语言实现.ppt_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

运算符和表达式,第三章,2,回顾,变量的定义 常量的定义 变量和常量的区别 标识符的定义 关键字的定义 运算符的类型,3,目标,解释赋值运算符 理解算术表达式 解释关系运算符和逻辑运算符 理解位运算符和表达式 解释类型转换 理解运算符的优先级,4,表达式,运算符和操作数的有效组合 在程序执行的过程中,变量 的实际值和表达式中出现的 常量一起使用,操作数,运算符,2 * y + 5,5,赋值运算符,可以用在任何有效的 C 表达式中 通用的形式:变量名=表达式 将同一个值赋给多个变量的操作叫做多重赋值,但是,不能像下面的语句中那样赋值:,a=b=c=10,int a=int b=int c=10,6,运算符,分4 类,算术,关系,逻辑,位,一元、二元运算符都是算术运算符,用于对包含关系运算符的表达式 进行合并或取非,测试两个变量或一个变量和一个 常量之间的关系,将数字按位进行计算,7,算术表达式,在C中,可以用算术运算符、数字和字符操作数来表示数学表达式 示例,+i % 7 5 + (c = 3 + 8) a * (b + c/d)22,8,关系运算符和逻辑运算符2-1,用于测试两个变量或一个变量和一个常量之间的关系,9,关系运算符和逻辑运算符2-2,逻辑运算符用于对包含关系运算符的表达式进行合并或取非,使用逻辑运算符的表达式,返回 0 表示假,返回 1 表示真,示例:if (a10) & (a20),10,位运算符2-1,将数字转换成等价的二进制形式后再处理数据(按位表示法),11,位运算符2-2,示例,位运算符将数字视为二进制值,并按位进行相 应运算,运算完成后再重新转换为数字,12,类型转换,运算符的操作数属于不同的数据类型,运算时通常会将这些操作数转换为同一类型,char ch; int i; float f; double d; result=(ch/i)+(f*d)-(f+i); int double float double double,13,转换,通过使用转换可以将一个表达式强制转换成某一种类型。 转换的通用语法是: (type) cast type 任意有效的 C 数据类型 示例:,经过赋值运算后, (int)f 返回的整型值重新转换为浮点数,f 本身的值不变。,float x,f; f = 3.14159; x = (int) f;,14,运算符优先级2-1,优先级建立了计算算术表达式时,一组运算符相对于另一组的层次关系 优先级指 C 计算运算符的顺序 可通过将表达式括在括号中 来改变运算符的优先级,15,运算符优先级2-2,当一个表达式中的运算符具有相同优先级时, 结合律还指出C语言计算这些运算符的顺序,示例:-8*4%2-3,计算顺序如下:,完成的操作 结果,-8(一元减法) -8,-8*4 -32,-32%4 0,0-3 -3,16,比较运算符之间的优先级,不存在相对于其他算术运算符有较高的优先级 始终按从左向右顺序进行计算,17,逻辑运算符优先级2-1,当条件中有多个逻辑运算符时,计算将从右向左进行,18,逻辑运算符优先级2-2,考虑下面的表达式:,False OR True AND NOT False AND True,计算如下:,False OR True AND NOT False True AND True,False OR True AND True AND True,False OR True AND True,False OR True,True,“非”的优先级最高,“与”是最高的运算符,具有相同优先级的运算符从右向左计算,19,运算符之间的优先级2-1,当公式中含有多种类型的运算符时,必须确立不同类型运算符之间的优先级顺序。一般来说,算术、比较、逻辑运算符的优先级符合下表,20,运算符之间的优先级2-2,考虑下面的示例:,2*3+4/23 AND 35 OR 109,计算如下:,2*3+4/23 AND 35 OR 109,2*3+4/23 AND 35 OR 109,6+23 AND 35 OR 109,83 AND 35 OR 109,True AND True OR False,True AND True OR False,True OR False,True,首先计算 算术运算符,比较运算符,计算总左到右进行,最后计算逻辑运算符,21,修改优先级4-1,括号 ( ) 的优先级最高。 使用括号 ( ) 可修改运算符的优先级。 用括号括起来的优先级较低的运算符具有最高的优先级,最先执行。 在括号嵌套 ( ( ( ) ) ) 的情况下,最里层的最先执行。 包含多个括号的表达式从左向右进行计算。,22,修改优先级4-2,考虑下面的示例:,5+9*32-4 10 AND (2+24-8/4 6 OR (211),计算如下:,5+9*32-4 10 AND (2+24-8/4 6 OR (True AND False),5+9*32-4 10 AND (2+24-8/4 6 OR False),5+9*32-4 10 AND (2+16-8/4 6 OR False),5+9*32-4 10 AND (2+16-2 6 OR False),里层括号的优先级大于其他所有的运算符,计算外层 的括号,23,修改优先级4-3,5+9*32-4 10 AND (18-2 6 OR False),5+9*32-4 10 AND (18-2 6 OR False),5+9*32-4 10 AND (16 6 OR False),5+9*32-4 10 AND (True OR False),5+9*32-4 10 AND True,5+9*9-4 10 AND True,左侧表达式按约定进行,24,修改优先级4-4,5+

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论