David 的小窝

教程长文丨从零入门 C++

2023-04-09 · 9 min read
Program Article Technology

从零入门 C++

作者:Yulin Jiang

前言

各位读者大家好,这篇文章在开始撰写时,作者是一位初二年级的学生,同时是一位才学习了两年 C++ 的「菜鸟」,但作者看到许多小白在刚入门时十分迷茫,只能摸索着前进,因而写下了此文,希望能给刚入门的小白提供一些帮助。

我希望这篇文章是完整而详细的,尽管作者的水平也算不上高,如果不是这样,我对此表示十分抱歉,无论怎样,希望这篇文章能给你一些帮助。

在开始阅读这篇文章之前,你要知道一些事:

  • 这篇文章大概会讲的非常的细致,如果你觉得你已经掌握了相关内容,可以跳过相应章节;

  • 本文中所有有关系统的操作仅针对 「Windows」 系统,其他系统的使用者请参考其他文章;

  • 本文最多只涉及 C++11 的内容;

  • 请打开文件扩展名

下面话不多说,让我们正式开始吧。

目录

第一编 初识 C++

第一章 C++ 是什么

要学习一门语言,先要对它有一定的了解,我先贴一段百度百科上的简介:

C++是一种计算机高级程序设计语言,由C语言扩展升级而产生,最早于1979年由本贾尼·斯特劳斯特卢普在AT&T贝尔工作室研发。

C++既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计。

C++拥有计算机运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。

简单总结下:

  • C++ 语言 是一门高级语言

  • C++ 语言 由 C语言 扩展而成;

  • C++ 语言 特点:

    • 面向过程/面向对象 编程;

    • 具有一定描述性

不过以上内容懂与不懂都无关紧要,对于一个初学者来说,这些东西都没用,相信大家在学习的过程中,会逐渐认识到「C++是什么」。

需要知道的是,C++ 是一门编译执行的语言,也就是说,将源代码编译为可执行文件再执行,而不是像 Python 等翻译执行的语言,每一句代码在运行前都是没有影响的。

第二章 上手 C++

既然 C++ 是一门编译执行的语言,就需要有编译器,如果你不想拿 NotePad(记事本)写代码的话,你还需要编辑器,下面我就带大家一步一步来做。

第一节 安装编译器

首先,还是先看下编译器是什么(内容删改自百度百科):

简单讲,编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为 低级语言)”的程序。一个现代编译器的主要工作流程:源代码 → 预处理器 → 编译器 → 目标代码 → 链接器 → 可执行程序

高级计算机语言便于人编写,阅读交流,维护。机器语言是计算机能直接解读、运行的。编译器将汇编或高级计算机语言源程序作为输入,翻译成目标语言机器代码的等价程序。

简单来说,编译器的工作就是将「源代码」编译为「机器语言」,也就是转化为「可执行文件」,这样,才可以在相应的操作系统里直接运行。

我个人推荐使用目前主流的编译器之一:GNU 中的 g++,如果你是用的是 Windows 操作系统,我推荐使用 MinGW,如果你使用的是其他操作系统,请自行参考其他文章进行配置。

接下来简单讲解一下如何在 Windows 系统上配置 MinGW,总结来说,有两种方式:

  • 其一,通过 「免安装文件」 方式,手动配置环境变量;

  • 其二,通过 「官方安装工具」 安装。

在此两种方式都做简单说明:

「免安装文件」方式

Q.Q. 什么是「免安装文件」?

A.A. GCC 等编译器的本体,即实现编译功能的部分,解压后直接将其最底层目录下的 \bin 目录的路径加入到环境变量的 PATH 变量中即可使用,具体可参考该文章该文章安装。

「官方安装工具」

Q.Q. 什么是「官方安装工具」?

A.A. 官方发布的安装工具,可以自动下载,帮助管理,但仍然需要手动配置环境变量,具体可参考该文章安装。

  • Tip:在将路径加入到 PATH 环境变量中后,需要重启「Windows 资源管理器」(即 Explorer),如果仍然无效,则需重启设备。

第二节 测试编译器

现在我们已经成功地在你的设备上安装好了 C++ 编译器,那么接下来进行一些简单的测试,看看编译器能否正常运行,同时也熟悉一下如何手动编译。

首先我们先写两段简单的 C++ 代码用于测试,第一段是「Hello world」。

文件取名为 HelloWorld.cpp 即可,内容如下(由于输出只有英文可使用任意编码,如试图输出中文却输出了乱码不要疑惑,后文会详细讲解):

#include <iostream>

int main() {
    std::cout << "Hello world!" << std::endl;
    std::getchar();
    return 0;
}

接下来打开 Windows 下的控制台 CMD 或者 PowerShell,有多种打开方式,可以打开开始菜单后搜索,其中搜索 “CMD” 应选择 “命令提示符”(通常来说是唯一匹配项),而搜索 “PowerShell” 则应选择 “Windows PowerShell”(不带后缀)。

打开后先输入 "g++" 并按下回车(后同),如显示

g++.exe: fatal error: no input files
compilation terminated.

则说明 g++ 是可以使用的,大概率安装且配置成功了。若未显示以上文本,如显示

'g++' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

(在 CMD 中)或

g++ : 无法将“g++”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,
然后再试一次。
所在位置 行:1 字符: 1
+ g++
+ ~~~
    + CategoryInfo          : ObjectNotFound: (g++:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

(在 PowerShell 中)则说明配置失败,请检查自己的操作。

然后执行以下命令(假设您的代码文件所在路径为 D:\directory1\directory2\):

C:\User\UserName> D:
D:\> cd directory1\directory2
D:\directory1\directory2> g++ HelloWorld.cpp -o HelloWorld

那么就会在 D:\directory1\directory2\ 目录下生成一个可执行文件(通常来说后缀为 .exe

接下来请在该目录下双击运行该文件或在命令行中继续输入:

D:\directory1\directory2> Helloworld

(在 CMD 中)或

D:\directory1\directory2> .\Helloworld

(在 PowerShell 中:PowerShell 默认不从当前位置加载命令)

若打开一个控制台(通常是黑色的),并输出 Hello world! 应当是运行成功了,否则请检查自己的操作。
示例程序中有一行 std::getchar();,用于在输出后再接受一个字符,输出后按下回车即可(程序将结束,控制台将关闭)。

接下来是第二段「A+B Problem」,文件名 A+B.cpp

#include <iostream>

int main() {
    int a, b;
    std::cin >> a >> b;
    std::cout << a + b << std::endl;
    std::getchar();
    return 0;
}

同上操作(记得更改文件名),执行时输入两个整数(以空格或回车分隔)并按回车,若输出两数之和则正确运行,否则请检查自己的操作。

到目前为止,编译器的安装与测试已经完成,下面我们来了解编辑器。

第三节 安装编辑器

(程序)编辑器是什么(摘自百度百科):

编辑器是软体程序,一般是指用来修改电脑档案的编写软件,但也有人称 PE2、HE4(汉书)……等文书软件为编辑器。常见的编辑器有文本编辑器、网页编辑器、源程序编辑器、图像编辑器,声音编辑器和视频编辑器等。

程序编辑器是指用来进行编辑程序的软体程序,能把存在计算机中的源程序显示在屏幕上,然后根据需要进行增加删除替换和联结等操作。

简单来说,程序编辑器是用于打开、编写、保存程序源文件的软件;通常而言,对于初学者,最推荐使用 Dev-C++ 编辑器,具体可参考Dev-C++ 安装及使用教程

如果是 C++ 初学者或者信息竞赛生用于写题的话,请新建源文件,并在窗口偏右侧的输入框内编写代码,代码编写具体内容见后文。

提示:请选择合适的字体和配色,初学者建议全部使用默认配置,除为了避免浪费时间以外,对于信息竞赛选手而言,所有的编辑器在比赛现场均全部使用默认配置,长期使用会更加适应赛场环境。

[ To be continued... ]