信奥竞赛

系列

剑指信奥 | C++ 之初识 CPP

什么是 C++?

还记得我们刚刚学过的 C 语言吗?

在 C 语言以及其他一些计算机语言中,++ 是一种很常用的运算符,被称为“加加”,也叫做自增运算符,作用是在原有的基础上加 1,看一个 C 语言的例子:

#include <stdio.h>
int main() {
    int i = 1;
    i++;
    printf("%d", i); // 输出 2
    return 0;
}
                

为什么要说这个?因为今天开始,我们要学习的 C++ 语言的含义也正在于此。

比雅尼·斯特劳斯特鲁普博士在贝尔实验室工作期间,在 20 世纪 80 年代发明并实现了 C++。

起初,这种语言被称作“C with Classes”(包含类的 C 语言),作为 C 语言的增强版出现。

Wikipedia

C++ 就是在 C 语言的基础上加入了一些新的语言特性,尤其是面向对象的程序设计(OOP),以及其他一些重要而又有用的内容。

C++ 极大的扩展了 C 语言的使用范围,同时留有 C 语言高性能的优势,使得 C++ 语言成为计算机语言家族中最为重要的成员之一。

C++ 语言在 2010 年以来有三个主要的发行版本,分别为 C++11,C++14 和 C++17。

今天,我们能用上 C++,还要感谢 C++ 之父,丹麦计算机科学家比雅尼·斯特劳斯特鲁普博士:

Bjarne Stroustrup

为什么要学 C++

选择学习 C++ 语言,我们可以有很多的理由:

C++ 是一种多范式编程语言

此处的范式指的是编程的思想或风格。

因为 C++ 源自于 C 语言,所以 C++ 既可以像 C 语言一样采用过程式编程,更可以采用 C++ 新的语言特性,面向对象的编程。

除了这两种方式外,C++ 还有着其他几种不同的编程范式,使得我们使用 C++ 编程有了更多的选择。

C++ 是一种多用途的语言

我们使用 C++ 可以开发各种各样的程序。

比如,我们可以用 C++ 开发游戏,绝大多数的游戏引擎都是采用 C++。C++ 还可以开发桌面应用,很多大型的工业软件都是采用 C++ 语言进行开发。另外,C++ 还是很多计算机操作系统以及嵌入式系统的开发语言。

学好 C++,别的语言都不怕

C++ 是面向对象的程序设计语言,与现代主流的计算机语言都是相通的,在学习了 C++ 以后,我们可以更加容易的学习其他常见的计算机语言,比如 Java、Python 等等。

当然,在我们参加信息学竞赛的背景下,C++ 也是 CCF 规定的 2022 年起唯一可以使用的参赛语言,学习 C++ 是参加信息学竞赛的门票。

那么,怎么才能学好 C++ 呢?

怎样学好 C++?

其实,无论是 C++ 还是其他什么计算机语言,甚至于学好任何学科都是类似的,正确学习的关键无外乎以下的几点:

科学系统的理论学习

学习要掌握方法,这样才有正确的方向,你的努力才不会白费。

选择一个好的教学体系是非常重要的。

练、练、练!

大量的练习对于学习计算机语言尤其重要。

纸上得来终觉浅,绝知此事要躬行,辅以勤奋的练习,我们才会产生进一步学习的兴趣。

学习别人的代码

他山之石,可以攻玉。

学好编程如果说有“窍门”的话,那就是多看多学别人的代码,没有比较就没有鉴别,从别人那里,我们可以发现自己的不足之处。

同样的问题,我们可以发现更加高效、优雅的解法。

说了这么多,同学们是不是已经摩拳擦掌,跃跃欲试了?

学好 C++ 是一个比较漫长的过程,让我们平复下心情,开始我们与 C++ 的初相识吧!

Hello, C++!

依照惯例,我们还是从 C++ 的第一个程序开始:

#include <iostream>
using namespace std;
int main() {
    cout << "Hello, C++!";
    return 0;
}
                

运行一下,似曾相识的结果出现了:

Hello, C++!

这就是我们的第一个 C++ 的程序,结果就是输出了一行字符串。

我们发现,相比较于 C 语言,这段代码既有相似又有不同:

#include <stdio.h>
int main() {
    printf("Hello, C!");
    return 0;
}
                

现在,我们详细的解释一下 C++ 这几行代码的含义:

#include <iostream> 是指程序引入了头文件 iostream,对于我们使用输入和输出是必须的,比如后面的 cout。

using namespace std; 表示我们使用标准库的命名空间。命名空间是 C++ 新的内容。

int main() {} 这个和 C 语言一样,是 C++ 程序的主函数。

cout << "Hello, C++!"; 这个 cout 是一个对象,连同符号 <<,就是输出或打印文本的作用。

return 0; 结束主函数,因为主函数的定义是要返回一个整型的数字。

这就是我们第一个 C++ 程序的全部含义。

当然,我们第一次接触,想必还有很多个问号,不妨先记住这个主体结构。

随着学习的深入,我们回过头来再看看,这些都是非常简单的内容。

别忘了,练习很重要,多写几遍练习一下吧!