设为首页 加入收藏

TOP

2.5.1 运算符及表达式简介
2013-11-12 22:32:46 来源: 作者: 【 】 浏览:176
Tags:2.5.1 运算 符及 表达式 简介

2.5  运算符和表达式

C++语言的运算符和表达式数量之多,在其他高级语言中是少见的。正是丰富的运算符和表达式使C++语言功能十分完善。这也是C++语言的主要特点之一。

C++语言的运算符不仅具有不同的优先级,而且还有一个特点,就是其结合性。在表达式中,各运算量参与运算的先后顺序不仅要遵守运算符优先级别的规定,还要受运算符结合性的制约,以便确定是自左向右进行运算还是自右向左进行运算。这种结合性是其他高级语言的运算符所没有的,因此也增大了C++语言的复杂性。

2.5.1  运算符及表达式简介

运算是对数据的加工和处理。最基本的运算形式通常可以用一些简洁的符号来描述,这些符号称为运算符。被运算的对象,即数据,称为运算量。由运算符和运算量组成的表达式描述了对哪些数据、以何种顺序、进行什么样的运算。运算量可以是常量、变量或函数。表达式是语句的重要组成部分,可以用来为变量赋值,也可以作为参数来调用函数。

1. 运算符的种类

C++语言提供了丰富的运算符,可以构成多种表达式。

(1) 算术运算符

用于各类数值运算,包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共7种。

(2) 赋值运算符

用于赋值运算,分为简单赋值(=)、复合算术赋值(+=、-=、*=、/=、%=)和复合位运算赋值(&=、|=、^=、>>=、<<=)3类共11种。

(3) 逗号运算符

用于把若干表达式组合成一个表达式(,)。

(4) 关系运算符

用于比较运算的运算符,有6种,包括大于(>)、小于(<)、等于(==)、大于等于(>=)、小于等于(<=)和不等于(!=)。

(5) 逻辑运算符

用于逻辑运算的运算符,有3种,包括与(&&)、或(||)、非(!)。

(6) 条件运算符

这是一个三目运算符,用于条件求值( :)。

(7) 指针运算符

有两种,即:用于取内容(*)和取地址(&)的运算符。

(8) 求字节数运算符

用于计算数据类型所占的字节数(sizeof())。

(9) 特殊运算符

有函数调用(())、强制类型转换(())、下标([]),成员(→,.)等几种特殊运算符。

(10) 位操作运算符

参与运算的量,按二进制位进行运算,有6种,包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)。

2. 运算符的优先级与结合性

(1) 运算符的优先级

当在一个算术表达式中出现多个运算符时,要按照运算符的优先次序进行运算,优先级高的运算符先运算,优先级低的运算符后运算。在表达式中,优先级较高的先于优先级较低的进行运算。在一个运算量两侧的运算符优先级相同时,则按运算符的结合性所规定的结合方向处理。

(2) 运算符的结合性

在C++语言中各运算符的结合性分为两种,即左结合性(自左至右)和右结合性(自右至左)。C++语言运算符有不少为右结合性,应注意区别,以避免理解错误。

一般而言,单目运算符优先级较高,赋值运算符优先级低。算术运算符优先级较高,关系和逻辑运算符优先级较低。多数运算符具有左结合性,单目运算符、三目运算符、赋值运算符具有右结合性。

3. 表达式

表达式是由运算符组建常量、变量、函数所组成的有意义的式子,单个常量、变量或函数也可以看成是特殊的表达式。每个表达式都有一个值和类型,表达式最终计算结果称为表达式的值,表达式的值的数据类型即为表达式的类型。表达式求值按运算符的优先级和结合性所规定的顺序进行。
 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇2.4.2 输入输出函数 下一篇2.5.2 算术运算符和算术表达式(1..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: