在 C++ 里,赋值运算符用于给变量赋予一个新的值,其基本形式为 =。赋值运算符的左边是一个左值(通常是变量),右边是一个表达式,该表达式的值会被赋给左边的变量。
以下是赋值运算符的一些常见用法:
1. 简单赋值
cpp
int num;num = 10; // 将整数 10 赋值给变量 num
2. 连续赋值
cpp
int a, b, c;a = b = c = 5; // 先将 5 赋给 c,再将 c 的值赋给 b,最后将 b 的值赋给 a
3. 复合赋值
C++ 还提供了复合赋值运算符,如 +=、-=、*=、/=、%= 等,它们是赋值运算符和算术运算符的组合。
cpp
int num = 5;num += 3; // 等同于 num = num + 3,执行后 num 的值为 8
第三者变量传值
cpp
#include <iostream>
#include <cstdio>
using namespace std;
int main() {
// 定义两个整数变量 a 和 b,用于存储用户输入的值
int a, b;
// 定义一个临时变量 c,用于交换 a 和 b 的值
int c;
// 提示用户输入两个整数
cout << "请输入两个整数,用空格分隔: ";
// 从标准输入读取两个整数到变量 a 和 b 中
cin >> a >> b;
// 使用临时变量 c 交换 a 和 b 的值
c = a;
a = b;
b = c;
// 输出交换后的 a 和 b 的值
cout << "交换后的结果是: " << a << " " << b << endl;
return 0;
}
算术运算符
加法运算符(+) 加法运算符(+)用于将两个数字相加,例如:
cpp
int a = 1 + 2; // a 的值为 3
减法运算符(-) 减法运算符(-)用于将一个数字减去另一个数字,例如:
cpp
int a = 2 - 1; // a 的值为 1
乘法运算符() 乘法运算符()用于将两个数字相乘,例如:
cpp
int a = 2 * 3; // a 的值为 6
除法运算符(/) 除法运算符(/)用于将一个数字除以另一个数字,例如:
cpp
int a = 6 / 2; // a 的值为 3
需要注意的是,在 C++ 中,两个整数相除得到的结果也是整数,即会向下取整。如果希望得到精确的小数结果,可以将其中一个数字转换为浮点数类型。
取模运算符(%) 取模运算符(%)用于将一个数字除以另一个数字,并返回余数,例如:
cpp
int a = 6 % 4; // a 的值为 2
plaintext
5 % 3 = 2
4 % 2 = 0
2 % 4 = 2
1 % 3 = 1
结论:小的数取余大的数结果是小的数
取模运算符的操作数必须是整数,不能是浮点数。
%和/的特殊用法
在 C++ 里,对于一个整数而言, / 10 操作相当于去掉该数的个位数字, % 10 操作则是获取这个数的个位数字。 借助这两个操作,我们能够逐位分离出一个整数的每一位数字。下面的代码实现了输入一个四位数,然后输出这个四位数各个数位之和的功能。
cpp
#include <iostream>
#include <cstdio>
using namespace std;
int main() {
// 定义变量 n 用于存储输入的四位数
int n;
// 定义变量 g, s, b, q 分别用于存储个位、十位、百位、千位数字
int g, s, b, q;
// 提示用户输入一个四位数
cout << "请输入一个四位数: ";
// 从标准输入读取一个四位数到变量 n 中
cin >> n;
// 分离出个位数字
g = n % 10;
n /= 10;
// 分离出十位数字
s = n % 10;
n /= 10;
// 分离出百位数字
b = n % 10;
n /= 10;
// 此时 n 即为千位数字
q = n;
// 计算并输出各个数位数字之和
cout << "这个四位数各个数位数字之和是: " << g + s + b + q << endl;
return 0;
}
作业代码
// 001. C++基础学习
// A题目
#include <iostream>
#include <cstdio>
using namespace std;
int a, b;
int main(){
cin >> a >> b;
cout << a + b;
return 0;
}
// B题目
#include <iostream>
#include <cstdio>
using namespace std;
int n, g, s, b, t;
int main(){
cin >> n;
g = n % 10;
s = n / 10 % 10;
b = n / 100 % 10;
t = g * 100 + s * 10 + b;
cout << n + t;
return 0;
}
// C题目
#include <iostream>
#include <cstdio>
using namespace std;
int a, b;
int main(){
cin >> a >> b;
cout << a / b << " " << a % b;
return 0;
}
// D题目
#include <iostream>
#include <cstdio>
using namespace std;
int n;
int main(){
cin >> n;
cout << n % 10 + n / 10 % 10;
return 0;
}
有话要说...