1 / 24
文档名称:

第三章 表达式和语句.ppt

格式:ppt   页数:24
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第三章 表达式和语句.ppt

上传人:中国课件站 2011/9/6 文件大小:0 KB

下载得到文件列表

第三章 表达式和语句.ppt

文档介绍

文档介绍:3
第三章
表达式和语句
第三章表达式和语句 (EXPRESSION AND STATEMENT)
程序是由语句和表达式构成的。掌握构成表达式的各种运算符的功能与特点,掌握条件语句。
§
1、表达式概述
表达式是操作符(Operators)、操作数(Operands)构成的序列,用以说明一个计算过程。
表达式可以嵌套:例如:
2+3+(5*sizeof(int)/345 表达式按照优先级(Precedence)和结合性(Associativity)规则进行计算。
优先级是指不同优先级的操作符,总是先做优先级高的操作。
d=a+b*c; //先乘后加再赋值
结合性是指表达式中出现同优先级的操作符时,该先做哪个操作符的规定。
两种结合性
左结合性(left associativity)
右结合性(right associativity)
a+b-c; //evaluate them from left to right
d =a=3; //assign them from right to left
2、C++操作符的优先级与结合性共有16个等级,常用的如
下表所示:
优先级
结合性
1
( ) [ ] -> :: . *
左右
2
! ~ + - ++ -- & new delete
右左
3
.* ->*
左右
4
* / %
左右
5
+ -
左右
6
<< >>
左右
7
< <= >= >
左右
8
= = !=
左右
9
&
左右
10
^
左右
11
|
左右
12
&&
左右
13
||
左右
14
?:
右左
15
= *= /= += ……<<= >>=
右左
16
,
左右
3、语句与复合语句( Statement pound Statement)
语句用来规定程序执行的控制流,在没有跳转或分支的情况下,语句将按照其在程序中出现的次序顺序执行。
C++中所有的操作运算符都是通过表达式来实现的,由表达式组成的语句称为表达式语句,它是由一个表达式后接一个分号“;”组成。
语句可以是空语句,不产生任何操作。
复合语句也称为块(Block),是指用一对花括号括起来的
语句序列。从语法上,复合语句可以被认为是单个语句。
if(x>9)
{
cout <<“The number is perfect .\n”;
cout <<“It is larger than 9\n”;
}
else
{
cout << “not larger than 9\n”;
}
§ (Arithmetic Calculation and Assignment)
1、算术运算操作符
单目运算符(Unary arithmetic operators)
+ Unary plus - Unary minus
++ Increment -- Decrement
双目运算符(Binary arithmetic operators)
+ Addition - Subtraction
* Multiplication / Division
% Remainder(modulus)
“/”对于两个整型数相除取整。
5/2 = 2 =
“%”取余数只能对整数取余数,不能对浮点数取余数。
5%2 = 1 -27%8 = -3
third=first % second ; 等效于
third=first - (first/second)*second;
2、pound Assignment Operators)
C++允许将算术运算符和简单的赋值运算符组合成复合赋值
运算符,以构成符合赋值表达式。
x += y ; Assign sum 等效于 x = x + y;
x -= y ; Assign difference 等效于 x = x – y;
x *= y ; Assign product 等效于 x = x * y;
x /= y ; Assign division 等效于 x = x / y;
x %= y ; Assign remainder 等效于 x = x % y ;
例如:
(1) int x = 17, y = 3; x%=y; x值为2
(2)(x=max(5,7))+=3; 等价于 x=(x=max(5,7))+3;
3、溢出
当一个变量被赋于一个超出其数据类型的取值范围的
数值时产生溢出。
数值溢出不引起编译错误,但使运算结果出错。