- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4.赋值表达式与复合赋值表达式 赋值表达式的格式为: 变量 = 表达式 例如:x=5+6;a=b=c=d+1; 在C++中,所有的双目算术运算符和位运算符均可与赋值运算符组合成一个单一运算符,称为复合赋值运算符。包括以下10个: + = – = * = / = % = = = = | = ^ = 复合赋值运算符的要求与格式与赋值运算符完全相同,表示为: 变量 复合赋值运算符 表达式 它等同于 变量 = 变量 运算符 表达式 例如:x+=5 等同于:x=x+5 ok 2.5.3算术类型转换和赋值类型转换 1 不同类型数据的混合运算 2 赋 值 类 型 转 换 ok 运算过程中,当某个二元运算符两边的操作数类型不同但属于类型相容时,系统先将精度低的操作数变换到与另一操作数精度相同,而后再进行运算。 所谓类型相容,指的就是类型不同但系统可以自动进行转换。 当赋值号的左值和右值类型不一致但属于类型相容时,由系统自动进行类型转换。 1.不同类型数据的混合运算 char short int long unsigned char unsigned short unsigned int unsigned long float double long double 数据类型转换方向 ok 具体规则如下: (1)字符可以作为整数参与数值运算,整数值为其ASCII码。 (2)操作数为字符或短整型时,系统自动变换成整型。 (3)操作数为实型时,系统自动变换成双精度型。 (4)其余情况,当两操作数类型不同时,将精度低(或表示范围小)的操作数的数据类型变换到与另一操作数类型相同再进行运算 例如有变量: char c1, c2; int i1, i2; float x1, x2; 则表达式 x2=c1*i1+c1*x1+c1*c2 的求值过程为:将c1转换成整型,完成c1*i1,结果表示为t1;将c1和x1均转换成双精度型,完成c1*x1,结果表示为t2;将c1和c2均转换成整型,完成c1*c2,结果表示为t3;然后t1转换成双精度型,完成t1+t2,结果表示为t4;将t3转换成双精度型,完成t4+t3,最后结果转为单精度型赋给x2。 2.赋值类型转换 2.5.3结束 系统自动进行类型转换规则: 1、实型数赋给整形变量:取整;注意溢出; 2、整型数赋给实型变量:先转换为实型数; 3、字符型数赋给整形变量:ASCII码为依据;分为两种情况:符号位是0或1时不同; 若符号位为1,则低位字节不变,高位字节全部置1再赋值。 4、绝对值较大的数赋给表达范围较小的数据类型时,注意溢出; 2.4.4 强制类型转换运算符 ok 其格式为: (type) 表达式 //形式一 或 type (表达式) //形式二 作用:将表达式强制转换为type类型, 但表达式的值及其类型不变。 任意数据类型 赋值运算中,当左值与右值类型不一致时, 系统将按照左值的类型,自动进行强制转换。 例如: 设有以下定义 double x=2.3,y; int i=2,j; (1) j 2.3 x 2.3 … … 2 2 (1) j=x; (2) y=i; 由系统按 左值j 、y 类型自动 完成强制 转换功能 (2) y 2 i 2 … … 2.0 2.0 2.4.4 强制类型转换运算符 2.4.5 求值次序与副作用 ok 在符合优先级和结合性的前提下,C语言的标准对表达式中各操作数的求值次序没有做统一规定。 编译器为提高代码质量,在不影响优先级和结合性的前提下也要对操作数的访问次序作调整。在安排顺序时,如果某个操作数经历了求值运算,那么这个求值可能影响到其他操作数的值,这时就会产生副作用。 例如,设有int a=2, b=5, c; 对表达式c=a*b+(++a)+(b=10) 三个同级运算中,是先算a*b,还是++a,还是b=10,其次再算哪个?显然求值次序不同将导致结果不同。 2.4.6 语句 1 表达式语句:表达式; 2 空语句: ; 3 复合语句: { //若干语句 } 4 流程控制语句:实现三种基本结构的语句; 2.5结束 2.5 基本C++语法格式与编程规范 C++是严格区分大小写的 C++是一种自由格式的语言 用C++语言编程时,程序的书写非常自由,甚至可以把整个函数体全部书写在一行上。但这样做,对人来说,如果程序稍长一点,就难理解了。 2.5 基本C++语法格式与编程规范 书写基本原则如下:
您可能关注的文档
- 2009名词解释(生理生化分析)复习资料.pdf
- 2011年云南大学计算机网络原理期中试卷.doc
- 2014年度-java程序设计实验-实验2.doc
- 2014年度-java程序设计实验-实验4.doc
- 2014年度-java程序设计实验-实验5.doc
- 2014年度-java程序设计实验-实验6.doc
- 2014年度-java程序设计-期末大作业报告模板.doc
- Const,Const函数,Const变量,函数后面的Const.pdf
- CString类的常用成员函数.docx
- 2014年度-java程序设计实验-实验3.doc
- 测绘程序设计基础(VC++net)第六章 过程.ppt
- 测绘程序设计基础(VC++net)第九章 常用测量程序设计.ppt
- 测绘程序设计基础(VC++net)第七章 VB.net面向对象编程.ppt
- 测绘程序设计基础(VC++net)第七章 文件操作.ppt
- 测绘程序设计基础(VC++net)第六章 VC++.net面向对象编程V2.ppt
- 测绘程序设计基础(VC++net)第三章 C++控制语句.ppt
- 测绘程序设计基础(VC++net)第十一章 测量平差原理与编程实现.ppt
- 测绘程序设计基础(VC++net)第十章 线性方程组的求解与矩阵运算.ppt
- 测绘程序设计基础(VC++net)第四章 数组与指针.ppt
- 测绘程序设计基础(VC++net)第五章 函数.ppt
最近下载
- 岛津原子吸收AA6800说明书.pdf
- 2025湘美版美术八年级上册第一单元第1课《假期视觉笔记》课件.ppt
- 体例格式4:工学一体化课程《小型网络安装与调试》工学一体化课程考核方案.docx VIP
- 党课培训课件.ppt VIP
- 2025年江西省辅警招聘考试试题带解析及完整答案【历年真题】.docx VIP
- 拉法基瑞安水泥健康与安全管理.pdf VIP
- 学堂在线人像摄影(2025秋)考试答案.docx VIP
- 日立扶梯HE15控制装置维保手册.doc
- 地表注浆施工方案施工组织.docx VIP
- 2025-2026学年高中信息技术粤教版2019选修2 网络基础-粤教版2019教学设计合集.docx
文档评论(0)