北大青岛C语言学习.ppt

上传人:小飞机 文档编号:5935318 上传时间:2023-09-06 格式:PPT 页数:25 大小:236.13KB
返回 下载 相关 举报
北大青岛C语言学习.ppt_第1页
第1页 / 共25页
北大青岛C语言学习.ppt_第2页
第2页 / 共25页
北大青岛C语言学习.ppt_第3页
第3页 / 共25页
北大青岛C语言学习.ppt_第4页
第4页 / 共25页
北大青岛C语言学习.ppt_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《北大青岛C语言学习.ppt》由会员分享,可在线阅读,更多相关《北大青岛C语言学习.ppt(25页珍藏版)》请在三一办公上搜索。

1、运算符和表达式,第三章,2,回顾,变量的定义常量的定义变量和常量的区别标识符的定义关键字的定义运算符的类型,3,目标,解释赋值运算符理解算术表达式解释关系运算符和逻辑运算符理解位运算符和表达式解释类型转换理解运算符的优先级,4,表达式,运算符和操作数的有效组合在程序执行的过程中,变量 的实际值和表达式中出现的 常量一起使用,操作数,运算符,2*y+5,5,赋值运算符,可以用在任何有效的 C 表达式中通用的形式:变量名=表达式将同一个值赋给多个变量的操作叫做多重赋值,但是,不能像下面的语句中那样赋值:,a=b=c=10,int a=int b=int c=10,6,运算符,分4 类,算术,关系,

2、逻辑,位,一元、二元运算符都是算术运算符,用于对包含关系运算符的表达式进行合并或取非,测试两个变量或一个变量和一个常量之间的关系,将数字按位进行计算,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,将数字转换成等价的二进制形式后

3、再处理数据(按位表示法),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 返回的整型值重新转换为浮点数,

4、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

5、,当条件中有多个逻辑运算符时,计算将从右向左进行,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,当公式中含有多种类型的运算符时,必须确立不同类型运算符之间的优先级顺序。

6、一般来说,算术、比较、逻辑运算符的优先级符合下表,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,括号()的优先级最高。使用括号()可修改运算符的优先级

7、。用括号括起来的优先级较低的运算符具有最高的优先级,最先执行。在括号嵌套()的情况下,最里层的最先执行。包含多个括号的表达式从左向右进行计算。,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),里层括号的优先级大于其

8、他所有的运算符,计算外层的括号,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+81-4 10 AND True,86-4 10 AND True,82 10 AND True,True AND True,True,25,总结,本课主要讲解了以下主题:赋值运算符算术算运符比较运算符逻辑运算符位运算符转换运算符的优先级,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号