【MFC教程】C++基础:01 小黑框跑起来

------写给纯小白的 C++「语言地基」速成课

(看完就能自己敲出一个可运行的 .exe)


0. 开场 30 秒

目标:用 Windows 自带的「小黑框」(命令行窗口)跑起一段真正属于你的 C++ 程序。

门槛:零。只要会打字、会点鼠标。


1. 把"原料"准备好------基本类型与运算

计算机只认识 0 和 1,但 C++ 贴心地给了几种"盒子"来装不同大小的数字和字符。

最常用的四个盒子:

盒子名 能装什么 占多大 举 例
int 整数 4 字节 int age = 18;
double 带小数点的数 8 字节 double pi = 3.1415;
char 单个字符 1 字节 char grade = 'A';
bool 真 / 假 1 字节 bool ok = true;

运算符号就像数学里的加减乘除,但多了一些电脑特有写法:

  • 四则运算:+ - * /
  • 整除取余:%(7 % 3 结果是 1)
  • 逻辑运算:&&(与)、||(或)、!(非)

一行代码就能让电脑帮你算:

cpp 复制代码
int n = 10 + 5 * 2;   // 先乘除后加减,n 得到 20

2. 让程序"拐弯"------流程控制

电脑很笨,只能一行一行往下读。我们用流程控制语句告诉它:"这里要绕路!"

if / else:做选择

cpp 复制代码
int x = 7;
if (x % 2 == 0)
    cout << "偶数";
else
    cout << "奇数";

for:按次数循环

cpp 复制代码
for (int i = 0; i < 10; ++i)   // 从 0 数到 9
    cout << i << ' ';

while:条件满足就继续

cpp 复制代码
int sum = 0, i = 1;
while (i <= 100) {   // 算 1+2+...+100
    sum += i;
    ++i;
}

switch:多选一

cpp 复制代码
char op = '+';
switch (op) {
    case '+': cout << "加法"; break;
    case '-': cout << "减法"; break;
    default:  cout << "未知";
}

3. 把重复代码打包------函数

函数 = 给一段代码起名字,以后喊名字就能用。

写法 3 步曲

  1. 声明(告诉编译器"我有这么个函数")
  2. 定义(真正写函数体)
  3. 调用(在 main 里用)
cpp 复制代码
// 1. 声明(通常在头文件或 main 之前)
int add(int a, int b);

// 2. 定义
int add(int a, int b) {
    return a + b;
}

// 3. 调用
int main() {
    cout << add(3, 4);   // 屏幕打印 7
}

4. 把工具箱打开------头文件 & 命名空间

头文件:拿来主义

别人写好的代码,用 #include 直接搬进来。

  • #include <iostream> 提供输入输出
  • #include <cmath> 提供数学函数 sqrt, pow ...

命名空间:防止重名

C++ 标准库里的名字都放在 std 这个抽屉里。

  • 偷懒写法:using namespace std;(整个抽屉端走)
  • 安全写法:std::cout << "Hello";(精确拿取)

5. 把源代码变成 .exe------编译模型(一张图秒懂)

复制代码
源码(.cpp) ──► 编译器 ──► 目标文件(.obj) ──► 链接器 ──► 可执行文件(.exe)
  • 编译:检查语法,翻译成机器码,生成 .obj
  • 链接:把多个 .obj 和库文件粘在一起,生成最终 .exe

在 Visual Studio 里只需 3 步

  1. 新建 → 控制台应用 → 起名叫 Hello
  2. 把下面 7 行代码粘进 Hello.cpp
  3. Ctrl + F5(开始执行不调试)→ 小黑框蹦出来!
cpp 复制代码
#include <iostream>
using namespace std;

int main() {
    cout << "Hello, 小黑框!" << endl;
    return 0;
}

常见报错及对策

报错信息 含义 怎么办
LNK2019: unresolved external symbol 声明了函数却没定义 把函数体补全
C2065: 'cout' : undeclared identifier 没包含头文件或没写 std:: #include <iostream>using namespace std;

6. 5 分钟速通清单(背下来就能出门)

  • 4 个基本盒子:int double char bool
  • 4 条流程控制:if/else for while switch
  • 3 步函数:声明 → 定义 → 调用
  • 2 个头文件:#include <iostream> #include <cmath>
  • 1 句命名空间:using namespace std;
  • 1 个快捷键:Ctrl + F5 跑出小黑框

7. 下一步

小黑框跑起来了?恭喜!你已经完成「语言地基」。

接下来回到主线,去学面向对象------类、继承、多态,它们才是 MFC 世界的真正入口。

相关推荐
88号技师7 小时前
2025年7月一区SCI优化算法-Logistic-Gauss Circle optimizer-附Matlab免费代码
开发语言·算法·数学建模·matlab·优化算法
再睡一夏就好7 小时前
【C++闯关笔记】unordered_map与unordered_set的底层:哈希表(哈希桶)
开发语言·c++·笔记·学习·哈希算法·散列表
mjhcsp7 小时前
C++ 贪心算法(Greedy Algorithm)详解:从思想到实战
c++·ios·贪心算法
potato_15547 小时前
现代C++核心特性——内存篇
开发语言·c++·学习
lly2024067 小时前
C# 继承
开发语言
August_._7 小时前
【JAVA】基础(一)
java·开发语言·后端·青少年编程
软件开发技术深度爱好者8 小时前
Python类中方法种类介绍
开发语言·python
麦麦鸡腿堡8 小时前
Java_LinkedList底层结构
java·开发语言
沐怡旸8 小时前
【穿越Effective C++】条款13:以对象管理资源——RAII原则的基石
c++·面试
whatever who cares8 小时前
android/java中gson的用法
android·java·开发语言