《C++语言入门经典》一2.4 运算符

简介: 本节书摘来自华章出版社《C++语言入门经典》一书中的第2章,第2.4节,作者 郭鑫 顾彦玲,更多章节内容可以访问云栖社区“华章计算机”公众号查看

2.4 运算符

运算符就是具有运算功能的符号。C++语言中有丰富的运算符,其中有很多都是从C语言
继承下来的,它新增的运算符有作用域运算符(::),成员指针运算符(->)。
和C语言一样,根据使用运算符的对象个数,C++语言中可以将运算符分为单目运算符、
双目运算符和三目运算符。根据使用运算符的对象之间的关系,可以将运算符分为算术运算
符、关系运算符、逻辑运算符、赋值运算符、位运算符、移位运算符、sizeof 运算符、条件运
算符和逗号运算符。

2.4.1 算术运算符

算术运算主要是指常用的加(+)、减(-)、乘(*)、除(/)四则运算符,以及模运算
(%)和自增加运算(++)、自减少(--),算术运算符中有单目运算符和双目运算符。算术
运算符及其功能如表2.8所示。
image

说明expr表示使用运算符的对象,可以是表达式、变量和常量。

1)+是加法运算符,可以进行两个对象的加法运算,例如:1+1表示两个常量相加;i+1表
示变量和常量相加;x+y表示两个变量相加;+100表示有符号的常量,强调常量是正数。
2)-是减法运算符,可以进行两个对象的减法运算,例如:1-1表示两个常量相减;j-1表

示变量和常量相减;x-y表示两个变量相减;-100表示有符号的常量,强调常量是一个负值。
3)是乘法运算符,可以进行两个对象的乘法运算,例如:23表示两个常量相乘。
4)/是除法运算符,可以对两个对象进行除法运算,例如:2/3表示两个常量相除。/运算

符左侧的是被除数,也称分子;/运算符右侧的是除数,也称为分母。
在进行除法运算时,除数或分母不可以为0,若为0,则会产生溢出,处理器抛出异常。例

如:2/0是不合法运算;而0/2是合法运算,计算结果是0。
两个整型数值进行除法运算时返回的结果可能是一个小数,小数点后的数值会被舍去。
5)%是模运算符,求两个整型的数值或变量在进行除法运算后的余数。例如:5/2表示两

个常量进行求模运算,计算结果是1。

6)++是自加运算符,属于单目运算符。有++expr和expr++两种形式,++expr表示expr自身
加1后再进行其他运算;expr++表示expr先参加完其他运算后再进行自身加1,expr只能是变量。
例如:i++表示i自增1后再参与其他运算;++i表示i参与运算后,i的值再自增;1++不合法。

7)--是自减运算符,属于单目运算符。有--expr和expr--两种形式,--expr表示expr自身
减1后再进行其他运算;expr--表示expr先参加完其他运算后再进行自身减1,expr只能是变量。
例如:i--表示i自减1后再参与其他运算;--i表示i参与运算后,i的值再自减;1--不合法。

2.4.2 关系运算符

关系运算主要是对两个对象进行比较,运算结果是逻辑常量真或假。关系运算符及其功能
如表2.9所示。

image

1)<用于比较两个对象的大小,前者小于后者,运算结果为真。例如:a进行比较,如果变量a的值小于变量b的值,运算结果为真;2<1的运算结果为假。

2)>用于比较两个对象的大小,前者大于后者,运算结果为真。例如:a>b表示两个变量
进行比较,如果变量a的值大于变量b的值,运算结果为真;2>1的运算结果为真。

3)>=用于比较两个对象的大小,前者大于或等于后者,运算结果为真。例如:3>=2的运
算结果为真;2>=2的运算结果为真。

4)<=用于比较两个对象的大小,前者小于或等于后者,运算结果为真。例如:1<=2的运
算结果为真。

5)==用于对两个对象进行判断,前者恒等于后者,运算结果为真。例如:a==b表示两个

变量进行比较,如果变量a的值恒等于变量b的值,运算结果为真。
6)!=用于对两个对象进行判断,前者不等于后者,运算结果为真。例如:a!=b 表示两个
变量进行比较,如果变量a的值不等于变量b的值,运算结果为真。
关系运算符都是双目运算符,其结合性均为左结合。关系运算符的优先级低于算术运算
符,高于赋值运算符。在6个关系运算符中,<,<=,>,>=的优先级相同,高于==和!=,==
和!=的优先级相同。

相关文章
|
12天前
|
Linux 程序员 图形学
C++语言在现代软件开发中的应用与实践
C++语言在现代软件开发中的应用与实践
19 2
|
12天前
|
存储 程序员 C语言
深入理解C++:从语言特性到实践应用
深入理解C++:从语言特性到实践应用
23 3
|
12天前
|
存储 算法 安全
C++语言深度探索:从基础到实践
C++语言深度探索:从基础到实践
13 2
|
17天前
|
存储 C++
C++从入门到精通:1.1.3基础语法之运算符
C++从入门到精通:1.1.3基础语法之运算符
|
24天前
|
机器学习/深度学习 人工智能 大数据
开发语言漫谈-C++
C++最初的名字为“带类的C”
|
24天前
|
缓存 编译器 API
NumPy与其他语言(如C/C++)的接口实践
【4月更文挑战第17天】本文介绍了NumPy与C/C++的接口实践,包括Python与C/C++交互基础、NumPy的C API和Cython的使用。通过案例展示了如何将C++函数与NumPy数组结合,强调了内存管理、类型匹配、错误处理和性能优化的最佳实践。掌握这些技能对于跨语言交互和集成至关重要。
|
1月前
|
C++
C++运算符
C++运算符
|
1月前
|
存储 C++
C++语言学习指针和引用应用案例
C++中的指针和引用用于高效操作内存。示例展示指针和引用的基本用法:指针`*p`存储变量`a`的地址,引用`&x`在函数调用中实现值交换而无需复制。此外,引用`update(&x)`可直接修改原变量,指针`p`在数组操作中用于遍历和访问不同部分。
12 2
|
1月前
|
C++
C++语言学习数组和字符串应用案例
【4月更文挑战第8天】该文展示了C++中数组和字符串的应用案例。数组示例定义了一个整数数组并访问、修改其元素,计算了元素之和。字符串示例中,定义了一个字符串并遍历、修改字符,进行了字符串拼接、查找子字符串及替换操作。
12 3
|
1月前
|
C++
C++语言学习文件操作应用案例
C++文件操作示例:创建`ofstream`对象写入&quot;Hello, World!&quot;到`output.txt`,刷新缓冲区,然后使用`ifstream`读取并打印文件内容。如果文件打开失败,程序将显示错误信息并返回1。
12 3