当前位置: 首页 > ai >正文

【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)
  • 逻辑运算:&&(与)、||(或)、!(非)

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

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

2. 让程序“拐弯”——流程控制

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

if / else:做选择

int x = 7;
if (x % 2 == 0)cout << "偶数";
elsecout << "奇数";

for:按次数循环

for (int i = 0; i < 10; ++i)   // 从 0 数到 9cout << i << ' ';

while:条件满足就继续

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

switch:多选一

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

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

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

写法 3 步曲

  1. 声明(告诉编译器“我有这么个函数”)
  2. 定义(真正写函数体)
  3. 调用(在 main 里用)
// 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(开始执行不调试)→ 小黑框蹦出来!
#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 世界的真正入口。

http://www.xdnf.cn/news/19017.html

相关文章:

  • 嵌入式学习 day61 DHT11、I2C
  • 数据分析编程第六步:大数据运算
  • MySQL-索引(下)
  • 【C语言初阶】指针_野指针,指针运算
  • 大白话说 AI 编程 Trae,小白进!
  • 【计算机网络】前端基础知识Cookie、localStorage、sessionStorage 以及 Token
  • 【上位机数据转换】数据结构原理及大小端
  • 0基础学智能体/工作流 从入门到精通(超详细课程)
  • Redis面试题--介绍下Redis几种集群模式
  • 序列容器(vector,deque,list)
  • 旧衣物回收小程序功能模块设计分析
  • 华为无线AC主备配置案例
  • CMake构建学习笔记22-libxml2库的构建
  • 不止于价格,DigitalOcean、AWS和Linode该选谁?
  • Vue3+TS+Element-Plus+el-tree创建树节点
  • 【2025 完美解决】Failed connect to github.com:443; Connection timed out
  • Charles打开后,Pc电脑端浏览器显示Not implemented或没有网络
  • 【计算机组成原理·信息】2数据①
  • 在 Go 项目的 DDD 分层架构中,Echo Web 框架及其 middleware 应该归属到哪一层?
  • LeetCode第二题知识点3 ----引用类型
  • 【C语言强化训练16天】--从基础到进阶的蜕变之旅:Day15
  • OpenCV的轮廓检测
  • 神经语言学与脑科学启发的NLP深层分析:从统计拟合到机制理解的范式转变
  • 基于Spring Boot的短信平台平滑切换设计方案
  • 基于Matlab实现模糊综合评价程序
  • 使用 Java 替换和修改 PDF 文本的方法
  • c++标准模板库
  • 赋能你的应用:英超实时数据接入终极指南(API vs. WebSocket)
  • mongoDB学习(docker)
  • Bert学习笔记