4. 基本运算
在编程中,运算符是用于执行运算的符号,C++ 提供了多种类型的运算符,涵盖从基本的加减乘除到位运算等功能。本节将系统讲解各种常见运算符。
【1】算术运算
概念说明
算术运算符用于执行基本的数学计算。
运算符 |
含义 |
示例表达式 |
结果 |
+ |
加法 |
3 + 2 |
5 |
- |
减法 |
3 - 2 |
1 |
* |
乘法 |
3 * 2 |
6 |
/ |
除法 |
5 / 2 |
2(整型) |
// |
整除 |
5 / 2 |
2(整型) |
% |
取余 |
5 % 2 |
1 |
示例代码(C++)
1
2
3
4
5
6
7
8
9
10
11
12 | #include <iostream>
using namespace std;
int main() {
int a = 5, b = 2;
cout << "a + b = " << a + b << endl;
cout << "a - b = " << a - b << endl;
cout << "a * b = " << a * b << endl;
cout << "a / b = " << a / b << endl;
cout << "a % b = " << a % b << endl;
return 0;
}
|
【1】关系运算
概念说明
关系运算用于比较两个值的关系,结果为布尔值(true 或 false)。
运算符 |
含义 |
示例 |
> |
大于 |
a > b |
>= |
大于等于 |
a >= b |
< |
小于 |
a < b |
<= |
小于等于 |
a <= b |
== |
等于 |
a == b |
!= |
不等于 |
a != b |
示例代码
| int a = 5, b = 3;
cout << (a > b) << endl; // 输出 1(true)
cout << (a == b) << endl; // 输出 0(false)
|
【1】逻辑运算
概念说明
逻辑运算符用于多个条件的组合判断。
运算符 |
含义 |
示例 |
说明 |
&& |
与 |
a > 0 && b > 0 |
两个都为真才为真 |
|| |
或 |
a > 0 || b > 0 |
一个为真就为真 |
! |
非 |
!(a > 0) |
条件取反 |
示例代码
| bool a = true, b = false;
cout << (a && b) << endl; // 输出 0
cout << (a || b) << endl; // 输出 1
cout << (!a) << endl; // 输出 0
|
【1】变量自增与自减运算
运算符
运算符 |
含义 |
示例 |
++ |
自增 |
a++ |
-- |
自减 |
b-- |
前缀和后缀的区别:
示例代码
| int a = 5;
cout << ++a << endl; // 输出 6
cout << a++ << endl; // 输出 6,再加变成 7
cout << a << endl; // 输出 7
|
【1】三目运算符
概念说明
三目运算符是一种简洁的条件表达式写法。
语法格式:
| condition ? value_if_true : value_if_false;
|
示例代码
| int a = 5, b = 10;
int max = (a > b) ? a : b;
cout << "较大值是: " << max << endl;
|
【2】位运算
概念说明
位运算是直接对整数的二进制位进行操作的运算。
运算符 |
含义 |
示例 |
说明 |
& |
按位与 |
a & b |
都为1才为1 |
| |
按位或 |
a | b |
有一个为1就为1 |
~ |
按位非 |
~a |
1变0,0变1(按位取反) |
^ |
按位异或 |
a ^ b |
相同为0,不同为1 |
<< |
左移 |
a << 1 |
相当于乘2 |
>> |
右移 |
a >> 1 |
相当于除2 |
示例代码
| int a = 5, b = 3; // 二进制: a=0101, b=0011
cout << (a & b) << endl; // 1
cout << (a | b) << endl; // 7
cout << (a ^ b) << endl; // 6
cout << (~a) << endl; // -6(因为补码)
cout << (a << 1) << endl; // 10
cout << (a >> 1) << endl; // 2
|
总结
- 熟练掌握算术、关系、逻辑、自增减、三目和位运算是编程的基础。
- 编程时建议使用
括号
明确优先级,增强代码可读性。
- 多做练习能更好地掌握各种运算符的特性。