第三章表达式和语句.ppt
上传人:天马****23 上传时间:2024-09-11 格式:PPT 页数:22 大小:144KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

第三章表达式和语句.ppt

第三章表达式和语句.ppt

预览

免费试读已结束,剩余 12 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

一、表达式定义由操作符、操作数以及标点符号组成的序列;操作数:常量、变量、函数以及其他一些命名的标识符。常见表达式1.算术表达式;a+5.2+b2.逻辑表达式:a&&b3.赋值表达式:a=74.条件表达式:a>75.逗号表达式:a=5,b=a6.短路表达式:n>4&&m++<10(n=3,m=6)左值与右值左值:lvalue(locationvalue);右值:rvalue(readvalue);优先级和结合性①优先级从高到低:正(+)负(-)值运算符→“*”、“/”、“%”→“+”、“-”。见表3-1a-b*c/先进行“*”运算,再进行“-”运算而有括号时,先括号内后括号外。②算术运算符的结合性在对表达式求值时,如果在一个运算对象两侧的运算符优先级相同(如a-b+c),则按规定的运算符结合性处理。两种结合性:左结合性:运算对象先与左面的运算符结合,也就是从左到右运算;右结合性:运算对象先与右面的运算符结合,也就是从右到左运算;语句与块语句:由表达式后接“;”组成;a=5;x=max(a,b);块(复合语句):括在{}中的语句序列;主要用于控制语句中.if(a>0){表达式1;…表达式n;}二、算术运算与赋值操作符种类+、-、*、/、%求余运算符(求模运算符)(1)+、-、*、/、%是双目(或二元)运算符,要有两个操作数;(2)+(正值)、-(负值)运算符是单目(或一元)运算符,只需一个操作数。(3)进行除法与取余运算时,运算对象和运算结果数据类型之间的关系如下:①除法运算(/)时(a)两个整数相除求商(整数)。例如:3/4//结果为0;(b)实数与整数(或实数)相除运算结果是双精度。例如:3.0/4//结果为双精度数0.75②余数运算(%),两整数相除求余数(整数)。例如:-5%35%-3赋值缩写C++中,所有的双目算术运算符和位运算符均可与赋值运算符组合成一个单一的运算符,这种运算符称为复合赋值运算符,具有右结合性。语法:aop=b;op=:+=、-=、*=、/=、%=<<=、>>=、&=、^=、|=等价于:a=aopb;如x+=y;//x=x+y;优点:可以简化表达式的书写形式,提高表达式的运算速度。溢出原因:变量被赋予超出其数据类型表示范围的数值;结果:不会引起编译错误,但运行结果会出错。算术类型转换两种方式:自动的类型转换和强制的类型转换;a.自动类型转换1.由系统自动进行的,无需人工干预;2.在运算时对转换对象的运算值进行转换,而该对象在存贮单元中的内容和类型并没有改变。b.强制类型转换格式:(<类型>)<表达式>如(double)a;或<类型>(<表达式>)double(a);注意:强制类型转换在运算时对转换对象的运算值进行转换,而该对象在存贮单元中的内容和类型并没有改变。增量和减量++、--1)自增++(单目):使变量值加1;2)自减--(单目):使变量值减1。两种形式:前置运算:先自加(减)后引用,例如:++i或--i//表示在使用i之前先使i加1或减1后置运算:先引用后自加(减),例如:i++或i--/表示使用i之后再使i加1或减1举例:inta=3;++(++a);//Ok++(a++);//Errora++++;//Error注意:自增运算符(++)和自减运算符(--)的运算对象只能是整型变量;自增运算符(++)和自减运算符(--)的优先级与正负值运算符(+,-)相同。关系与逻辑运算1.关系运算符:>、>=、<、<=、==、!=作用:用于比较两个运算对象的大小,结果为逻辑值“真”或“假”。逻辑值:用1表示“真”,用0表示“假”。优先级:算术运算符→>、>=、<、<=→==、!=→赋值(=)例:inta=3,b=4,x;x=a<b+3;//x=(a<(b+3));对于==、=、!=须注意,不可写错,否则会影响程序运行。如if(x=9){…//}if(x=0){…//}if(x=!9){…//}2.逻辑运算符:!、&&、||与&&(双目):当两个运算对象值均为真时,与运算结果为真,其值为“1”;否则为假,其值为“0”。即:全真为真,有假为假。或||(双目):当两个运算对象值均为假时,或运算结果为假,其值为“0”;否则为真,其值为“1”。即:全假为假,有真为真。非!(单目):取反操作。即当运算对象值为真时,则非运算结果为假,其值为“0”;否则为真,其值为“1”。if(!(x==9)){…//}优先级:!→算术(*、/、%→+、-)→关系(>