当前位置:首页 > 技术文章 > 正文内容

谈谈C++语言--入门篇(c++语言入门经典)

聊聊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

扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/4302.html

分享给朋友:

“谈谈C++语言--入门篇(c++语言入门经典)” 的相关文章

Nginx总结(九) 实现系统的动静分离

前段时间,搞Nginx+IIS的负载均衡,想了解的朋友,可以看这篇文章:《nginx 和 IIS 实现负载均衡》,然后也就顺便研究了Nginx + IIS 实现动静分离。所以,一起总结出来,与大家共同探讨。 什么是动静分离所谓系统动静分离,其实,就是将网站静态资源(HTML,JavaScript,C...

在AWS上组合使用ELB和Nginx Plus获得更多特性

使用AWS的客户经常问我们,对于负载均衡,到底是使用AWS的ELB还是Nginx Plus?Amazon曾经发布了一个白皮书来说明如何在AWS上配置Nginx Plus。本文将聚焦在选择Nginx Plus或者ELB时需要考虑的因素方面,也会讨论一些更适合于组合使用Nginx Plus和ELB的情形...

安卓手机上安装Linux开源模拟器-Termux

什么是TermuxTermux是一款基于 Android 平台的开源 Linux 终端模拟器,使用 pkg(apt) 进行软件包的管理。最重要的是,它无需手机 root 权限,因此,绝大多数 Android 都可以运行。Termux本质上是一个终端模拟器加上一套Linux的最小系统。这里的系统指的是...

路由虚拟服务器nginx转发400问题

背景:关于网络和硬件:旧服务基本是在公有云服务器或提供公网IP的服务器操作的。关于服务:后端jar服务运行,前端vue生成的包并通过nginx转发。以前的nginx配置文件:location / { root /data/project/web/; try...

linux和nginx,https配置实战精辟总结

文章目录前言1.linux服务器常用安装:1.1通过yum安装rz和sz命令:1.2 yum安装docker:2. nginx安装:2.1 nginx配置文件:2.2 服务配置https文件:2.3 总结3.结尾:前言现在我们如果自己想弄点东西,需要买自己的云服务器、域名,整一个https的域名进行...

IT运维面试问题总结-运维(Ceph、Docker、Apache、Nginx等

木二 YP小站运维工具简述Ansible及其优势?Ansible是一款极其简单的开源的自动化运维工具,基于Python开发,集合了众多运维工具(puppet, cfengine, chef, func, fabric)的优点。实现了批量系统配置,批量程序部署,批量运行命令等功能。同时Ansible是...