变量与基础类型
大约 2 分钟
以下所有描述的都指当前比赛环境。
常见数据类型/变量类型
有符号整数 | 无符号整数 | |
---|---|---|
int ,signed , | unsigned ,unsigned int | |
long long | unsigned long long |
- 小数(浮点数):
- 单精度:
float
- 双精度:
double
- 扩展精度:
long double
- 单精度:
- 字符:
char
- 布尔:
bool
- 字符串:
string
变量定义规则
变量定义方法:
int a; //变量类型 变量名;
int b = 0; //变量类型 变量名 = 初始值;
int c, d, e;//变量类型 变量名1, 变量名2, 变量名3;
变量命名规则:
- 字母或下划线开头
- 只能包含字母、数字、下划线
- 不能是 C++ 关键字
数据类型对应的范围
- bit:位(
个二进制位),计算机储存的最小单位 - Byte:字节(
个连续的二进制位),计算机储存的基本单位 - 换算方法
B(Byte) = bits KB(KiB) = B( B) MB(MiB) = KB GB(GiB) = MB TB(TiB) = GB PB(PiB) = TB
数据类型名 | 内容(一般情况) | 占用内存大小 | 能储存的范围 | scanf /printf 标识符(g++) |
---|---|---|---|---|
int /signed | 32 位整数 | 4 Bytes | 约 | %d /%d |
long long | 64 位整数 | 8 Bytes | 约 | %lld /%lld |
char | 字符 | 1 Byte | 至少能储存 常见范围为 | %c /%c |
float | 单精度浮点数 | 4 Bytes | 有效数字 | %f /%f |
double | 双精度浮点数 | 8 Bytes | 有效数字 | %lf /%f |
unsigned int | 无符号 32 位整数 | 4 Bytes | 约 | %u /%u |
unsigned long long | 无符号 64 位整数 | 8 Bytes | 约 | %llu /%llu |
类型转换
- 用一个目标类型的数参与运算(必须是更优先的类型):
1.0 * a
1LL * a
(默认情况下1
为int
类型,在后面加上ll
或LL
可以得到一个long long
类型的1
)
- 存入一个目标类型的变量:
char c = 'a' - 32;
- 用
(type)
前缀,这个前缀会把紧跟着的数变为type
类型。(double)p / q
(char)('a' - 32)