C++中的运算符总结(1)

C++中的运算符总结(1)

运算符是 C++提供的工具,让您能够使用数据:对其进行变换、处理甚至根据数据做决策。

1、赋值运算符(=)

赋值运算符的用法比较直观:

int daysInYear = 365;

上述语句使用赋值运算符将一个 int 变量初始化为 365。赋值运算符将左边的操作数的值(左值)替换为右边的操作数的值(右值)。

2、理解左值和右值

左值通常是内存单元。在前面的示例中,变量 daysInYear 实际上指向一个内存单元,属于左值。另一方面,右值可以是内存单元的内容。
因此,所有的左值都可用作右值,但并非所有的右值都可用作左值。为更好地理解这一点,请看下面的示例,这行代码不合理,不能通过编译:

365 = daysInYear;

3、加法运算符( +)、减法运算符( -)、乘法运算符( *)、除法运算符( /)和求模运算符( %)

可对两个操作数执行算术运算:使用 + 相加、使用 - 相减、使用 * 相乘、使用 / 相除、使用%求模:

int num1 = 22;
int num2 = 5;
int addNums = num1 + num2; // 27
int subtractNums = num1 – num2; // 17
int multiplyNums = num1 * num2; // 110
int divideNums = num1 / num2; // 4
int moduloNums = num1 % num2; // 2

除法运算符( /)返回两个数相除的结果。然而,如果两个操作数都是整数,结果将不包含小数,因为根据定义,整数不能包含小数。求模运算符( %)返回除法运算的余数,只能用于整数。以下是一个简单的应用程序,演示了如何对用户输入的两个数字执行各种算术运算:

#include 
using namespace std;

int main()
{
    cout << "Enter two integers:" << endl;
    int num1 = 0, num2 = 0;
    cin >> num1;
    cin >> num2; 

    cout << num1 << " + " << num2 << " = " << num1 + num2 << endl;
    cout << num1 << " - " << num2 << " = " << num1 - num2 << endl;
    cout << num1 << " * " << num2 << " = " << num1 * num2 << endl;
    cout << num1 << " / " << num2 << " = " << num1 / num2 << endl;
    cout << num1 << " % " << num2 << " = " << num1 % num2 << endl;

    return 0;
}

输出:

Enter two integers:
365
25
365 + 25 = 390
365 - 25 = 340
365 * 25 = 9125
365 / 25 = 14
365 % 25 = 15

分析:

这个程序的大部分代码的含义都是不言自明的。最有趣的代码可能是使用求模运算符( %)的那行,它返回 num1( 365)与 num2( 25)相除的余数。

4、递增运算符( ++)和递减运算符( --)

有时需要将变量加 1,尤其是控制循环的变量:每次执行循环时,都需要将这种变量的值递增或递减。
为帮助您完成这种任务, C++提供了递增运算符( ++)和递减运算符( --)。

这些运算符的使用语法如下:

int num1 = 101;
int num2 = num1++; // Postfix increment operator
int num2 = ++num1; // Prefix increment operator
int num2 = num1--; // Postfix decrement operator
int num2 = --num1; // Prefix decrement operator

从上述示例代码可知,使用递增和递减运算符的方式有两种:放在操作数的前面或放在操作数的后面。放在操作数前面时,称为前缀递增或递减运算符;而放在操作数后面时,称为后缀递增或递减运算符。

该文章会更新,欢迎大家批评指正。

推荐一个零声学院免费公开课程,个人觉得老师讲得不错,
分享给大家:Linux,Nginx,ZeroMQ,MySQL,Redis,
fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,
TCP/IP,协程,DPDK等技术内容,点击立即学习:
服务器课程:C++服务器

你可能感兴趣的:(C++编程基础,c++)