C++初识 — 从零开始的C++入门介绍

  C 语言自 20 世纪 70 年代诞生以来,已经得到了广泛的应用,全世界有大量的 C 语言程序员、库代码和开发环境。然而尽管如此,C 语言毕竟是一种面向过程的语言,已经远远不足以满足运用面向对象方法,进行软件开发的需要了。因此,在 1980 年,AT&T 贝尔实验室的 Bjarne Stroustrup 博士便在 C 语言的基础上,发明了 C with Class 语言,最终演变成了现在的 C++ 语言。

  如果我们把计算机科学或软件工程比喻成武侠小说的世界的话,那么大规模的软件工程活动,就相当于是一整套武学体系,落实到我们具体的软件工程项目上就是那套武学体系中的一套而已。而 C++ 语言,则是这个体系中最为基本的拳脚招数。

  C++是计算机科学史上最为重要的语言之一——从它诞生以来,几乎每一个平台,每一个系统,都有大量的由 C++ 编写出的应用程序。凭借着优秀的面向对象特性、优秀的运行效率与速度、良好的可移植性,C++ 语言直到今天仍然有着极其广泛的应用——后续发展的典型的面向对象语言,比如 JAVA 和 C# ,也深受 C++ 影响,在语法上跟 C++ 几乎如出一辙。
  在我看来,不管你在将来是否要进行C++的开发工作,C++基本的语意和语法都是我们计算机科学(CS)和软件工程(SE)从业者必须要掌握的编程语言。就是像是如上文说的一样,C++影响了很多其他的编程语言。然而最核心的是——在学习C++的时候,它为我们传递一种编程的思想、素养和方法,或是面向过程、或是面向对象,这对于我们继续学习更高级别、更简洁(如Python)的编程语言有着极大的帮助。

C++真的很难?

  哪些觉得C++很难的人,他们也许不知道,这并不是C++的难度,而是C++的量度。C++ 实际上是一个由多个部分组成的联邦,例如面向对象编程,函数式编程,模板,以及继承自纯 C 语言的面向过程编程等。而对于我们新手而言,我们只需要先掌握它的基础部分就可以了,正所谓:“饭,要一口一口地吃;爱,要一点一点地给”,而对于C++永远也不要失去在自己是新手时对C++的那种渴望!
  C++ 就是一顿丰盛的自助餐,取得你所需要的部分就行了,你不需要刻意地去使用那些复杂的特性,只要能完成你的工作就行。如果,你以后需要从事C++的相关工作,也不用着急,因为在你工作的这个过程中,就是你继续进阶C++的时候,而现在我们能做的就是保持一颗追求C++的心,学好自己能够当下的能力可以触及的C++相关的知识即可。

我怎么开始C++?

  C++的基础语法和语义是基于C语言的;看到这里,我建议你先去学C语言,从C语言开始。在学习C++,你是逃不过C语言的。如果你混合这C和C++一起学的话,反而会让你产生混乱,举个例子,C语言里面的输出用“printf”而C++里面输出用的是“cout”,尽管这两个输出再高手眼里可以混用,但对于新手来说,还是先区分得好。
  C语言和C++最大的区别是:**C语言面向过程,C++面向对象。**如果你不明白啥事面向过程啥是面向对象,那你就先认为这是两种有着巨大差别的事物。我认为,面向过程是面向对象的基础。

  接下来,开始C++。
1、此时,你需要一本或基本教材,然后就是辅助视频即可。在任意一个搜索引擎搜索:C++入门教材。在任意一个视频网站搜索(推荐:bilibili.com):C++。
2、筛选你的教材和视频教程。
3、一步接着一步,看书看视频,重复别人写的代码,搞清楚它的原理,做好笔记,及时复习。再做点训练,各大OJ平台。。

在哪里写代码、运行、调试?

  我们常常写代码的地方都是一个叫做IDE的地方,即需要专用的“编程软件”(集成开发环境(Integrated Development Environment),简称 IDE )。所谓的 IDE ,其实就是把编辑器、编译器和其他的一系列工具整合在一起的产物。这样不仅项目的开发速率,同时也为开发者省事、省心、省力!
接下来,介绍几款IDE(windows平台)

1、Dev-Cpp

小巧灵活,占用较小的本地控件;调试很蛋疼,见面简单明了;推荐新手;

2、Microsoft Visual Studio

搭建费时,占用本地空间很大;功能强大,调试效率高,界面操作性强;两个字总结:牛逼。
在Dev-Cpp用得差不多了的时候,可以入手。

3、 Code::Blocks

理解C++运行过程?

  程序语言可以分为机器语言,汇编语言和高级语言 三个层次——现阶段我们人类开发者能够直接编写的是汇编语言和高级语言,绝大多数情况下用到的还是高级语言。所谓的高级语言,就是由英文字母和字符写成的语句,来实现逻辑,从而实现功能。

  具体地说,我们自己用高级语言写的程序,称为高级语言源程序,而将其转化成二进制代码之后的程序,称为目标程序——它已经是完全的二进制机器指令了,这个过程称为编译。那么,是不是有目标程序就能直接运行了呢?我们需要考虑到,如果一个程序比较大的话,那么它可能要有多个模块来协作——就算是简单地向屏幕上输出一个“Hello, world.”,你也依然需要调用系统库里定义好的输出功能模块。

  所以,我们需要把所有需要的模块都合并在一起,才能构成一个可以执行的程序——这个就是程序的链接过程,链接完成之后,才会得到一个可以执行的程序。那么,你肯定要问:编译和链接过程该怎么进行呢?有一些专门的软件可以完成这个过程,这些软件被称为编译器(Compiler) 和链接器(Linker)

  在编译和链接的过程中,都会对程序中的错误进行检查——只有代码准确无误的程序才能编译成功。如果代码本身有错误的话编译器就会报错,如下图所示。但是需要注意的是,编译通过,并不代表程序本身是完全正确的——你仍然需要通过调试,确认程序可以正确地运行,才能说你的程序是准确无误的。

你可能感兴趣的:(编程语言,-,C++,C++语法结构和编程方法)