
课程目标
- 理解变量的概念和作用
- 掌握四种基本数据类型
- 学会使用常量
- 掌握标识符命名规则
- 能够用变量存储和操作信息
第一部分:变量------数据的"盒子"(30分钟)
1.1 什么是变量?
盒子比喻:
- 变量就像贴了标签的储物盒
- 变量名 = 盒子的标签(如"年龄盒子")
- 数据类型 = 盒子的类型(如"数字盒"、"文字盒")
- 值 = 盒子里的内容(如12、"小明")
1.2 为什么需要变量?
没有变量的困境:
cpp
// 只能计算固定的值
cout << 10 + 5 << endl; // 永远输出15
有变量的便利:
cpp
// 可以计算变化的值
int score = 10;
cout << score + 5 << endl; // 如果score改变,结果也会变
1.3 变量的声明和初始化
声明变量: 告诉计算机"我要一个盒子"
cpp
int age; // 声明一个整数变量
double height; // 声明一个小数变量
char grade; // 声明一个字符变量
初始化变量: 往盒子里放东西
cpp
// 方法1:先声明,后赋值
int age;
age = 12;
// 方法2:声明同时赋值(推荐)
int age = 12;
第二部分:基本数据类型(40分钟)
2.1 整数类型(int)
用途: 存储没有小数部分的数字
cpp
int age = 12;
int score = 100;
int temperature = -5;
特点:
- 可以是正数、负数或零
- 不能有小数点
2.2 浮点数类型(double)
用途: 存储有小数部分的数字
cpp
double height = 1.65;
double weight = 45.5;
double pi = 3.14159;
特点:
- 可以表示小数
- 精度比float更高(推荐使用double)
2.3 字符类型(char)
用途: 存储单个字符
cpp
char grade = 'A';
char firstLetter = 'Z';
char symbol = '+';
重要规则:
- 必须用单引号
''括起来 - 只能放一个字符
2.4 布尔类型(bool)
用途: 表示真或假
cpp
bool isSunny = true;
bool isRaining = false;
bool hasHomework = true;
实际值:
true= 真 = 1false= 假 = 0
2.5 数据类型总结表
| 类型 | 含义 | 例子 | 用途 |
|---|---|---|---|
int |
整数 | 12, -5, 100 |
年龄、分数、数量 |
double |
小数 | 3.14, 1.65, -2.5 |
身高、体重、温度 |
char |
字符 | 'A', '1', '+' |
等级、符号、字母 |
bool |
布尔 | true, false |
是否、开关、状态 |
第三部分:标识符命名规则(20分钟)
3.1 什么是标识符?
标识符就是给变量、常量等起的名字
3.2 命名规则(必须遵守)
允许的字符:
- 字母(A-Z, a-z)
- 数字(0-9)
- 下划线(_)
规则:
- 不能以数字开头
- 不能是C++关键字(如int, double, if等)
- 区分大小写
例子:
cpp
// 正确的命名
int age;
double studentHeight;
char first_name;
bool isPassed;
// 错误的命名
int 2age; // 错误:数字开头
double double; // 错误:关键字
char first-name; // 错误:包含减号
3.3 好的命名习惯(建议遵守)
清晰有意义:
cpp
// 好的命名
int studentAge;
double examScore;
bool isHomeworkDone;
// 不好的命名
int a; // 太简单,不知道什么意思
double x1; // 没有意义
bool f; // 不清楚表示什么
命名风格:
- 驼峰命名法:
studentAge,totalScore - 下划线命名法:
student_age,total_score
第四部分:常量(15分钟)
4.1 什么是常量?
常量就是值不能改变的变量
比喻: 像刻在石头上的字,一旦写好就不能修改
4.2 定义常量
使用 const 关键字
cpp
const double PI = 3.14159;
const int MAX_SCORE = 100;
const char SCHOOL_CODE = 'A';
4.3 为什么要用常量?
- 防止意外修改
- 提高代码可读性
- 便于统一修改
例子对比:
cpp
// 没有常量:魔法数字,难以理解
area = 3.14159 * radius * radius;
// 使用常量:意义明确
const double PI = 3.14159;
area = PI * radius * radius;
第五部分:综合示例与练习(25分钟)
5.1 完整示例:学生信息管理
cpp
#include <iostream>
using namespace std;
int main() {
// 学生信息变量
const char CLASS_GRADE = 'B'; // 班级等级(常量)
string studentName = "小明"; // 学生姓名
int age = 12; // 年龄
double height = 1.65; // 身高(米)
char bloodType = 'O'; // 血型
bool isBoarder = true; // 是否住宿
// 输出学生信息
cout << "=== 学生信息卡 ===" << endl;
cout << "姓名:" << studentName << endl;
cout << "年龄:" << age << "岁" << endl;
cout << "身高:" << height << "米" << endl;
cout << "血型:" << bloodType << "型" << endl;
cout << "班级等级:" << CLASS_GRADE << "班" << endl;
cout << "住宿情况:" << (isBoarder ? "是" : "否") << endl;
return 0;
}
5.2 变量运算示例
cpp
#include <iostream>
using namespace std;
int main() {
// 数学运算
int mathScore = 95;
int englishScore = 88;
int totalScore = mathScore + englishScore;
double averageScore = totalScore / 2.0;
cout << "数学成绩:" << mathScore << endl;
cout << "英语成绩:" << englishScore << endl;
cout << "总分:" << totalScore << endl;
cout << "平均分:" << averageScore << endl;
// 变量值修改
mathScore = 98; // 数学成绩提高了
cout << "新的数学成绩:" << mathScore << endl;
return 0;
}
练习与作业
基础练习(必做)
练习1:个人信息管理
创建一个程序,存储并输出你的个人信息:
- 姓名(字符串)
- 年龄(整数)
- 身高(小数)
- 最喜欢的字母(字符)
- 是否喜欢编程(布尔)
练习2:简单计算器
编写程序计算两个数的和、差、积、商:
cpp
int a = 15;
int b = 3;
// 计算并输出 a+b, a-b, a*b, a/b 的结果
练习3:常量应用
定义以下常量,并用它们计算:
- 圆周率 PI = 3.14
- 重力加速度 G = 9.8
- 最大年龄 MAX_AGE = 18
计算半径为5的圆的面积和周长。
挑战练习(选做)
挑战1:数据类型转换
尝试不同类型变量之间的赋值,观察会发生什么:
cpp
int a = 10;
double b = a; // 整数赋值给小数
char c = 'A';
int d = c; // 字符赋值给整数
挑战2:变量交换
编写程序交换两个变量的值:
cpp
int x = 5, y = 10;
// 交换后:x=10, y=5
挑战3:单位转换
编写程序进行单位转换:
- 将英寸转换为厘米(1英寸=2.54厘米)
- 将华氏度转换为摄氏度(C = (F-32)×5/9)
实验任务
任务1:命名规则验证
尝试以下命名,记录哪些可以通过编译:
cpp
int 2things; double student-name;
char what?; bool is_correct;
int main; double π;
任务2:常量测试
尝试修改常量的值,观察会发生什么:
cpp
const int MAX = 100;
MAX = 200; // 这行会发生什么?
任务3:变量范围探索
测试变量的取值范围:
cpp
int bigNumber = 3000000000; // 会发生什么?
double verySmall = 0.0000000000000000001;
常见错误与调试
常见错误类型
1. 未初始化变量
cpp
int score;
cout << score; // 错误:score没有初始值
2. 类型不匹配
cpp
int age = "12"; // 错误:字符串不能赋给整数
3. 命名错误
cpp
int student age; // 错误:变量名不能有空格
4. 修改常量
cpp
const int MAX = 100;
MAX = 200; // 错误:常量不能修改
调试技巧
- 逐行检查:确认每行代码的意思
- 输出中间结果:用cout显示变量的当前值
- 注释大法:暂时注释掉有问题的代码
学习总结
今天学到了:
- ✅ 变量:存储数据的命名容器
- ✅ 四种基本数据类型:int, double, char, bool
- ✅ 常量:值不可变的变量
- ✅ 命名规则:标识符的命名规范
- ✅ 变量操作:声明、赋值、使用
关键概念回顾:
- 变量声明 :
数据类型 变量名; - 变量赋值 :
变量名 = 值; - 常量定义 :
const 数据类型 常量名 = 值; - 命名规则:字母/数字/下划线,不以数字开头,不是关键字
下一课预告:
下一节课我们将学习基本的输入与输出,让程序能够与用户交互,从键盘读取数据!