C++ 是一种功能强大的编程语言,它提供了丰富的运算符用于执行各种操作,如算术运算、比较运算、逻辑运算、位运算等。以下是对 C++ 中主要运算符的详细讲解,并附有相应的编程示例。
1. 算术运算符
算术运算符用于执行基本的数学运算,如加、减、乘、除等。
· + 加法
· - 减法或取反(作为一元运算符时)
· * 乘法
· / 除法
· % 取模(求余数)
· ++ 自增
· -- 自减
示例:
#include <iostream> int main() { int a = 5, b = 3; std::cout << "a + b = " << a + b << std::endl; std::cout << "a - b = " << a - b << std::endl; std::cout << "a * b = " << a * b << std::endl; std::cout << "a / b = " << a / b << std::endl; // 整数除法,结果为 1 std::cout << "a % b = " << a % b << std::endl; // 求余数,结果为 2 a++; // a 现在为 6 --b; // b 现在为 2 std::cout << "a after increment = " << a << std::endl; std::cout << "b after decrement = " << b << std::endl; return 0; }
2. 关系运算符
关系运算符用于比较两个值的大小或是否相等。
· == 等于
· != 不等于
· > 大于
· < 小于
· >= 大于或等于
· <= 小于或等于
示例:
#include <iostream> int main() { int x = 5, y = 10; std::cout << "x == y: " << (x == y) << std::endl; // 输出 0(false) std::cout << "x != y: " << (x != y) << std::endl; // 输出 1(true) std::cout << "x > y: " << (x > y) << std::endl; // 输出 0(false) std::cout << "x < y: " << (x < y) << std::endl; // 输出 1(true) std::cout << "x >= y: " << (x >= y) << std::endl; // 输出 0(false) std::cout << "x <= y: " << (x <= y) << std::endl; // 输出 1(true) return 0; }
3. 逻辑运算符
逻辑运算符用于连接布尔值或返回布尔值的表达式,并返回一个新的布尔值。
· && 逻辑与
· || 逻辑或
· ! 逻辑非
#include <iostream> int main() { bool flag1 = true, flag2 = false; std::cout << "flag1 && flag2: " << (flag1 && flag2) << std::endl; // 输出 0(false) std::cout << "flag1 || flag2: " << (flag1 || flag2) << std::endl; // 输出 1(true) std::cout << "!flag1: " << !flag1 << std::endl; // 输出 0(false) return 0; }
示例:
4. 位运算符
位运算符直接对二进制位进行操作。
· & 位与
· | 位或
· ^ 位异或
· ~ 位非
· << 左移
· >> 右移
示例:
#include <iostream> int main() { unsigned int a = 60; // 60 = 0011 1100 unsigned int b = 13; // 13 = 0000 1101 std::cout << "a & b: " << (a & b) << std::endl; // 12 = 0000 1100 std::cout << "a | b: " << (a | b) << std::endl; // 61 = 0011 1101 std::cout << "a ^ b: " << (a ^ b) << std::endl; // 49 = 0011 0001 std::cout << "~a: " << (~a) << std::endl; // 依赖于系统字长和表示方法,通常为很大的数 std::cout << "a << 2: " << (a << 2) << std::endl; // 240 = 1111 0000 std::cout << "a >> 2: " << (a >> 2) << std::endl; // 15 = 0000 1111 return 0; }
5. 赋值运算符
赋值运算符用于给变量赋值。
· = 赋值
· += 加等于
· -= 减等于
· *= 乘等于
· /= 除等于
· %= 模等于
示例:
#include <iostream> int main() { int a = 10; a += 5; // a 现在为 15 a -= 3; // a 现在为 12 a *= 2; // a 现在为 24 a /= 2; // a 现在为 12 a %= 3; // a 现在为 0(因为 12 除以 3 的余数是 0) std::cout << "a after assignments: " << a << std::endl; return 0; }
6. 其他运算符
C++ 还提供了其他一些运算符,如条件运算符(?:)、逗号运算符(,)、成员选择运算符(. 和 ->)、下标运算符([])、指针解引用运算符(*)、地址运算符(&)、作用域解析运算符(::)等。
以上就是对 C++ 中主要运算符的讲解和编程示例。这些运算符是编写 C++ 程序时不可或缺的工具。