[C.C++] C++零基础入门教程(超详细新手版)

78 0
Honkers 5 天前 来自手机 | 显示全部楼层 |阅读模式

本教程专为完全零基础读者打造,无需任何编程基础,从零讲解C++核心基础概念、语法规则和实战案 例,循序渐进带你入门C++编程。教程兼顾实用性和易懂性,避开晦涩理论,主打学完即用。

一、C++是什么?为什么要学C++?

1. 什么是C++

C++是一门高性能、编译型、跨平台的通用编程语言,由Bjarne Stroustrup在C语言基础上拓展而来, 保留了C语言高效、贴近底层的特性,同时新增了面向对象、泛型编程等高级特性,是一门「全能型编 程语言」。

2. C++的应用场景

  1. 游戏开发:绝大多数3A大作、游戏引擎(Unity底层、Unreal引擎)核心均由C++开发
  2. 系统开发:操作系统、驱动程序、嵌入式系统、服务器底层开发
  3. 高性能计算:人工智能推理、大数据运算、区块链底层、工业控制程序
  4. 竞赛考级:信息学奥赛(NOIP/CSP/NOI)唯一指定编程语言,高校计算机专业核心课程

3. 新手为什么首选C++入门

C++语法严谨、逻辑清晰,能帮助新手建立标准的编程思维,吃透C++后,后续学习Java、Python等 语言会事半功倍。同时C++性能顶尖,就业和竞赛场景适配性极强。

二、编程环境搭建(新手必备)

编写C++代码需要编译器+代码编辑器,新手推荐最简单、零配置的工具,避开复杂环境配置问题。

推荐工具:Dev-C++(零基础首选) Dev-C++是专为C/C++新手设计的集成开发工具,自带编译器,无需单独配置环境,下载安装即可使 用,适合入门练习语法。

进阶可使用:VS Code、Visual Studio、CLion(适合后续深入学习)

三、第一个C++程序:Hello World

所有编程语言的入门第一课都是输出经典的「Hello World」,我们通过这个程序认识C++代码的基本 结构。

1. 完整代码

  1. #include <iostream> // 引入输入输出头文件
  2. using namespace std; // 使用标准命名空间
  3. // 主函数:程序入口,所有C++程序必须有且仅有一个main函数
  4. int main()
  5. {
  6. // 输出语句:打印内容到控制台
  7. cout << "Hello C++!零基础入门成功!" << endl;
  8. return 0; // 程序正常结束,返回0
  9. }
复制代码

2. 运行结果

编译运行后,控制台输出:

  1. Hello C++!零基础入门成功!
复制代码

3. 逐行代码详解(新手必看)

• #include :预处理指令,引入输入输出库。C++本身没有打印、输入功 能,需要借助这个库实现控制台读写。

• using namespace std; :使用标准命名空间。C++标准库的功能都放在std空间中,这行代 码可以简化写法,不用每次都写 std::cout 。

• int main() :主函数,是整个程序的唯一入口,程序运行时会自动从main函数开始执行,缺 一不可。

• {} :代码块包裹符,大括号内是函数的具体执行代码,成对出现,不能缺失。

• cout << 内容 << endl; :标准输出语句, cout 负责打印内容, endl 表示换行。

• return 0; :表示程序正常终止,返回0给系统,固定写法。

• // 注释 :单行注释,程序不会执行,用于给开发者备注说明,方便阅读代码。

 新手易错点:C++代码严格区分大小写,所有语句结尾必须加分号;,大括号成对书写,缺一 不可!

四、C++核心基础语法

1. 变量与数据类型

编程的核心是处理数据,变量就是用来存储数据的容器,使用前必须先定义「数据类型」和「变量 名」。

常用基础数据类型(新手必记)

数据类型作用示例
int整型,存储整数int a = 10;
double浮点型,存储小数double b = 3.14;
char字符型,存储单个字符char c = 'A';
bool布尔型,存储真假 (true/false)bool flag = true;
string字符串型,存储文本string s = "C++入门";

变量定义与使用示例

  1. #include <iostream>
  2. #include <string> // 使用string字符串需要引入该头文件
  3. using namespace std;
  4. int main()
  5. {
  6. int age = 18; // 定义整型变量
  7. double score = 95.5; // 定义浮点型变量
  8. char sex = 'M'; // 定义字符变量
  9. string name = "小明"; // 定义字符串变量
  10. // 打印变量内容
  11. cout << "姓名:" << name << endl;
  12. cout << "年龄:" << age << endl;
  13. cout << "成绩:" << score << endl;
  14. cout << "性别:" << sex << endl;
  15. return 0;
  16. }
复制代码

2. 输入语句 cin

之前的cout是输出,cin是输入语句,用于接收用户在控制台输入的数据,实现人机交互。

输入实战案例

  1. #include <iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. int a, b;
  6. cout << "请输入第一个整数:" << endl;
  7. cin >> a; // 接收用户输入的整数,存入变量a
  8. cout << "请输入第二个整数:" << endl;
  9. cin >> b; // 接收用户输入的整数,存入变量b
  10. // 计算两数之和并输出
  11. int sum = a + b;
  12. cout << "两数之和为:" << sum << endl;
  13. return 0;
  14. }
复制代码

运行后可手动输入数字,程序自动计算结果,实现简单的计算器功能。

3. 运算符

C++基础运算符用于数据运算,新手重点掌握三类:

1)算术运算符

用于数值计算:+加、-减、*乘、/除、%取余(仅整数可用)

2)赋值运算符

=基础赋值、+=加等于、-=减等于等,例如 a += 2 等价于 a = a + 2

3)关系运算符

用于判断大小,返回真假:>大于、<小于、==等于、!=不等于、>=大于等于、<=小于等于

五、流程控制语句(编程核心逻辑)

程序默认从上到下顺序执行,通过流程控制语句可以实现判断、循环逻辑,支撑所有复杂程序开发。

1.条件判断语句(if-else

满足条件则执行对应代码,不满足则跳过,是最基础的逻辑判断。

案例:判断分数是否及格

  1. #include <iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. double score;
  6. cout << "请输入考试分数:" << endl;
  7. cin >> score;
  8. if (score >= 60)
  9. {
  10. cout << "成绩及格!" << endl;
  11. }
  12. else
  13. {
  14. cout << "成绩不及格!" << endl;
  15. }
  16. return 0;
  17. }
复制代码

2. 循环语句(for/while)

循环语句可以重复执行某段代码,大幅简化重复操作,新手重点掌握for循环(最常用)。

案例1:for循环输出1-10所有数字

  1. #include <iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. // 初始化i=1,条件i<=10,每次循环i自增1
  6. for (int i = 1; i <= 10; i++)
  7. {
  8. cout << "数字:" << i << endl;
  9. }
  10. return 0;
  11. }
复制代码

案例2:while循环累加1-100求和

  1. #include <iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. int i = 1;
  6. int sum = 0;
  7. while (i <= 100)
  8. {
  9. sum += i; // 累加求和
  10. i++; // 变量自增
  11. }
  12. cout << "1到100的和为:" << sum << endl;
  13. return 0;
  14. }
复制代码

六、数组与函数(进阶基础核心)

前面我们学习了单个变量存储数据,但实际编程中经常需要处理一组相同类型的数据、复用重复代 码。本节重点讲解数组和自定义函数,是衔接基础语法与面向对象的关键知识点。

1. 数组(批量存储数据)

数组是用于存储多个相同类型数据的容器,无需定义大量重复变量,适合批量处理数字、字符等数 据,分为一维数组和二维数组,新手重点掌握一维数组。

(1)一维数组定义与初始化

核心语法: 数据类型 数组名[数组长度] = {初始值1,初始值2...};

  1. #include <iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. // 方式1:定义数组并完整初始化
  6. int score[3] = {85, 90, 78};
  7. // 方式2:省略长度,自动根据初始值判定长度
  8. int num[] = {10, 20, 30, 40};
  9. // 方式3:先定义数组,后续赋值
  10. char ch[3];
  11. ch[0] = 'A';
  12. ch[1] = 'B';
  13. ch[2] = 'C';
  14. // 遍历输出数组所有元素
  15. cout << "学生成绩:" << endl;
  16. for (int i = 0; i < 3; i++)
  17. {
  18. // 数组下标从0开始,第一个元素下标为0
  19. cout << score[i] << " ";
  20. }
  21. return 0;
  22. }
复制代码

新手核心重点:C++数组下标从0开始,长度为n的数组,有效下标范围是 0 ~ n-1,超出范围 会出现程序报错、数据错乱!

(2)数组实战案例:求数组最大值

  1. #include <iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. int arr[5] = {12, 45, 7, 89, 23};
  6. int max = arr[0]; // 假设第一个元素为最大值
  7. // 循环遍历数组,逐个比较
  8. for (int i = 1; i < 5; i++)
  9. {
  10. if (arr[i] > max)
  11. {
  12. max = arr[i];
  13. }
  14. }
  15. cout << "数组最大值为:" << max << endl;
  16. return 0;
  17. }
复制代码

2. 自定义函数(代码复用神器)

函数是封装好的、可重复调用的代码块。如果一段代码需要多次使用,无需重复编写,封装为函数即 可,让代码更简洁、逻辑更清晰。

(1)函数基本语法

返回值类型 函数名(参数列表){ 函数体; return 返回值; }

  • 返回值类型:函数执行完毕后返回的数据类型(int、double、void无返回值)
  • 函数名:自定义名称,遵循变量命名规则
  • 参数列表:调用函数时传入的数据,可无参数

(2)无参无返回值函数案例

适用于只需执行固定操作,无需传入数据、无需返回结果的场景

  1. #include <iostream>
  2. using namespace std;
  3. // 自定义函数:输出欢迎语句
  4. void showWelcome()
  5. {
  6. cout << "===== 欢迎使用C++函数程序 =====" << endl;
  7. }
  8. int main()
  9. {
  10. // 调用函数
  11. showWelcome();
  12. showWelcome(); // 可多次复用
  13. return 0;
  14. }
复制代码

(3)有参有返回值函数案例(最常用)

适用于传入数据、计算后返回结果的场景,以两数求和为例

  1. #include <iostream>
  2. using namespace std;
  3. // 定义求和函数:接收两个int参数,返回int类型结果
  4. int getSum(int x, int y)
  5. {
  6. int res = x + y;
  7. return res; // 返回计算结果
  8. }
  9. int main()
  10. {
  11. int a, b;
  12. cout << "请输入两个整数:" << endl;
  13. cin >> a >> b;
  14. // 调用函数,接收返回值
  15. int sum = getSum(a, b);
  16. cout << "两数之和为:" << sum << endl;
  17. return 0;
  18. }
复制代码

(4)函数核心注意事项

  • void类型函数:无返回值,函数内无需写return语句
  • 函数必须先定义后调用,否则会编译报错
  • 参数数量、类型必须与调用时传入的数据一致

七、新手必备编程规范

  • 大小写敏感:cout和Cout是两个完全不同的标识符,严禁混用
  • 语句结尾加分号:每一行执行语句末尾必须写;,否则编译报错
  • 大括号成对书写:if、for、函数的大括号一一对应,不要遗漏
  • 代码缩进:大括号内代码统一缩进,让代码结构清晰、易读
  • 合理写注释:复杂代码添加注释,方便自己和他人理解代码逻辑

八、新手学习路线规划

掌握本文基础后,可按照以下顺序系统进阶,稳步学好C++:

  1. 夯实基础:熟练变量、数据类型、运算符、条件、循环
  1. 数组与字符串:掌握批量数据存储与处理
  1. 函数:代码模块化,学会封装重复逻辑
  1. 指针与内存:C++核心难点,吃透底层逻辑
  1. 面向对象:类、对象、继承、多态(C++核心特性)
  1. STL标准库:容器、算法,大幅提升开发效率

九、常见新手问题解答

1. 编译报错「expected ;」是什么意思?

绝大多数情况是语句末尾遗漏分号,检查对应行代码结尾即可。

2. cout无法使用怎么办?

检查是否引入 #include 和 using namespace std; ,缺一不可。

3. 程序运行后一闪而过?

控制台程序运行结束后自动退出,可在代码末尾return 0;前添加system("pause");暂停窗口。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2026 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行