第三章 表达式与语句.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中国科大 第三章 表达式和语句 3.1 表达式 1.表达式概述 由操作符、操作数和标点符号组成的序列,用来说明计算过程。如: 2+3+(5*sizeof(int))/345 根据某些约定、求值次序、结合和优先级规则来计算。 约定:类型转换,如: float a; a=5/2; 求值次序:表达式中各个操作数的求值次序视编译器不同而不同。 结合性:表达式中出现同等优先级的操作符时,该先做哪个操作的规定。 如:d=a+b+c; d=a=3; 优先级:不同优先级的操作符,总是先做优先级高的操作。 d=a+b*c; *x++;//先做x++ 2.左值与右值 左值(left value,简写为lvalue)是出现在赋值表达式左边的表达式。左值表达式具有存放数据的空间,并且存放是允许的。如: int a=3; const int b=4;//error 右值只能出现在赋值表达式的右边。左值可以作为右值表达式。 int a,b=6; a=b; a=8; 表达式可产生左值、右值或不产生值。如: int a; (a=4)=28; Void f(){return ;} 3.优先级和结合性 看表3-1 4.语句与块 C++所有的操作运算通过表达式来实现。 表达式语句由表达式组成的语句,表达式和;组成。 语句是用来规定程序执行的控制流。在没有跳转和分支的情况下,按照其在程序中出现的次序顺序执行。 语句可以是空语句。它不产生任何操作运算,只是作为形式上的语句,被填充在控制结构中。如: if(x9) ; else cout“not large than 9\n” 块是指括在一对花括号{}里的语句序列。块可被认为单个语句,如: If(x9) { cout“The number is perfect .\n”; cout“It is large than 9\n”; } else { cout“not large than 9\n”; } 3.2 算术运算和赋值 1.操作符种类 +(加法运算符,或正值运算符。如3+5,+3) -(减法运算符,或负值运算符。如5-2,-3) * (乘法运算符。如3*5) /(除法运算符。如5/3)注:整型,浮点区别 %(模运算符,或称求余运算符,%两侧均应为整型数据,如7%4的值为3)。 需要说明,两个整数相除的结果为整数,如5/3的结果值为1,舍去小数部分。但是,如果除数或被除数中有一个为负值,则舍入的方向是不固定的。例如,-5/3在有的C++系统上得到结果-1,有的C++系统则给出结果-2。多数编译系统采取“向零取整”的方法,即5/3的值等于1,-5/3的值等于-1,取整后向零靠拢。 如果参加+, -, *, / 运算的两个数中有一个数为float型数据,则运算的结果是double型,因为C++在运算时对所有float型数据都按double型数据处理。 2.赋值缩写 赋值符号“=”就是赋值运算符,它的作用是将一个数据赋给一个变量。如“a=3”的作用是执行一次赋值操作(或称赋值运算)。把常量3赋给变量a。也可以将一个表达式的值赋给一个变量。 当一变量既出现在表达式的左边又出现在右边时,可以缩写,如: 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; 赋值以及缩写都要求左边的表达式为左值,即x为左值。 赋值构成一个表达式,因而它具有值。如: cout(x=5)endl; (x=max(5,7))+=3; 3.溢出 发生溢出是由于一个变量被赋予一个超出其数据类型表示范围的数值。在16位机上: int weight=42896; 溢出值是多少? 3.3算术类型转换 C++遇到两种不同类型的数据进行运算时,例如:60+‘A’,会将两个数作适当的类型转换,然后再进行运算,转换方法如下图所示。 如果一个char型数据和一个int型数据相加,则将char型数据转换成int型数据,然后进行运算,例如:60+‘A’=60+65=125。 如果一个long int型数据和一个float型数据相加,则先将两个数据都转换成double型数据,然后进行运算。 例如:long int a=20;float b=15.32; double x; x=a+b 如果一个int型数据和一个unsigned long型数据相乘,则先将两个数据都转换成double型数据,然后进行运算。 例如:unsigned a=20; int b=15; double

文档评论(0)

bm5044 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档