📚 C++ 基础回顾 - L14 高级概念

系统复习前面所学的所有基础知识,巩固学习效果

📊 基础知识地图

💻
L1-L2
C++世界
变量与常量
🔢
L3
数据类型
sizeof运算符
L4-L5
运算符
自增自减
🔀
L6-L9
条件判断
if/switch
🔄
L10-L13
循环结构
while/for/do-while

学习路径回顾

从L1到L13,我们已经学习了C++编程的核心基础知识:

  • 输入输出:cin/cout的使用
  • 变量管理:声明、初始化、作用域
  • 数据类型:int、double、char、bool
  • 运算符:算术、关系、逻辑、赋值
  • 条件判断:if、switch及其嵌套
  • 循环控制:while、for、do-while
  • 代码规范:完整程序结构、注释

完整程序结构

#include <iostream> // 头文件 using namespace std; // 命名空间 int main() { // 主函数 // 你的代码写在这里 return 0; // 返回值 }
💡 记住这个模板!
每个C++程序都必须包含这四个部分。
这是我们编写所有代码的基础框架。

🎯 核心概念速查

变量与数据类型

#include <iostream> using namespace std; int main() { // 变量声明和初始化 int age = 18; // 整数 double score = 95.5; // 浮点数 char grade = 'A'; // 字符 bool passed = true; // 布尔值 // 常量 const double PI = 3.14159; // 输入输出 cout << "年龄:" << age << endl; cin >> age; return 0; }

运算符汇总

#include <iostream> using namespace std; int main() { int a = 10, b = 3; // 算术运算符 cout << a + b << endl; // 13 cout << a - b << endl; // 7 cout << a * b << endl; // 30 cout << a / b << endl; // 3(整除) cout << a % b << endl; // 1(取余) // 关系运算符 cout << (a > b) << endl; // 1(真) cout << (a == b) << endl; // 0(假) // 逻辑运算符 cout << (a > 5 && b < 5) << endl; // 1 cout << (a > 15 || b < 5) << endl; // 1 // 自增自减 a++; // a = 11 ++b; // b = 4 return 0; }

条件判断对比

#include <iostream> using namespace std; int main() { int score = 85; // if-else if if (score >= 90) { cout << "优秀" << endl; } else if (score >= 80) { cout << "良好" << endl; } else { cout << "加油" << endl; } // switch-case char grade = 'B'; switch (grade) { case 'A': cout << "优秀" << endl; break; case 'B': cout << "良好" << endl; break; default: cout << "其他" << endl; } return 0; }

三种循环对比

#include <iostream> using namespace std; int main() { // for循环:已知次数 for (int i = 1; i <= 5; i++) { cout << i << " "; } cout << endl; // while循环:未知次数 int j = 1; while (j <= 5) { cout << j << " "; j++; } cout << endl; // do-while:至少执行一次 int k = 1; do { cout << k << " "; k++; } while (k <= 5); cout << endl; return 0; }

💡 综合应用示例

学生成绩管理系统(综合示例)

这个程序综合运用了变量、输入输出、条件判断、循环等所有基础知识。

#include <iostream> using namespace std; int main() { int studentCount; double totalScore = 0; double maxScore = 0; double minScore = 100; cout << "请输入学生人数:"; cin >> studentCount; for (int i = 1; i <= studentCount; i++) { double score; cout << "请输入第" << i << "个学生的成绩:"; cin >> score; // 输入验证 while (score < 0 || score > 100) { cout << "成绩无效!请重新输入:"; cin >> score; } // 累加总分 totalScore += score; // 更新最高分和最低分 if (score > maxScore) { maxScore = score; } if (score < minScore) { minScore = score; } } // 计算平均分 double average = totalScore / studentCount; cout << "\n=== 统计结果 ===" << endl; cout << "平均分:" << average << endl; cout << "最高分:" << maxScore << endl; cout << "最低分:" << minScore << endl; return 0; }
🎮 互动实验:成绩计算器

输入多个成绩,自动计算统计数据

输入成绩后点击"计算"...

⚠️ 常见易错点

1. 忘记分号

// ❌ 错误 cout << "Hello" << endl // ✅ 正确 cout << "Hello" << endl; // 每句末尾加分号

2. 混淆 = 和 ==

int x = 5; // ❌ 错误:这是赋值,不是比较 if (x = 10) { ... } // ✅ 正确:使用 == 进行比较 if (x == 10) { ... }

3. switch忘记break

switch (x) { case 1: cout << "一"; break; // ✅ 不要忘记break case 2: cout << "二"; break; }

4. 死循环

// ❌ 错误:忘记更新循环变量 int i = 1; while (i <= 10) { cout << i << endl; // 忘记写 i++ } // ✅ 正确:记得更新 while (i <= 10) { cout << i << endl; i++; // 重要! }

5. 数组越界

int arr[5] = {1, 2, 3, 4, 5}; // ❌ 错误:索引从0开始,最大是4 cout << arr[5] << endl; // ✅ 正确 for (int i = 0; i < 5; i++) { cout << arr[i] << " "; }

📝 自我测试

📝 综合测试题

以下程序的输出是什么?

#include <iostream> using namespace std; int main() { int sum = 0; for (int i = 1; i <= 5; i++) { if (i % 2 == 0) { sum += i; } } cout << sum << endl; return 0; }
选择答案查看解析...
💻 编程挑战

题目:综合运用所学知识,实现一个简单的计算器。

输入数据后点击"生成代码"...