第三章表达式和语句.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章表达式和语句

第三章 表达式和语句 3.1 表达式 ? 1.表达式:由操作符、操作数和标点符号组成的序列。 如a+b-c、a+b*c、2+3+(5*sizeof(int))/345 ? 第三章 表达式和语句 2.左值和右值  左值(lvalue):能出现在赋值号左边的表达式。  右值(rvalue):只能出现在赋值号右边的表达式。    例:int a=3;//a为左值。    const int b=4;//b不为左值,=不是赋值号。    b=5;//error,因为b不为左值。    (a=4)=28;// a为左值,a=4亦为左值。 第三章 表达式和语句 3.优先级和结合性 优先级:不同操作符出现在同一表达式中谁先运算的级别。 例:d=a+b*c;//*优先级比+高。 第三章 表达式和语句 ? 结合性:同等优先级的操作符出现在同一表达式中谁先运算的规定。 例:d=a+b-c;//左-右 d=a=3;//右-左 ? 4.语句和块 第三章 表达式和语句 语句:一个表达式后接一个分号“;”,称之。 例:cout“not large than 9\n”; ;//空语句 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   {  coutnot large than 9\n;   } 第三章 表达式和语句 3.2 算术运算和赋值 ? 1.算术运算符:+、-、*、/和%。 +、-、*和/的运算对象可为整形和浮点型。 %的运算对象只能为整形。 例:5/2结果为2   5.0/2.0结果为2.5   5%2结果为1 ? 第三章 表达式和语句 2.赋值缩写(复合赋值) ? (1)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; 第三章 表达式和语句 ? (2)赋值表达式的值为赋值号左边表达式的值。 例:cout(x=5)endl;   cout((x=max(5,7))+=3)endl; 结果:5    10 第三章 表达式和语句 ? 3.溢出:若一变量被赋予一个超出其数据类型表示范围的数时,发生溢出。此时,该变量的值为用该整形范围作模运算后的值。 第三章 表达式和语句 ? 例:(16位机器中) int weight=42896; 而int型数范围为[-32768,32767] 42896=65536-22640 故weight的实际值为-22640 第三章 表达式和语句 例:(16位机器中) int weight=142896; 而int型数范围为[-32768,32767] 142896=2*65536+11824 故weight的实际值为11824 第三章 表达式和语句 ? 3.3 自动类型转换 ? 1.转换方向 见图 第三章 表达式和语句  例:float f=3.5;   int n=6;   long k=21;   double ss=f*n+k/2;   ss结果为31 第三章 表达式和语句 ? 2.隐式类型转换:数据运算过程中系统自动进行的类型转换。 例:long m=234*456/6  m结果为-4061  因234*456=106704=2*65536-24368 -24368/6=-4061  coutlong(234*456)/6endl;  结果为:-4061 第三章 表达式和语句 ? 3.显示类型转换:又称强制类型转换。 例:cout234*456L/6endl;   //结果为17784   cout(long)234*456/6endl;    //结果为17784 第三章 表达式和语句 例: coutlong(234)*456/6endl; //结果为17784 cout(unsigned long)234*456/6endl; //结果为17784 第三章 表达式和语句 ? 3.4 增量和减量 ? 1.++称为增量操作符,表示加1   --称为减量操作符,表示减1 称++a(前增量) --a(前减量)  a++(后增量) a--(后减量) 第三章 表达式和语句 例如:   a++;//a=a+1;  ++a;//a=a+

文档评论(0)

75986597 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档