变量与运算¶
变量类型¶
变量用来存放数据,存什么样的数据,要选择对应的类型。
C++ 的变量类型有很多种,我们学习必要的几种。
整型,存放整数
整数较大,int 放不下时,可以考虑 long long。
浮点型,可以存放小数
字符类型,存放一个字符,这里先存英文字母、数字、符号,用单引号括起来
布尔类型,表示真(true)或假(false)
常用场景举例:
变量的赋值¶
int 是类型,x 是变量名,定义时给它一个初始值 10,叫作初始化。
= 是赋值,先算右边,再把结果存到左边的变量里。
这里不是数学里的等式。判断是否相等,用 ==,后面讲。
变量使用前,要有确定的值。
写在函数里的 int x; 不会自动变成 0。要先赋值,或者通过 cin 输入,再参与计算。
变量的运算¶
常用的运算符号
| 符号 | 运算 | 例子 |
|---|---|---|
+ |
加 | 3 + 2 得到 5 |
- |
减 | 3 - 2 得到 1 |
* |
乘 | 3 * 2 得到 6 |
/ |
除 | 6 / 2 得到 3 |
% |
取余,只适用于整数 | 7 % 3 得到 1 |
除法和取余,除数都不能是 0。
先乘、除、取余,再加、减;同一级的这些运算,按从左到右的顺序结合。有括号,先算括号里的。
取余经常用来判断整除、奇偶:n % 3 == 0 表示 n 能被 3 整除,n % 2 == 0 表示 n 是偶数。
运算简写
x += 2; // 相当于 x = x + 2;
x -= 2; // 相当于 x = x - 2;
x *= 2; // 相当于 x = x * 2;
x /= 2; // 相当于 x = x / 2;
x %= 2; // 相当于 x = x % 2;
整数除以整数¶
整数除以整数,会舍去商的小数部分,不是四舍五入。
如何得到小数结果¶
做除法之前,让至少一个参与除法的数变成 double。
也可以转换类型:
注意转换的时机:
x / y * 1.0 也晚了,前面的整数除法已经把小数部分舍去了。
double 可以存放小数,但许多小数只能近似存储。
小数转整数¶
如果计算结果是小数,想取整数部分,怎么办呢?
也可以在输出时转换:
负数也一样,-1.5 转成 int 得到 -1。这也是向 0 取整,不是四舍五入。
类型能存放的数有范围,计算结果和转换后的值都不能超出对应类型的范围。
常用变量命名¶
变量命名,十分重要。
有一些名字,做题时经常这样用,咱们先保持一致,方便他人阅读你的代码。
有一些变量命名,是特殊情况,我们用英文简写,这样可提高代码的可读性。
切忌使用奇奇怪怪的命名,搞得代码不对电脑加密,代码对人“加密”。
变量名可以使用字母、数字、下划线,但不能以数字开头,不能使用 int、double 这样的关键字。
大小写有区别,a 和 A 是两个名字。
通用命名
这些变量命名,把名字抄一遍,都要熟悉。
| 变量名称 | 单词全拼 | 使用场景 |
|---|---|---|
a, b, c |
通用变量名,也常用来给数组命名 | |
n, m |
n 个数,n 行 m 列 | |
x, y |
未知数,坐标,行列坐标 | |
maxn, minn |
最大值、最小值(maxn 也常表示数组容量上限) |
|
i, j, k |
for 循环结构使用 | |
last |
上一个访问的元素 | |
ans |
answer | 答案 |
ret |
result | 答案 |
cnt |
count | 计数器,int cnt = 0;(注意初始化成0) |
sum |
summation | 求和,int sum = 0;(注意初始化成0) |
num |
number | 数字 |
tmp |
temporary | 存储临时数据 |
s |
string | 字符串 |
c |
char | 字符 |
pos |
position | 位置 |
dis |
distance | 距离 |
cur |
current | 当前的 |
now |
当前的 | |
st |
start | 开始 |
ed |
end | 结束 |