- 1、本文档共66页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(1)算术表达式 算术表达式是由算术运算符和位操作运算符组成的表达式,其表达式的值是一个数值。表达式的类型具体地由运算符和操作数决定。 * 例2.1-3 #include iostream.h void main( ) { int a,b, m=3,n=4; a=7*2+-3%5-4/3; //-3%5=-3,4/3=1 b=m++ - --n; couta\tb\tm\tnendl; } 执行结果如下: 10 0 4 3 * (2)关系表达式 由关系运算符组成的表达式为关系表达式。关系表达式的运算结果为逻辑型,常用在条件语句和循环语句中。 * 例2.1-4 #include iostream.h void main( ) { char x=m,y=n; int n; n=xy; cout nendl; n=x==y-1; coutnendl; n=(y!=Y)+(53)+(y-x==1); cout nendl; } 程序执行结果为: 1 1 2 通过上面的程序可以看出:关系运算的结果为‘真’时值等于1,结果为假时值等于0。 * (3)逻辑表达式 由逻辑运算符组成的表达式称为逻辑表达式。逻辑表达式的值为逻辑型,结果为1和0。 在由 和||运算符组成的逻辑表达式中,C++规定:只对能够确定整个表达式值所需要的最少数目的子表达式进行计算。也就是说,当计算出一个子表达式的之后便可确定整个逻辑表达式的值时,后面的子表达式就不需要再计算了,整个表达式的值就是该子表达式的值。这种表达式也称为短路表达式。 * 例如: int a=3, b=0; 问下面表达式运算后a和b的值是多少? ① ! a a+b a++ ② !a||a++||b++ 第一题是一个由组成的逻辑表达式,从左至右计算三个子表达式,只要有一个为0就不再计算其他子表达式。当计算!a的值为0时,便可确定整个表达式的值为0,因此后面的子表达式就不再计算了。所以a的值为3,b的值为0。 第二题:这是一个由||组成的逻辑表达式,从左至右计算三个子表达式,只要有一个结果为真则不再计算后面的子表达式。第一个子表达式为!a结果为0,再计算a++结果为4,所以就不再计算后面的子表达式。所以结果a为4,b为0。 * (4)条件表达式 由三目运算符?:组成的表达式为条件表达式。例如ab? x=4:x=9; 条件表达式的值取决于?前面的表达式的值,该表达式的值为非0时,整个表达式的值为‘:’前面的表达式的值,否则为‘:’后面的表达式的值。 * 例2.1-5 #include iostream.h void main( ) { int a=3,b=4,c; c=ab? ++a:++b; couta,b,cendl; c=a-b?a-3?b:b-a:a; couta,b,cendl; } 该程序执行的结果为: 3 5 5 3 5 2 * (5)赋值表达式 由赋值运算符组成的表达式为赋值表达式。赋值运算符除了“=”之外还有十个复合运算符,这是赋值和运算相结合的运算符。。 赋值运算符的结合性是由右至左,因此,C++程序中允许出现连赋值的情况。例如下面的赋值是合法的。 int a,b,c,d; a=b=c=d=5/2; 这里先计算5/2结果为2,再赋值给d,结果d=5/2表达式的值为2,再将这个值赋给c,以此类推,结果a、b、c、d的值均为2。 再计算复合赋值运算符表达式中,首先计算右值表达式的值后再与左值运算。例如: int a=3,b=4; a*=b+1; 这里先计算b+1等于5,再与a相乘赋值给a,结果等于15。 * (6)逗号表达式 逗号表达式是用逗号将若干个表达式连起来组成的表达式。该表达式的值是组成逗号表达式的若干个表达式中的最后一个表达式的值,类型也是最后一个表达式的类型。 逗号表达式的计算顺序是自左至右。 * 例2.1-6 #include iostream.h void main( ) { int a,b,c; a=1,b=2,c=a+b+3; couta,b,cendl; c=(a++,a+=b,a-b); couta,b,cendl; } 输出结果如下: 1,2,6 4,2,2 * 11、数据类型转换 C++中数据类型转换有两类,即隐式类型转换和显式类型转换。 (1)隐式类型转换 隐式类型转换是由编译器自动完成的类型转换。当编译器遇到不同类型的数据参与同一运算时,会自动将它们转换为
您可能关注的文档
- 2014年ARM体系结构与结构---第三章备份.ppt
- 2014年ARM微处理器介绍.ppt
- 2014年ARM微处理器体系结构.ppt
- 2014年ARM微处理器硬件结构.ppt
- 2014年ARM详解-学ARM和学单片机一样简单.ppt
- 2014年ARM学习笔记之中间件技术探析.ppt
- 2014年ARM与嵌入式技术 培训课件 第1章.ppt
- 2014年ARM与嵌入式技术 培训课件 第5章.ppt
- 2014年ARM与嵌入式技术 培训课件 第6章.ppt
- 2014年ARM与嵌入式技术 培训课件 第9章.ppt
- 猫咪关于影子的课件.pptx
- 山东德州市德城区2024-2025学年八年级上学期期末物理试题.pdf
- 西北师范大学《服装制作工艺二》2023-2024学年第一学期期末试卷.doc
- 第六讲生人格发展.ppt
- 山东聊城市东昌府区2024-2025学年八年级上学期期末考试物理试题.pdf
- 山东省德州市武城县2024-2025学年七年级下学期期末考试道德与法治试卷(含答案).pdf
- 山东省济南市某中学2024-2025学年人教版八年级下学期期末模拟数学试题(含解析).pdf
- 猫咪养护知识培训课件.pptx
- 拉萨市达孜县2024-2025学年小升初数学重难点模拟卷含解析.doc
- 人教版高一化学必修第二册自学暑假作业:化学反应的速率和限度(原卷版).pdf
文档评论(0)