当前位置:实例文章 » 其他实例» [文章]C++教程(四)运算符

C++教程(四)运算符

发布人:shili8 发布时间:2024-11-15 19:22 阅读次数:0

**C++ 教程 (四) 运算符**

在 C++ 中,运算符是用于表达式的符号或关键字,它们可以改变变量的值、比较两个值等。运算符分为以下几种:

###1. 算术运算符算术运算符用于进行基本的数学运算,如加减乘除等。

| 运算符 | 名称 | 描述 |
| --- | --- | --- |
| `+` | 加法 | 将两个值相加 |
| `-` | 减法 | 将一个值从另一个值中减去 |
| `*` | 乘法 | 将两个值相乘 |
| `/` |除法 | 将一个值除以另一个值 |
| `%` | 取余 | 返回一个数除以另一个数后余数 |

示例代码:

cppint a =5;
int b =3;

// 加法int sum = a + b; // sum =8// 减法int diff = a - b; // diff =2// 乘法int product = a * b; // product =15//除法double quotient = (double)a / b; // quotient =1.66667// 取余int remainder = a % b; // remainder =2


###2. 关系运算符关系运算符用于比较两个值的大小或相等性。

| 运算符 | 名称 | 描述 |
| --- | --- | --- |
| `==` | 等于 | 检查两个值是否相等 |
| `!=` | 不等于 | 检查两个值是否不相等 |
| `<` | 小于 | 检查一个值是否小于另一个值 |
| `>` | 大于 | 检查一个值是否大于另一个值 |
| `<=` | 小于或等于 | 检查一个值是否小于或等于另一个值 |
| `>=` | 大于或等于 | 检查一个值是否大于或等于另一个值 |

示例代码:
cppint a =5;
int b =3;

// 等于bool isEqual = (a == b); // isEqual = false// 不等于bool isNotEqual = (a != b); // isNotEqual = true// 小于bool isLessThan = (a < b); // isLessThan = false// 大于bool isGreaterThan = (a > b); // isGreaterThan = true// 小于或等于bool isLessThanOrEqualTo = (a <= b); // isLessThanOrEqualTo = true// 大于或等于bool isGreaterThanOrEqualTo = (a >= b); // isGreaterThanOrEqualTo = true


###3. 逻辑运算符逻辑运算符用于表达式的布尔值。

| 运算符 | 名称 | 描述 |
| --- | --- | --- |
| `&&` | 与 | 检查两个布尔值是否都为 true |
| `||` | 或 | 检查两个布尔值是否有一个为 true |
| `!` | 非 | 检查一个布尔值是否为 false |

示例代码:
cppbool a = true;
bool b = false;

// 与bool andResult = (a && b); // andResult = false// 或bool orResult = (a || b); // orResult = true// 非bool notResult = (!a); // notResult = false


###4. 位运算符位运算符用于操作整数的二进制表示。

| 运算符 | 名称 | 描述 |
| --- | --- | --- |
| `&` | 与 | 检查两个整数的二进制表示是否都为1 |
| `|` | 或 | 检查两个整数的二进制表示是否有一个为1 |
| `^` | 异或 | 检查两个整数的二进制表示是否不同 |
| `~` | 非 | 取一个整数的二进制表示的反 |

示例代码:
cppint a =5; // 二进制表示:101int b =3; // 二进制表示:011// 与int andResult = (a & b); // 和结果:001// 或int orResult = (a | b); // 或结果:111// 异或int xorResult = (a ^ b); // 异或结果:110// 非int notResult = ~a; // 非结果: -6


###5. 赋值运算符赋值运算符用于将一个值赋给另一个变量。

| 运算符 | 名称 | 描述 |
| --- | --- | --- |
| `=` | 等于 | 将一个值赋给另一个变量 |
| `+=` | 加等于 | 将一个值加到另一个变量中 |
| `-=` | 减等于 | 将一个值减去另一个变量中的值 |
| `*=` | 乘等于 | 将一个值乘以另一个变量中的值 |
| `/=` |除等于 | 将一个值除以另一个变量中的值 |
| `%=` | 取余等于 | 将一个值取另一个变量中的值的余数 |

示例代码:
cppint a =5;
int b =3;

// 等于a = b; // a =3// 加等于a += b; // a =6// 减等于b -= a; // b = -3// 乘等于a *= b; // a = -15//除等于b /= a; // b =0.2// 取余等于a %= b; // a = -0.6


###6. 递归运算符递归运算符用于函数的自身调用。

示例代码:
cppint factorial(int n) {
 if (n ==0) return1;
 else return n * factorial(n-1);
}

int main() {
 int result = factorial(5); // result =120 return0;
}


###7. 指针运算符指针运算符用于操作指针的值。

| 运算符 | 名称 | 描述 |
| --- | --- | --- |
| `*` | 解引用 | 取一个指针所指向的值 |
| `&` | 取地址 | 取一个变量的地址 |

示例代码:
cppint a =5;
int *ptr = &a; // ptr 是 a 的地址// 解引用int value = *ptr; // value =5// 取地址int address = &a; // address 是 a 的地址


###8. 成员运算符成员运算符用于操作结构体或类的成员。

| 运算符 | 名称 | 描述 |
| --- | --- | --- |
| `.` | 成员访问 | 取一个结构体或类的成员 |
| `->` | 成员访问 | 取一个指向结构体或类的指针的成员 |

示例代码:
cppstruct Person {
 int age;
 char name[10];
};

Person person = {25, "John"};

// 成员访问int age = person.age; // age =25// 成员访问 (指针)
Person *ptr = &person;
int age2 = ptr->age; // age2 =25


###9. 操作符重载操作符重载用于定义一个类或结构体的运算符。

示例代码:
cppclass Vector {
public:
 int x, y;

 Vector(int a, int b) : x(a), y(b) {}

 friend Vector operator+(const Vector &v1, const Vector &v2);
};

Vector operator+(const Vector &v1, const Vector &v2) {
 return Vector(v1.x + v2.x, v1.y + v2.y);
}

int main() {
 Vector v1(3,4);
 Vector v2(5,6);

 Vector result = v1 + v2; // result = (8,10)
 return0;
}


###10. 模板运算符模板运算符用于定义一个函数或运算符的模板。

示例代码:
cpptemplate <typename T>
T max(T a, T b) {
 return (a > b) ? a : b;
}

int main() {
 int result1 = max(5,3); // result1 =5 double result2 = max(5.5,3.7); // result2 =5.5 return0;
}


###

相关标签:算法
其他信息

其他资源

Top