📘 扣哒秘籍 C++
第一课:顺序结构

欢迎来到神奇的编程世界!今天我们要打开那个神秘的“黑盒子”!

🌟 本课目录

一、解决问题 —— 我们的目标

我们学习计算机科学就是为了解决问题!来看看生活中的例子吧:

📚 1. 收发作业

问题:把全班60本作业本收起来,并按学号排好,怎么快速完成呢?

参考做法:运用快速排序的知识!从本堆中随便抽出一本,把学号比它小的本子放在左边,大的放在右边...这样就快多了!

自动排序中...
🧸 2. 玩具收纳

问题:妹妹有很多玩具,如何整理收纳呢?

参考做法:观察发现妹妹最近只玩几个特定的。我们可以专门拿一个箱子作为“缓存” (Cache),最近玩的玩具都往里放,满了再分类。这样找玩具最快!

🎮 3. 排位上分(了解即可)

问题:打王者正在连胜,忽然匹配到猪队友,打断了上分节奏。如何利用匹配算法?

参考做法:利用动态规划思维对匹配机制建模:

  • 匹配机制:连胜时往往会匹配到水平稍低或刚连败的队友。
  • 策略:一旦发现局势不对立刻“退坑”休息,打断系统的“制裁”机制。
【老师划重点】
编程不只是写代码,更重要的是学会用计算机的思维去思考如何更聪明、更偷懒地解决问题!

二、输入输出 —— 神秘黑盒子

【重点】 解决问题的方法像个神秘的黑盒子,需要从外面输入数据,解决完问题后,会输出数据到外面。

输入 (cin) 神秘黑盒子 程序处理 (a+b) 输出 (cout)
【生活小比喻】 就像榨汁机:
🍊 输入:放入水果(原料)
⚙️ 处理:机器旋转搅拌
🍹 输出:得到果汁(结果)

1. 输入数据 (cin)

cin 就像一个传送带,把数据从键盘送进程序的变量箱子里。

int a, b;
cin >> a >> b;  // 键盘输入1 2

注意箭头方向 >> 指向变量,表示把值“塞”进去。

2. 输出数据 (cout)

cout 把程序算好的结果送出来显示在屏幕上。

cout << c << endl;  // 输出 3

注意箭头方向 << 指向cout,表示数据流向屏幕。endl 是 end line 的缩写,表示换行。

三、变量常量 —— 当我写程序时,计算机发生了什么

1. 内存是一个大货架

当我们运行程序时,计算机会在内存里准备存储空间,每个空间都有唯一的地址。

0x003
10a
20b
0x002
(空闲)

💾 存储单位小知识:

  • 1B (Byte) = 8b (bit)
  • 1KB = 1024B
  • 1MB = 1024KB
  • 1GB = 1024MB (平时说的几个G流量)
  • 1TB = 1024GB (硬盘大小)

2. 变量与赋值

变量:值可以变化的量。定义一个变量(如 int a;),就像在货架上申请了一个空箱子,并给它贴上标签“a”。

赋值:把值放到箱子里。

1
int a
把数字 1 放进箱子 a
int a;  // 1. 声明:拿个空箱子,贴名为a的标签
a = 1;  // 2. 赋值:把1放进a箱子里

3. 什么是常量?

常量:就像是封死了的箱子,里面的东西放进去后就不能再修改了。比如圆周率 PI,永远是 3.14159...,不应该被改变。

四、数据类型 —— 有哪几种箱子?

不同的数据需要不同形状的箱子来装!

【为什么需要类型?】
就像你不能用纸箱装水,也不能用矿泉水瓶装大象。计算机需要知道你要存什么,才能给你准备合适大小的盒子。
🧱
int
整数
📏
float
小数
🅰️
char
字符
📜
string
一串字
类型名称 关键字 用途描述 例子
整数类型 int 表示没有小数的数字(如年龄、人数) 1, 5, 100
浮点数类型 float/double 表示有小数的数字(如身高、分数) 1.2, 3.14
字符类型 char 表示单个字符,用单引号包围 'A', 'b', '!'
字符串类型 string 表示一串字符,用双引号包围 "Hello"

五、基本结构 —— 一个平平无奇的C++程序框架

所有的C++程序都长这个样子,就像造房子的地基:

🏗️
程序积木结构
头文件 (工具箱)
命名空间 (工作台)
主函数 main() (开始工作)
语句1; 语句2; ...
// 1. 头文件:嵌入一段编好的程序,比如输入输出工具箱
#include <iostream> 

// 2. 命名空间:防止名字冲突,引用标准仓库
using namespace std;

// 3. 主函数:程序的入口,梦开始的地方
int main() {
    
    // 4. 语句块:在这里写你的指令,每句用分号结尾
    cout << "Hello World!" << endl;

    // 5. 函数返回:结束程序,返回0代表一切正常
    return 0;
}

六、顺序逻辑 —— 下课了,妈妈问我今天学了什么

【核心重点】
顺序结构就是:自上而下运行。程序像瀑布一样,一行一行接着往下执行。
int a, b;
cin >> a >> b; // 第1步
c = a + b;       // 第2步
cout << c;     // 第3步
⬇ 第1行
⬇ 第2行
⬇ 第3行

程序永远不会先执行第3行再执行第1行哦!

七、今日练习 —— 实战演练