- 1、本文档共46页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c第3章表达式和语句
; 第二章
表达式和语句;3.1 表达式
1. 表达式的概述
表达式时操作符、操作数和标点符号组成的序列,其目的时用来说明一个计算过程。
表达式可以嵌套,例如:2 + 3 + (5 * sizeof(int)) / 345。
表达式根据某些约定、求值次序、结合和优先级规则来进行计算。
所谓约定,即类型转换的约定。例如:
float a;
a = 5 / 2 ;
结果a得到值为2。5 /2 是整数除法取整,因为5和2都是整数,不会由于a是float型而轻易改变运算的性质。; 所谓求值次序,是指表达式中各个操作数的求值次序视编译器不同而不同。
所谓结合性,是指表达式中出现同等优先级的操作符时,该先做哪个操作的规定。例如:
d = a + b – c ; //C++规定,加减法先左后右。先做a + b,其结果再减去c
d = a = 3 ; //C++规定,等???先右后左。先做a = 3,其结果再赋给d
所谓优先级,是指不同优先级的操作符,总是先做优先级高的操作。例如:
d = a + b * c ; // 乘法优先级比加法高。先做b * c,其结果再与a相加
2.左值和右值
左值是能出现在赋值表达式左边的表达式。左值表达式具有存放数据的空间,并且存放是允许的。例如:; int a = 3 ; //a是变量,所以a是左值
const int b = 4 ; //b是常量,所以b不是左值
显然常量不是左值,因为C++规定常量的值一旦确定是不能更改的。
右值能出现在赋值表达式的右边。左值表达式也可以作为右值表达式。例如:
int a , b = 6 ;
a = b ; //b是变量,所以是左值,此处作为右值
a = 8 ; //8是常量,只能作为右值,不能作为左值
3.优先级和结合性
下表包含了C++所有的操作符,共有16级优先级。
每一级中的操作符是同优先级的。;; 块(或称复合语句)是指括在一对花括号{}里的语句序列。从语法上来说,块可以被认为是单个语句。例如:
if( x 9 )
{
cout“The number is perfect.\n”;
cout“It is larger than 9\n”;
}
else
{
cout“not larger than 9\n”;
}
上面两条执行语句必须放在花括号中,因为if与else之间只能容纳一条语句,或一个语句块。而else后面的花括号则可以省略。
;3.2 算术运算和赋值
操作符种类
C++提供了算术运算符 + , - , * , / , % 。
+ , - , *是通常意义的加、减、乘法。
/对于整型数则为除法取整操作。例如:5/2得到结果2。
/对于浮点数则为通常意义的除法。例如:5.0/2.0得到结
果为2.5。
由此可见,/操作符可以对不同的数据类型进行不同的
操作。事实上, + , - , * , / , % 对不同数据类型的操作都不
同。
%只能对整型数进行操作。其操作意义为取余。例如;;x = x * y ; 缩写为: x * = y ;
x = x + y ; 缩写为: x + = y ;
x = x - y ; 缩写为: x - = y ;
x = x / y ; 缩写为: x / = y ;
x = x % y ; 缩写为: x % = y ;
3.溢出
进行算术运算时,很可能溢出结果。发生溢出是由于一个变量被赋予一个超出其数据类型表示范围的数值。数值溢出不会引起编译错误的,只要分母不为0就不会引起除0进
您可能关注的文档
最近下载
- 物理丨山东省实验中学2025届高三下学期3月第五次诊断考试物理试卷及答案.pdf VIP
- MOS集成电路工艺入门资料PPT课件.pptx
- 跨学科实践活动1 探究土壤酸碱性对植物生长的影响 课件(共22张PPT)2025年中考化学一轮考点研究(人教版).pptx VIP
- 线段图法解决和差问题--奥数专题(课件)-2021-2022学年数学三年级上册 全国通用.ppt
- 2025年安阳职业技术学院单招职业适应性测试题库学生专用.docx
- 2025届山东省实验中学高三第五次诊物理试题.pdf VIP
- 凉山州小学数学教师业务素质考试试题(真题+训练).pdf
- 【经济学课件】经济学原理曼昆.ppt VIP
- 幼儿园讲座培训课件:幼儿园保育教育质量评估指南.pptx
- 2025年安阳职业技术学院单招职业倾向性考试题库新版.docx
文档评论(0)