网站首页 > 开源技术 正文
聊聊C++语言-软件和编程
C++语言脱胎于C语言,早期还有好几个名字呢,什么“c with class”, “new c”等等。可见其是一种基于C语言发展而来的更高级的语言,与C语言相比,她能做的事情更多,也更方便。在软件规模越来越大、复杂度越来越高的今天,尤其有必要学习C++语言。小编接下来将要写一个系列的文章来带你进入C++语言编程的奇妙世界。
首先聊聊什么是软件?
软件简单来说就是程序和文档,我们用一种语言告诉计算机要做什么事情--编写程序让计算机去处理,我们为自己设计的程序编写一些描述性文档,供设计人员阅读、参考。从小到大,我们可没少接触过包含软件的产品,只不过我们没有注意。
看到这款经典的街机游戏,估计很多人都能回忆起童年经历吧,它就是一个计算机软件的一部分。
什么是编程、什么是C++编程?
编写程序(简称编程)就是用一 种载体告诉计算机,要求她按照我们的命令运算并给出运算结果的过程。
这幅图就是最早的计算机编程形式,编程人员把自己需要的公式的输入用穿孔打印机打印到纸上,计算机读取这张纸,有孔的地方是0,没有孔的地方是1,比如计算1+2的结果,我们可以把算术运算加减乘除以及0~9十个数字用4位二进制数:0000~1111这16个数来表示。这样计算机从针孔打印纸上就能知道编程人员需要计算1+2,她就调用自己的计算器(ALU)计算并把结果3输出到打印纸上。
随着科技的进步,计算机处理能力越来越强,针孔方式编程实在是太慢了,为了效率,人们渐渐发明了各种高级编程形式,汇编语言的发明部分解决了这种效率问题。汇编语言定义了许多帮助人们记忆的关键词--助记符,这些助记符用日常生活中的词语来对应针孔打印纸上出现的0000~1111,比如用词语add来表示加号+,编程人员只需要记住这些有意义的关键词就可以了,出错率大大降低,效率就提高了。
能力越强,承担的责任就越大。随着程序规模的急速增大,汇编语言也慢慢力不从心了。结构化语言,面向对象语言开始走上历史舞台,C++编程就是用一种更抽象的关键词来编写程序,经过一系列如同变戏法似的过程后生成0101这样的命令,计算机再处理这些0101代表的命令,最后一步过程达半个世纪以来几乎没有改变。
如何变戏法呢?
举个例子,我们使用C++的关键词class写一句话:
class a {}
就可以用图中的一系列工具生成许多条0101组成的命令,这个命令和半个世纪前针孔打印纸上的命令没有区别,效率却大大提高了,是不是很棒?
为什么选择C++语言?
C++语言对于培养面向对象的思维习惯十分必要,她也支持C语言编程,也就是C语言和其它高级语言具备的特性她大部分都具备,同时她也与时俱进,不断演化发展出包括STL在内的更多高级特性,方面码农使用。
这篇就写到这里,下一篇我将讲述与C++编程的一些术语以及常用的工具。如果想了解更多与编程有关的知识分享,请关注微信公众号:程序员互动联盟或者coder_online
猜你喜欢
- 2025-06-12 C语言基础学习之-不得不说的秘密,送给对程序执迷不悟的你!
- 2025-06-12 四.单片机c语言入门之跳转语句(单片机跳沿触发方式)
- 2025-06-12 C语言快速入门手册1.开始了(c语言从入门到实战)
- 2025-06-12 C/C++编程笔记:C++入门知识,C++类和对象详解
- 2025-06-12 嵌入式C语言(入门必看)(嵌入式c语言要学到什么程度)
- 2025-06-12 c语言小白如何入门?(c语言小白如何入门基础知识)
- 2025-06-12 Visual Studio 2013 新手教程全解析,手把手帮你走上编程之路
- 2025-06-12 《C 语言入门教程》发布了(c语言入门课本)
- 2025-06-12 C语言入门指南(c语言入门教程)
- 2025-06-12 编程入门丨初学者入门编程最开始要注意的三点,一定要了解
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)