1. 数据与数据类型
1.1 数据类型
- 定义:程序设计语言中变量的数据种类。
- 作用:
- 计算机:决定变量内存分配大小。
- 用户:明确数据含义。
- C++数据类型分类:
- 基本类型:
类型 说明 字节数 示例 short短整型 2 -100, 0int整型 4 1, -101long长整型(32位:4;64位:8) 4/8 100000Lfloat单精度浮点型 4 1.1f, -2.3fdouble双精度浮点型 8 3.1415char字符型 1 'a', '\n'bool布尔型 1 true, false - 构造类型:由基础类型组合而成(内存大小自定义)
- 数组:同类型元素集合(
int arr[5];) - 结构体:不同类型元素集合(
struct {int id; char name;};) - 共用体:共用内存空间的不同类型元素
- 枚举:限定范围的值(
enum Color {RED, GREEN};)
- 数组:同类型元素集合(
- 指针类型:存储内存地址(
int* p;) - 空类型:
void(用于函数返回值/指针)
- 基本类型:
1.2 常量
- 定义:程序运行中不可改变的量(如身份证号)。
- 分类:
- 整型常量:
123, -5 - 浮点型常量:
- 单精度(
float):以f或F结尾(1.11f) - 双精度(
double):默认类型(3.14)
- 单精度(
- 字符常量:单引号包裹(
'a'),转义字符除外('\n') - 字符串常量:双引号包裹(
"abc")
- 整型常量:
- 输出方式:
- C++:
std::cout << 1 << 'a' << "abc"; - C语言:使用占位符(
printf("%d %c %s", 1, 'a', "abc");)类型 占位符 示例 int%dprintf("%d", 1);float%f/%gprintf("%f", 1.1f);double%lf/%lgprintf("%lf", 1.1);char%cprintf("%c", 'a');字符串 %sprintf("%s", "abc");
- C++:
1.3 变量
- 定义:程序运行中可改变的量。
- 标识符规则:
- 由字母、数字、下划线组成,首字符非数字。
- 区分大小写(
Fun ≠ fun)。 - 不可为关键字(如
int, return)。
- 命名规范:
- 望文生义(如
studentAge)。 - 驼峰命名(如
fuseName)。
- 望文生义(如
- 变量定义:cpp
int a; // 格式1:声明单变量 float b, c; // 格式2:声明同类型多变量(不推荐) - 初始化:cpp
int value = 2; // 定义时初始化(推荐) int x; x = 10; // 先定义后赋值- 未初始化风险:内存中为随机值(“垃圾数据”)。
- 输入输出:
- C++:cpp
std::cin >> num; // 输入 std::cout << num; // 输出 - C语言:cpp
scanf("%d", &num); // 输入(需取地址符&) printf("%d", num); // 输出 - 缓冲区问题:
- 输入空格会截断(
123 456→ 只读123)。 - 清空缓冲区方法:cpp
setbuf(stdin, NULL); // 通用方法 scanf("%*[^\n]%*c"); // 正则表达式清空
- 输入空格会截断(
- C++:
1.4 常变量
- 用
const修饰,初始化后不可修改:cppconst int MAX = 100; MAX = 200; // 错误!常变量不可重新赋值
1.5 注释与代码规范
- 注释类型:
- 单行:
// 解释文本 - 多行:
/* 注释内容 */
- 单行:
- 嵌套规则:
- 单行可嵌套多行注释:
// /* 示例 */ - 多行不可嵌套多行:
/* /* 错误 */ */
- 单行可嵌套多行注释:
- 代码规范:
- 一行一条语句。
- 同级代码对齐。
- 运算符两侧加空格(
a = b + c;)。
