目标读者:从未接触过编程或刚接触编程的小白
目标效果:学完本框架后,能独立编写基础C++程序,理解核心语法,为后续深入学习(如数据结构、算法、面向对象)打下坚实基础。
学习建议:边看边敲代码,动手实践是掌握编程的唯一途径!


🧱 第一章:初识C++ —— 编程世界的起点

1.1 什么是C++?

  • 通俗解释

  • C++ 是一门功能强大、应用广泛的编程语言。它由C语言发展而来,既能写底层系统程序(如操作系统),也能开发大型软件(如游戏、图形界面)。它的特点是高效、灵活、贴近硬件

  • 类比: 如果把编程比作盖房子,C++就像是一套完整的建筑工具箱:有锤子、锯子、电钻……你可以用它搭建任何你想要的结构。

  • 应用场景

    • 游戏开发(如《英雄联盟》)
    • 操作系统(如Windows部分模块)
    • 高性能计算(如金融交易系统)
    • 嵌入式设备(如智能手表)

1.2 第一个C++程序:“Hello, World!”

✅ 代码示例:
#include <iostream>
using namespace std;

int main() {
    cout << "Hello, World!" << endl;
    return 0;
}
🔍 逐行解释:
代码 含义
#include <iostream> 引入“输入输出流”库,让程序能打印文字
using namespace std; 使用标准命名空间,简化代码(暂时记住这句话)
int main() 主函数——程序的入口,所有代码从这里开始执行
{ } 大括号包裹函数体,表示代码块
cout << "Hello, World!" << endl; 打印文字到屏幕,endl表示换行
return 0; 表示程序正常结束
💡 小贴士:
  • 每个C++程序必须有且只有一个 main() 函数
  • cout 是“控制台输出”的缩写,读作“see-out”。
  • << 是“插入运算符”,把右边的内容“插入”到输出流中。

1.3 如何运行C++程序?

🛠️ 工具推荐(小白友好):
  1. 在线编译器(无需安装):
    • https://www.onlinegdb.com
    • https://replit.com
  2. 本地IDE(推荐长期使用):
    • Code::Blocks(轻量,适合新手)
    • Dev-C++(简单易用)
    • Visual Studio Code + C++插件(进阶选择)
📝 操作步骤(以在线编译器为例):
  1. 打开网站
  2. 选择“C++”语言
  3. 粘贴代码
  4. 点击“Run”按钮
  5. 查看输出结果

🔢 第二章:变量与数据类型 —— 存储信息的“盒子”

2.1 什么是变量?

  • 通俗解释: 变量就像是一个“带标签的盒子”,你可以把数据(如数字、文字)放进去,以后通过标签名找到它。

  • 例子

int age = 18;
  • 这表示:创建一个叫 age 的盒子,类型是整数(int),里面放了数字 18。


2.2 常见数据类型

类型 名称 范围 示例
int 整数 -21亿 ~ 21亿 int score = 95;
float 单精度浮点数 小数,约6位精度 float price = 9.99;
double 双精度浮点数 小数,约15位精度 double pi = 3.1415926;
char 字符 单个字母或符号 char grade = 'A';
bool 布尔值 truefalse bool isPass = true;
string 字符串 一串文字(需 #include <string> string name = "小明";
✅ 代码示例:
#include <iostream>
#include <string>  // 使用string必须包含这个头文件
using namespace std;

int main() {
    int age = 20;
    double height = 1.75;
    char initial = 'Z';
    bool isStudent = true;
    string name = "张三";

    cout << "姓名:" << name << endl;
    cout << "年龄:" << age << endl;
    cout << "身高:" << height << "米" << endl;
    cout << "首字母:" << initial << endl;
    cout << "是否学生:" << isStudent << endl; // true显示为1,false为0

    return 0;
}
⚠️ 注意事项:
  • 变量名不能以数字开头,不能包含空格或特殊符号(如@#)。
  • 推荐使用驼峰命名法:如 studentName, totalScore
  • string 不是基本类型,是C++标准库提供的类,所以需要 #include <string>

➕ 第三章:运算符与表达式 —— 让数据“动”起来

3.1 算术运算符

运算符 含义 示例
+ 加法 5 + 3 → 8
- 减法 5 - 3 → 2
* 乘法 5 * 3 → 15
/ 除法 5 / 2 → 2(整数除法)
% 取余 5 % 2 → 1
✅ 代码示例:
#include <iostream>
using namespace std;

int main() {
    int a = 10, b = 3;
    cout << "a + b = " << a + b << endl;
    cout << "a - b = " << a - b << endl;
    cout << "a * b = " << a * b << endl;
    cout << "a / b = " << a / b << endl;   // 结果是3,不是3.333
    cout << "a % b = " << a % b << endl;   // 10除以3余1

    // 想要小数结果?用double
    double x = 10.0, y = 3.0;
    cout << "x / y = " << x / y << endl;   // 3.333...

    return 0;
}
💡 提示:
  • 整数除法会自动舍去小数部分,要得到小数,至少一个操作数是 doublefloat

3.2 赋值运算符

运算符 示例 等价于
= a = 5 a赋值为5
+= a += 3 a = a + 3
-= a -= 2 a = a - 2
*= a *= 2 a = a * 2
/= a /= 2 a = a / 2
int a = 10;
a += 5;  // a变成15
a *= 2;  // a变成30

3.3 比较运算符(返回true/false)

运算符 含义
== 等于
!= 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
cout << (5 == 5) << endl;  // 1 (true)
cout << (5 != 3) << endl;  // 1 (true)
cout << (5 > 10) << endl;  // 0 (false)

3.4 逻辑运算符

运算符 含义 示例
&& (5>3) && (2<4) → true
` `
! !(5==3) → true
bool isAdult = (age >= 18);
bool hasTicket = true;
if (isAdult && hasTicket) {
    cout << "可以入场!" << endl;
}

🔄 第四章:流程控制 —— 让程序“做决定”

4.1 if-else 语句:条件判断

#include <iostream>
using namespace std;

int main() {
    int score = 85;

    if (score >= 90) {
        cout << "优秀!" << endl;
    }
    else if (score >= 70) {
        cout << "良好!" << endl;
    }
    else {
        cout << "加油!" << endl;
    }

    return 0;
}
🔍 语法结构:
if (条件) {
    // 条件为真时执行
} else if (另一个条件) {
    // 第二个条件为真时执行
} else {
    // 都不满足时执行
}

4.2 switch 语句:多分支选择

适用于等值判断(比如菜单选择)

int choice = 2;
switch (choice) {
    case 1:
        cout << "你选择了苹果" << endl;
        break;
    case 2:
        cout << "你选择了香蕉" << endl;
        break;
    case 3:
        cout << "你选择了橙子" << endl;
        break;
    default:
        cout << "无效选择" << endl;
        break;
}
⚠️ 注意:
  • 每个 case 后面要加 break;,否则会“穿透”执行下一个case。
  • default 是可选的,表示“其他情况”。

4.3 for 循环:重复执行

// 打印1到5
for (int i = 1; i <= 5; i++) {
    cout << i << " ";
}
// 输出:1 2 3 4 5
🔍 语法:
for (初始化; 条件; 更新) {
    // 循环体
}
  • i++ 表示 i = i + 1

4.4 while 循环:条件满足就继续

int i = 1;
while (i <= 5) {
    cout << i << " ";
    i++;
}
💡 区别:
  • for 适合已知次数的循环
  • while 适合未知次数,靠条件判断

4.5 do-while 循环:先做一次,再判断

int i = 1;
do {
    cout << i << " ";
    i++;
} while (i <= 5);
💡 特点:
  • 至少执行一次,即使条件不满足。

📦 第五章:函数 —— 代码的“工具箱”

5.1 什么是函数?

  • 通俗解释: 函数就像一个“工具”,你给它输入(参数),它帮你处理并返回结果(返回值)。

  • 例子

int add(int a, int b) {
    return a + b;
}

5.2 定义与调用函数

#include <iostream>
using namespace std;

// 函数定义:计算两数之和
int add(int num1, int num2) {
    int result = num1 + num2;
    return result;
}

int main() {
    int x = 5, y = 3;
    int sum = add(x, y);  // 调用函数
    cout << "和为:" << sum << endl;
    return 0;
}
🔍 语法:
返回类型 函数名(参数列表) {
    // 函数体
    return 返回值;
}

5.3 无返回值函数(void)

void greet(string name) {
    cout << "你好," << name << "!" << endl;
}

int main() {
    greet("小明");  // 输出:你好,小明!
    return 0;
}
  • void 表示“无返回值”。

🧩 第六章:数组 —— 批量存储数据

6.1 一维数组

// 定义一个能存5个整数的数组
int scores[5] = {85, 92, 78, 96, 88};

// 访问元素(下标从0开始)
cout << scores[0] << endl;  // 第一个:85
cout << scores[4] << endl;  // 最后一个:88

// 遍历数组
for (int i = 0; i < 5; i++) {
    cout << "第" << i+1 << "个成绩:" << scores[i] << endl;
}
⚠️ 注意:
  • 数组大小必须是常数,不能是变量(除非用动态数组)。
  • 下标从 0 开始,最大是 大小-1

🧠 第七章:指针(进阶,可先理解概念)

7.1 什么是指针?

  • 通俗解释: 指针是一个“地址”,它存储的是变量在内存中的位置,而不是变量本身。
int age = 20;
int* ptr = &age;  // ptr指向age的地址

cout << "age的值:" << age << endl;        // 20
cout << "age的地址:" << &age << endl;     // 类似 0x7fff...
cout << "ptr的值:" << ptr << endl;        // 同上
cout << "ptr指向的值:" << *ptr << endl;   // 20(解引用)
🔑 关键符号:
  • &:取地址
  • *:解引用(取指针指向的值)

🧱 第八章:结构体(自定义数据类型)

struct Student {
    string name;
    int age;
    double score;
};

int main() {
    Student s1;
    s1.name = "李四";
    s1.age = 19;
    s1.score = 87.5;

    cout << s1.name << " 年龄:" << s1.age << " 成绩:" << s1.score << endl;
    return 0;
}
  • struct 可以把多个不同类型的数据组合在一起。

📚 学习路线建议(小白版)

阶段 内容 建议时间
第1周 环境搭建、Hello World、变量、数据类型 5-7天
第2周 运算符、if/else、循环 5-7天
第3周 函数、数组 5-7天
第4周 指针、结构体、综合练习 7-10天

🎯 最后建议

  1. 每天动手写代码,哪怕只有10行。
  2. 不要死记硬背,理解逻辑更重要。
  3. 遇到错误别怕,编译器报错是你的“老师”。
  4. 多做小项目:如计算器、学生成绩管理系统。
  5. 善用搜索引擎C++ 如何定义数组cout 不换行怎么办

你已经掌握了C++的核心骨架!

接下来可以学习:

  • 面向对象编程(类与对象)
  • STL(标准模板库)
  • 文件操作
  • 数据结构与算法

📌 本文总结:这是一份从零开始、循序渐进、代码齐全的C++学习框架,专为小白设计。只要按步骤学习并动手实践,你一定能学会C++!

🌟 记住:每一个编程高手,都是从 Hello, World! 开始的。

祝你学习顺利,早日成为C++高手!💪

Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐