- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
清华谭浩强C语言课件教学PPT第3章_数据类型运算符与表达式
3.8 算术运算符和算术表达式 3.8.2 算术运算符和算术表达式 (1)基本的算术运算符: + (加法运算符,或正值运算符,如:3+5、+3) - (减法运算符,或负值运算符,如:5-2、-3) * (乘法运算符,如:3*5) / (除法运算符,如:5/3) % (模运算符,或称求余运算符,%两侧均应为整型数据,如:7%4的值为3)。 3.8 算术运算符和算术表达式 (2) 算术表达式和运算符的优先级与结合性基本的算术运算符: 用算术运算符和括号将运算对象(也称操作数)连接起来的、符合C语法规则的式子,称为C算术表达式。运算对象包括常量、变量、函数等。 例如: a*b/c-1.5+′a′ 是一个合法的表达式。 C语言规定了运算符的优先级和结合性。 在表达式求值时,先按运算符的优先级别高低次序执行,例如先乘除后加减。 C规定了各种运算符的结合方向(结合性) 算术运算符的结合方向为“自左至右”,即先左后右 。 3.8 算术运算符和算术表达式 强制转换 强制转换是通过类型转换运算符来实现。 一般形式:(类型说明符)表达式 功能:把表达式的结果强制转换为类型说明符所表示的类型。 (int)a 将a的结果强制转换为整型量。 (int)(x+y) 将x+y的结果强制转换为整型量。 (float)a+b 将a的内容强制转换为浮点数,再与b相加 无论隐式转换,强制转换都是临时转换,不改变数据本身的类型和值。 3.8 算术运算符和算术表达式 (4) 自增、自减运算符 作用是使变量的值增1或减1 如: ++i,--i(在使用i之前,先使i的值加 (减)1) i++,i--(在使用i之后,使i的值加( 减)1) 3.8 算术运算符和算术表达式 i++与++i的区别: ++i是先执行i=i+1后,再使用i的值; i++是先使用i的值后,再执行i=i+1。 例如: ①j=++i; i的值先变成4, 再赋给j,j的值均为4 ②j=i++; 先将 i的值3赋给j,j的值为3,然后i变为4 3.8 算术运算符和算术表达式 注意: (1)自增运算符(++),自减运算符(--),只能用于变量,而不能用于常量或表达式, (2)++和--的结合方向是“自右至左”。 自增(减)运算符常用于循环语句中使循环变量 自动加1。也用于指针变量,使指针指向下一个地址 3.8 算术运算符和算术表达式 (5) 有关表达式使用中的问题说明 ①ANSI C并没有具体规定表达式中的子表达式的求值顺序,允许各编译系统自己安排。 例如:对表达式 a = f1( )+f2( ) 并不是所有的编译系统都先调用f1( ), 然后 调用f2( )。在有的情况下结果可能不同。有时会出 现一些令人容易搞混的问题,因此务必要小心谨慎。 3.8 算术运算符和算术表达式 ②C语言中有的运算符为一个字符,有的运算符由 两个字符组成 ,为避免误解,最好采取大家都能理 解的写法。 例如:不要写成i+++j的形式,而应写成 (i++)+j的形式 3.8 算术运算符和算术表达式 ③在调用函数时,实参数的求值顺序,C标准并无统 一规定。 例如:i的初值为3,如果有下面的函数调用: printf(″%d,%d″,i,i++) 在有的系统中,从左至右求值,输出“3,3”。在多数系统中对函数参数的求值顺序是自右而左,printf函数输出的是“4,3”。以上这种写法不宜提倡, 最好改写成 j = i++; printf(%d, %d, j,i) 不要写出别人看不懂的也 不知道系统会怎样执行程 序 3.9 赋值运算符和 赋值表达式 符号 = 为赋值运算符。 2. 整型数据赋给实型变量,数值不变,但按实数形式存放. 1. 将实型数据(无论单,双精度)赋给整型变量时,舍弃小数. 赋值时,两边类型若不一致,则按以下规则转换: 4. 将int?long int, 进行符号扩展。 即: 符号扩展, 低16位?long 的低16位。 5. long int ? int 则高16位截断。 3. 字符型数据赋给整型变量时: (2)字符?带符号整型变量,则字符高位扩展。 (1)字符?无符号整型变量,则存入低8位,高8位补零。 6. 将unsigned int 型?long int高位补0。 原值传送,但数据大小不能超值。 如: unsigned int a=
您可能关注的文档
- 沪科版二年级下册流程图_ 课件.ppt
- 沪科版二年级下册流程图_ 课件_2.ppt
- 沪科版八年级下册数学多边形的内角和(一)PPT课件.ppt
- 沪科版二年级下册流程图_ 课件_1.ppt
- 沪科版2017年秋物理九年级第14章《了解电路》ppt课件(51页).ppt
- 沪科版八年级下册数学第17章_一元二次方程第节《一元二次方程》参考课件2(共23张PPT) .ppt
- 沪科版八年级《科学探究声音的产生与传播》ppt课件.ppt
- 沪科版物理九年级112《物态变化中的吸热过程》PPT课件.ppt
- 汽车发动机拆装与检修_教学课件 周忠友项目一 汽车发动机与外部附件的拆装与基本维修 项目一 任务一 发动机电控系统基本检修.ppt
- 沪科版物理八年级31《声音的产生与传播》PPT课件.ppt
- 清华软件工程第10章_法度模范设计措辞和编码整理版课件.ppt
- 清华课标一年级上Lesson_1 Good 课件.ppt
- 清华附中收集应用罕见题目说明整理版课件.ppt
- 清华销售治理课件3剖析购置行动整理版.ppt
- 湖北省恩施州建始县民族实验初级中学数学八年级下册(人教版)课件1821矩形(一).ppt
- 湖南版五年级下册信息技术《美化版面》PPT课件.ppt
- 湖北省华中师大一附中高二国际板物理大小班长短课重点班附加课件传感器及其应用教科版.ppt
- 湖北初中一年级第1单元第1课《真正的英雄》课件.ppt
- 清华课件PCB设计制作20087杨兴华.ppt
- 湖北省北大附中武汉为明实验学校七年级政治下册_11 自尊是人人都需要的课件 新人教版.ppt
文档评论(0)