- 1、本文档共62页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2.5 C语言的运算符和表达式 2.表达式和算术表达式 (1) 表达式的概念。 表达式:用运算符和括号将常量、变量和函数等连接起来符合C语言语法规则的式子。 单个常量、变量或函数构成的表达式称为简单表达式。 (2) 算术表达式的概念。 算术表达式:用算术运算符和括号将常量、变量和函数等连接起来的符合C语言语法规则的式子。 例如:3 + 6 * 9、(x + y) /2 – 1、5-a等,都是算术表达式。 2.5 C语言的运算符和表达式 (3) 表达式求值 ①运算顺序 例如:先乘除后加减。 ②结合性 同级运算的结合方向称为结合性。 例如:算术运算符的结合方向是“从左至右”,即先左后 右,称左结合。 2.5 C语言的运算符和表达式 3.强制类型转换 一般格式为: (要转换成的数据类型名) (被转换的表达式) 功能:将一个表达式强制转换成所需类型。 例如: (double) a 将变量a的值转换成 double 型 (int)(x + y) 将x+y的结果转换成 int 型 (float) 5 / 2 等价于((float)5)/2 ,将5转换成实型,再除以2 (=2.5) (float)( 5 / 2 ) 将5整除2的结果(2)转换成实型(2.0) 注意:强制转换类型得到的是一个所需类型的中间量,原表达式类型并不发生变化。例如,x 原定为 float 型,则(double) x只是将变量 x 的值转换成一个double型的中间量,其 x 的数据类型并未转换成double型,仍为 float 型。 2.5 C语言的运算符和表达式 4.自增(++)、自减(--)运算符 自增(++)运算是使单个变量的值增1; 自减(--)运算使单个变量的值减1。 自增、自减运算符都有两种用法: (1)前置运算: 运算符放在变量之前:++变量、--变量 先使变量的值增(或减)1然后再以变化后的值参与其他运算,即先增(减)、后运算。 (2)后置运算: 运算符放在变量之后:变量++、变量-- 变量先参与其他运算,然后再使变量的值增(或减)1,即先运算、后增(减)。 2.5 C语言的运算符和表达式 例如:如果 i 的原值等于3,则执行下面的赋值语句: ① j = ++ i; (i 的值先增1变成4,再赋给 j,j 的值为4) ② j = i ++ ; (先将 i 的值 3 赋给 j ,j 的值为 3 ,然后 i 增1变成4) 【例2.7】自增、自减运算符的用法与运算规则示例 #include stdio.h void main() { int x = 6, y; printf(x = %d\n, x); /*先输出 x 的初值*/ y = ++x; /*前置运算:x 先增1(=7),然后再赋值给y(=7)*/ printf(y = ++x : x = %d,y = %d \n, x , y); y = x -- ; /*后置运算:先将 x 的值(=7)赋值给y(=7),然后 x 再减1(=6)*/ printf(y = x--:x = %d,y = %d\n, x , y); } 程序运行结果: x = 6 y = ++x:x = 7, y = 7 y = x--:x = 6 , y = 7 2.5 C语言的运算符和表达式 说明: (1)自增、自减运算常用于循环语句中使循环控制变量加(或减)1。 (2)自增、自减运算符不能用于常量和表达式。 例如,5++、--(a+b)等都是非法的。 (3)连续使用同一变量进行自增或自减时很易出错。 例如:( x++) + (x++) + (x++)=?(假设 x 的初值 =3) 解: 表达式的值等于 9,变量 x 的值变为6。为什么?请思考。 (4)书写时最好采用能理解的写法,避免误解。 如:不要写成 i + + + j形式,可产生 ( i + + ) + j或 i +( + + j) 二义性,最好写成 ( i + + ) + j或 i +( + + j)的形式。 但C语言规定:从左到右取尽可能多的符号组成运算符。i + + + j 应理解为( i + + ) + j。 (5)在printf()函数中从右向左计算。 例如:设i的初值为5: Printf(“%d,%d”,i,i++); 输出结果为: 6,5 2.5 C语言的运算符和表达式 2.5.2 关系运算符和关系表达式 关系运算就是将两个数据进行“比较运算”,判定两个数据是否符合给定的关系,如果条件成立结果为“真”;否则条件
您可能关注的文档
最近下载
- T∕CACM 1021.135-2018 中药材商品规格等级 桑椹.docx VIP
- 合肥南站枢纽方案.pdf
- 内蒙古自治区包头市昆都仑区2023-2024学年七年级下学期期中语文试题【含答案解析】.docx VIP
- 公司年度颁奖晚会主持词与公司年终工作总结2合集.doc VIP
- GB/T 27726-2011_热塑性塑料阀门压力试验方法及要求.pdf
- 医学生全国水平测试题库.pdf
- 2025年东莞实业投资控股集团有限公司招聘笔试模拟试题及答案解析.docx
- 《第十章-中国文化的基本精神》-课件.ppt VIP
- 基于模糊控制的智能浇灌系统设计.pptx VIP
- 乳腺癌诊治指南与规范(2025年版精要本).PDF VIP
文档评论(0)