4.1 KiB
4.1 KiB
4. 基本运算
在编程中,运算符是用于执行运算的符号,C++ 提供了多种类型的运算符,涵盖从基本的加减乘除到位运算等功能。本节将系统讲解各种常见运算符。
【1】算术运算
概念说明
算术运算符用于执行基本的数学计算。
运算符 | 含义 | 示例表达式 | 结果 |
---|---|---|---|
+ |
加法 | 3 + 2 |
5 |
- |
减法 | 3 - 2 |
1 |
* |
乘法 | 3 * 2 |
6 |
/ |
除法 | 5 / 2 |
2(整型) |
// |
整除 | 5 / 2 |
2(整型) |
% |
取余 | 5 % 2 |
1 |
示例代码(C++)
#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) |
条件取反 |
示例代码
bool a = true, b = false;
cout << (a && b) << endl; // 输出 0
cout << (a || b) << endl; // 输出 1
cout << (!a) << endl; // 输出 0
【1】变量自增与自减运算
运算符
运算符 | 含义 | 示例 |
---|---|---|
++ |
自增 | a++ |
-- |
自减 | b-- |
前缀和后缀的区别:
++a
:先加后用a++
:先用后加
示例代码
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 |
~ |
按位非 | ~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
总结
- 熟练掌握算术、关系、逻辑、自增减、三目和位运算是编程的基础。
- 编程时建议使用
括号
明确优先级,增强代码可读性。 - 多做练习能更好地掌握各种运算符的特性。