运算符(详细讲解)

C++ 运算符用于执行各种操作,包括算术、逻辑、位运算、关系运算等。下面是 C++ 中主要的运算符分类及其讲解。


1. 算术运算符(Arithmetic Operators)

用于数学计算。

运算符作用
+加法
-减法
*乘法
/除法
%取模(求余数,仅适用于整数)

示例:

#include <iostream>
using namespace std;

int main() {
    int a = 10, b = 3;
    cout << "a + b = " << (a + b) << endl;
    cout << "a - b = " << (a - b) << endl;
    cout << "a * b = " << (a * b) << endl;
    cout << "a / b = " << (a / b) << endl; // 3,整数除法
    cout << "a % b = " << (a % b) << endl; // 1
    return 0;
}

2. 关系运算符(Relational Operators)

用于比较两个值,返回 true(1)或 false(0)。

运算符作用
==等于
!=不等于
>大于
<小于
>=大于等于
<=小于等于

示例:

int x = 5, y = 10;
cout << (x > y) << endl;  // 0 (false)
cout << (x <= y) << endl; // 1 (true)

3. 逻辑运算符(Logical Operators)

用于布尔逻辑运算。

运算符作用
&&逻辑与(AND)
`
!逻辑非(NOT)

示例:

bool a = true, b = false;
cout << (a && b) << endl; // 0
cout << (a || b) << endl; // 1
cout << (!a) << endl;      // 0

4. 赋值运算符(Assignment Operators)

用于给变量赋值。

运算符作用
=赋值
+=加法赋值
-=减法赋值
*=乘法赋值
/=除法赋值
%=取模赋值

示例:

int num = 10;
num += 5;  // num = 15
num *= 2;  // num = 30
cout << num << endl;

5. 位运算符(Bitwise Operators)

用于二进制位操作。

运算符作用
&按位与
``
^按位异或
~按位取反
<<左移
>>右移

示例:

int a = 5, b = 3; // 5: 101, 3: 011
cout << (a & b) << endl;  // 1  (001)
cout << (a | b) << endl;  // 7  (111)
cout << (a ^ b) << endl;  // 6  (110)
cout << (~a) << endl;     // -6(取反)
cout << (a << 1) << endl; // 10 (左移一位)
cout << (a >> 1) << endl; // 2  (右移一位)

6. 递增与递减运算符(Increment and Decrement Operators)

用于增加或减少变量值。

运算符作用
++自增(前置 ++x,后置 x++
--自减(前置 --x,后置 x--

示例:

int x = 5;
cout << x++ << endl; // 输出 5,先使用再增加
cout << ++x << endl; // 输出 7,先增加再使用

7. 三目运算符(Ternary Operator)

条件 ? 真值表达式 : 假值表达式

示例:

int a = 10, b = 20;
int min = (a < b) ? a : b;
cout << min << endl; // 10

8. 类型转换运算符(Type Conversion Operators)

用于类型转换。

运算符作用
(type)C 风格转换
static_cast<type>静态转换
dynamic_cast<type>动态转换(用于指针)
const_cast<type>去掉 const 限定
reinterpret_cast<type>重新解释转换(危险)

示例:

double pi = 3.14;
int intPi = static_cast<int>(pi);
cout << intPi << endl; // 3

9. 逗号运算符(Comma Operator)

执行多个表达式,并返回最后一个表达式的值。

示例:

int a = (1, 2, 3); // a = 3
cout << a << endl;

10. 指针运算符(Pointer Operators)

用于指针操作。

运算符作用
*指针解引用
&取地址

示例:

int x = 10;
int *p = &x;  // 取地址
cout << *p << endl; // 10(解引用)

11. 成员访问运算符(Member Access Operators)

用于访问类或结构体的成员。

运算符作用
.访问对象成员
->访问指针对象的成员

示例:

struct Point {
    int x, y;
};

Point p = {10, 20};
cout << p.x << endl; // 10

12. sizeof 运算符

返回数据类型或变量的字节大小。

示例:

cout << sizeof(int) << endl;  // 4(取决于系统)
cout << sizeof(double) << endl; // 8

13. newdelete 运算符

用于动态内存分配。

示例:

int *p = new int(10);
cout << *p << endl;
delete p;

这些是 C++ 主要的运算符,它们在编写代码时非常重要。想要深入学习的话,可以多写代码练习!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值