- 2
- 0
- 约1.08万字
- 约 6页
- 2018-02-26 发布于江苏
- 举报
【计算机】2.4C的运算符和表达式
C++的运算符和表达式
运算符是施加在数据上的重要操作,变量、常量通过操作符组合成C++的表达式,构成了C++程序的基本要素。本节将介绍C++语言中基本运算符和表达式。
2.4.1 C++中的基本运算符
运算是对数据的加工过程,而标识不同运算的符号称职运算符,参与运算的数据称为操作数。表2.3列出了C++中的基本运算符、其优先级及对操作数的结合性。
优先级
运算符
运算顺序
功能
17
17
::
::
从右向左结合
从左向右结合
全局范围符(单目)
类范围符(双目)
16
16
16
16
16
→,.
[ ]
( )
( )
sizeof
从左向右结合
从左向右结合
从左向右结合
从左向右结合
从左向右结合
成员选择符
数组下标符
函数调用
类型结构
取类型存储大小
15
15
15
15
15
15
15
++,--
~
!
+,-
*,
()
new,delete
从右向左结合
从右向左结合
从右向左结合
从右向左结合
从右向左结合
从右向左结合
从右向左结合
自增,自减
按位反
逻辑否
单目加,单目减
指针操作,取址
类型转换
动态空间管理
14
-*,.*
从左向右结合
成员指针选择
13
*,/,%
从左向右结合
乘法类运算
12
+,-
从左向右结合
加法类运算
11
,
从左向右结合
移位运算
10
,=,=
从左向右结合
关系比较
9
= =,!=
从左向右结合
等值,不等值比较
8
从左向右结合
按位与
7
^
从左向右结合
按位异或
6
|
从左向右结合
按位或
5
从左向右结合
逻辑与
4
||
从左向右结合
逻辑或
3
?:
从左向右结合
条件操作符
2
=,*=,/=,%=,+=,—=,
=,=,=,|=,^=
从右向左结合
从右向左结合
赋值符
1
,
从左向右结合
逗号表达式
注:优先级相同的运算符,其执行顺序由该运算符在语句中的位置先后决定。
根据参与运算的操作数的类型不同,运算符可以分为单目运算符(1个操作数)、双目运算符(2个操作数)、三目运算符(3个操作数)。有一些运算符既可以是单目的,也可以是双目的,根据赋予该运算符的操作数的不同,运算符具有不同的功能。
例如: *pFile; var1*var2;
运算符的优先级和数学运算中的优先级意义相同,它决定了一个操作符在表达式的运算顺序,优先级越高,运算次序越靠前。而结合性则决定一个操作符对其操作数的运算顺序。如果一个操作符对其操作数的操作运算是自左向右执行的,则称该操作符是右结合的;反之如果一个操作符对其操作数的操作运算是自右向左执行的,则称该操作符是左结合实际的。
根据操作符表示的运算的性质不同,可以将C++中的操作符分为算术运算、关系运算符、逻辑运算符、赋值运算符、条件运算符、自增自减运算符、位运算符和sizeof运算符等。下面分别进行讨论。
1、算术运算符
表2.4列出了C++中的算术运算符。
表2.4 C++中的算术运算符
运算符
运算操作
例子
-
取负(单目)
-var
+
加法
var1+var2
-
减法(双目)
var1-var2
*
乘法
var1*var2
/
除法
var1/var2
%
取模(余)
var1%var2
对于单目运算符-,其返回值的数据类型与操作数的数据类型相同.对于双目运算符+、-、*和/,若其两个操作数的数据类型相同,则返回值的数据类型与操作数的数据类型相同;若两操作数的数据类型不同,则返回值的数据类型与字长较长的操作数的数据类型相同。
注意:两个整数相除的结果仍然是整数。若被除数不能被除数整除,则相除的结果将被取整,其小数部分将被略去。
例如:34/7; 12.5%3(非法) 35%7
在某些情况下,算术运算表达式会产生某些问题,计算的结果将给出错误或没有定义的数值,这些情况称为运算异常。对不同的运算异常,将产生不同的后果。在C++中,除数为零和实数溢出被视为一个严重的错误而导致程序运行的异常终止。而整数溢出则不被认为是一个错误(尽管其运算结果有可能与预期值不同)。因此,在一些与硬件打交道的低级程序中利用整数溢出查看设备的状态位等。
2、关系运
您可能关注的文档
- 《平行线的判定-同位角、内错角、同旁内角》参考课件.ppt
- 《意外险和健康险》基础知识及销售实务(PPT 53页).ppt
- 《整合乡土资源引导农村幼儿教师.doc
- 《日语口笔译》课程整体教学设计.doc
- 《桂花雨》教学课例.doc
- 《水轮机检修》--高技.doc
- 【doc】团体健康险直付理赔服务模式初探.doc
- 【PPT】-中国人寿保险公司健康险话术专题(48页)-保险话术.ppt
- 【安邦】车险人伤理赔实务手册.doc
- 【全国百强校首发】黑龙江省哈尔滨市第三中学2016届高三上学期第二次检测数学(文)试题.docx
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
最近下载
- 2025年省考超大杯刷题-申论套卷四.pdf VIP
- 小学学校总务处的工作计划.pptx VIP
- 大学毕业论文__小型液压挖掘机的设计.doc VIP
- 食材配送人员配置与资质要求.docx VIP
- 2025年山东省济南市中考英语试卷试题真题(精校打印版).pdf VIP
- 一种能够在太阳光下快速固化的可剥离去污复合膜及制备方法.pdf VIP
- 骨科临床诊疗指南及操作规范(2025版).docx
- 2025-2026学年小学信息技术(信息科技)四年级下册浙教版(2023)教学设计合集.docx
- 沪科版九年级(上) 中考题同步试卷:22.5 二次函数的应用(18).doc VIP
- 中国的刺腹牙甲属、脊胸牙甲属和凹基牙甲属昆虫鞘翅目牙甲科牙甲族研究.pdf VIP
原创力文档

文档评论(0)