最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

那些年C++ 运算符

XAMPP相关 admin 286浏览 0评论

第五章:C++ 运算符

在此篇教程中,我们将借助示例来了解 C++ 中不同类型的运算符。在编程中,运算符是对值或变量进行操作的符号。例如, + 是用于加法的运算符,而 – 是用于减法的运算符。

C++中的运算符可以分为6种类型:算术运算符
、赋值运算符 、关系运算符 、逻辑运算符 、按位运算符 、其他运算符 。

1. C++ 算术运算符

算术运算符用于对变量数据执行算术运算。例如:

a + b;

这里, + 运算符用于将两个变量 a 和 b 相加。同样,C++ 中还有各种其他算术运算符,如下:

运算符 运算操作
+ 加法
- 减法
* 乘法
/ 除法
% 模运算(除法后取余数)

示例 1:算术运算符

#include <iostream>
using namespace std;

int main()

{

    int a, b;
    a = 7;
    b = 2;

    // 打印a与b的求和结果
    cout << "a + b = " << (a + b) << endl;

    // 打印a与b的求差结果
    cout << "a - b = " << (a - b) << endl;

    // 打印a与b的相乘结果
    cout << "a * b = " << (a * b) << endl;

    // 打印a除以b的结果
    cout << "a / b = " << (a / b) << endl;

    // 打印a除以b取余数的结果(取模)
    cout << "a % b = " << (a % b) << endl;

    return 0;
}

输出:

a + b = 9
a - b = 5
a * b = 14
a / b = 3
a % b = 1

此处,运算符  +- 和 *  分别计算加法、减法和乘法。

注意:

/ 除法运算

注意:我们程序中的操作 (a / b) 。 / 运算符是除法运算符。

从上面的例子我们可以看出,如果一个整数除以另一个整数,我们就会得到商。但是,如果除数被除数是浮点数,我们将得到小数形式的结果,诸如以下:

In C++:
----------
7/2 is 3
7.0 / 2 is 3.5
7 / 2.0 is 3.5
7.0 / 2.0 is 3.5

% 取模运算符

模运算符  %  计算余数。当  a = 9  除以  b = 4 时,余数为 1。

Note:  % 运算符只能与整数一起使用。


自增和自减运算符

C++ 还提供了自增自减运算符:分别是  ++  和  -- 。

  • ++ 将操作数的值增加 1
  • -- 将操作数的值减少 1

例如:

int num = 5;

// 自增运算符
++num;  // 为6

以上,代码  ++num; ; 将  num  的值增加 1。


示例 2:自增和自减运算符

// 自增和自减运算符

#include <iostream>
using namespace std;

int main()

{

    int a = 10, b = 100, result_a, result_b;

    // 将 a 增加 1,并将结果存储在 result_a 中
    result_a = ++a;
    cout << "result_a = " << result_a << endl;

    // 将 b 减少 1,并将结果存储在 result_b  中  
    result_b = --b;
    cout << "result_b = " << result_b << endl;

    return 0;
}

输出:

result_a = 11
result_b = 99

在上面的程序中,我们使用了  ++  和  --  运算符作为前缀(++a 和 –b)。但是,我们也可以将这些运算符用作后缀(a++ 和 b–)。

a = 5
++a; //a 变成 6
a++; //a 变成 7
–a; //a 变成 6

a--;      //a 变成 5

如果使用 ++ 运算符作为前缀,例如:++var,则 var 的值加 1,然后返回值。

如果使用 ++ 运算符作为后缀,例如:var++,则首先返回 var 的原始值,然后 var 增加 1。

Note:  — 运算符的工作方式与 ++ 运算符类似,只是 — 将值减 1。

示例 3:++和–作为前后缀区别

#include <iostream>
using namespace std;

int main()

{

    int var1 = 5, var2 = 5;

    // 将显示5,然后var1增加至6
    cout << var1++ << endl;

    // var2增加至6,然后显示  
    cout << ++var2 << endl;

    return 0;
}

输出:

5
6


 

2. C++ 赋值运算符

在 C++ 中,赋值运算符用于为变量赋值。例如:

// 将5分配给变量a
a = 5;

以上,我们为变量a 分配了值  5 ,以下为赋值运算符列举:

运算符 举例 等效
= a = b; a = b;
+= a += b; a = a + b;
-= a -= b; a = a - b;
*= a *= b; a = a * b;
/= a /= b; a = a / b;
%= a %= b; a = a % b;

示例 3:赋值运算符

#include <iostream>
using namespace std;

int main()

{

    int a, b;

    // 2分配给a

a = 2;

 

    // 7分配给b
    b = 7;

    cout << "a = " << a << endl;

cout << "b = " << b << endl;

 

    cout << "\nAfter a += b;" << endl;
    // 将a和b的综合分配给a
    a += b;  // a = a +b
    cout << "a = " << a << endl;

    return 0;
}

输出:

a = 2
b = 7

After a += b;
a = 9

3. C++ 关系运算符

关系运算符用于检查两个操作数之间的关系。例如:

// 检查a是否大于b
a > b;

此处, > 是一个关系运算符。它检查 a 是否大于b 。

如果关系为真True,则返回 1,如果关系为假False,则返回 0,以下为关系运算符汇总:

运算符 含义 举例
== 等于 3 == 5 则: false
!= 不等于 3 != 5 则: true
> 大于 3 > 5 则: false
< 小于 3 < 5 则: true
>= 大于等于 3 >= 5 则: false
<= 小于等于 3 <= 5 则: true

示例 4:关系运算符

#include <iostream>
using namespace std;

int main() {
    int a, b;
    a = 3;
    b = 5;
    bool result;

    result = (a == b);   // false
    cout << "3 == 5 is " << result << endl;

    result = (a != b);  // true
    cout << "3 != 5 is " << result << endl;

    result = a > b;   // false
    cout << "3 > 5 is " << result << endl;

    result = a < b;   // true
    cout << "3 < 5 is " << result << endl;

    result = a >= b;  // false
    cout << "3 >= 5 is " << result << endl;

    result = a <= b;  // true
    cout << "3 <= 5 is " << result << endl;

    return 0;
}

输出:

3 == 5 is 0
3 != 5 is 1
3 > 5 is 0
3 < 5 is 1
3 >= 5 is 0
3 <= 5 is 1

Note: 关系运算符常用于程序中的决策循环


4. C++ 逻辑运算符

逻辑运算符用于检查表达式是true还是false。如果表达式为true,则返回 1,如果表达式为false,则返回 0。

运算符 举例 含义
&& 表达式1 && 表达式2 逻辑与:仅当所有操作数都为真时才为真。
|| 表达式1 || 表达式2 逻辑或:如果至少有一个操作数为真,则为真。
! !表达式 逻辑非:只有当操作数为假时才为真。 

在 C++ 中,逻辑运算符常用于决策。为了进一步理解逻辑运算符,请看以下示例:

假设:
a = 5
b = 8

则:
(a > 3) && (b > 5) 为 true
(a > 3)  && (b < 5) 为 false

(a > 3) || (b > 5) 为 true
(a > 3) || (b < 5) 为 true
(a < 3) || (b < 5) 为 false

!(a < 3) 为 true
!(a > 3) 为 false

示例 5:逻辑运算符

#include <iostream>
using namespace std;

int main() {
    bool result;

    result = (3 != 5) && (3 < 5);     // true
    cout << "(3 != 5) && (3 < 5) is " << result << endl;

    result = (3 == 5) && (3 < 5);    // false
    cout << "(3 == 5) && (3 < 5) is " << result << endl;

    result = (3 == 5) && (3 > 5);    // false
    cout << "(3 == 5) && (3 > 5) is " << result << endl;

    result = (3 != 5) || (3 < 5);    // true
    cout << "(3 != 5) || (3 < 5) is " << result << endl;

    result = (3 != 5) || (3 > 5);    // true
    cout << "(3 != 5) || (3 > 5) is " << result << endl;

    result = (3 == 5) || (3 > 5);    // false
    cout << "(3 == 5) || (3 > 5) is " << result << endl;

    result = !(5 == 2);    // true
    cout << "!(5 == 2) is " << result << endl;

    result = !(5 == 5);    // false
    cout << "!(5 == 5) is " << result << endl;

    return 0;
}

输出:

(3 != 5) && (3 < 5) is 1
(3 == 5) && (3 < 5) is 0
(3 == 5) && (3 > 5) is 0
(3 != 5) || (3 < 5) is 1
(3 != 5) || (3 > 5) is 1
(3 == 5) || (3 > 5) is 0
!(5 == 2) is 1
!(5 == 5) is 0

上面程序详细说明:

  • (3 != 5) && (3 < 5)计算结果为1,因为操作数 (3 != 5) 和 (3 < 5) 都是 1 (true).
  • (3 == 5) && (3 < 5)计算结果为0,因为操作数 (3 == 5) 为 0 (false).
  • (3 == 5) && (3 > 5) 计算结果0,因为操作数 (3 == 5) 和 (3 > 5) 都是 0 (false).
  • (3 != 5) || (3 < 5) 计算结果1,因为操作数 (3 != 5) 和 (3 < 5) 都是 1 (true).
  • (3 != 5) || (3 > 5)计算结果1, 因为操作数 (3 != 5) 为 1 (true).
  • (3 == 5) || (3 > 5)计算结果 0,因为操作数 (3 == 5) 和 (3 > 5) 都是 0 (false).
  • !(5 == 2) 计算结果1,因为操作数 (5 == 2) 是 0 (false).
  • !(5 == 5) 计算结果0,因为操作数 (5 == 5) 是 1 (true).

5. C++ 按位运算符

在 C++ 中,按位运算符用于对单个位执行操作。它们只能与 char 和  int 数据类型一起使用。

运算符 描述
& 二进制 AND
| 二进制 OR
^ 二进制 XOR
~ 二进制补码
<< 二进制左移
>> 二进制右移

以上,若了解更多,请阅读后续教程:C++ 按位运算符


6. 其他 C++ 运算符

这是 C++ 中可用的其他一些常见运算符的汇总。我们将在后面的教程中深入了解它们:

运算符 描述 举例
sizeof 返回数据类型大小 sizeof(int); // 4
?: 根据条件返回值 string result=(5>0)?"even":"odd"; // "even"
& 表示操作数的内存地址 &num; // 变量num的内存地址
. 访问结构变量或类对象的成员 s1.marks = 92;
-> 与指针一起使用访问类或结构变量 ptr->marks = 92;
<< 打印输出值 cout << 5;
>> 获取输入值 cin >> num;

 

 

程序算法实验室 zhangJA-Lab

转载请注明:XAMPP中文组官网 » 那些年C++ 运算符

您必须 登录 才能发表评论!