为什么学习C++之前学习C语言?

源地址:https://www.ctvol.com/c-cdevelopment/4074.html

C++ 读作"C加加",是"C Plus Plus"的简称。顾名思义,C++ 是在C语言的基础上增加新特性,玩出了新规则,所以叫"C Plus Plus",还有C#,当然C#一般是针对游戏引擎开发的一块专门的开发语言,和C/C++语法上是不同的。要说渊源那就是带了一个C,不过学好C,C++和C#基本上是游刃有余。C是最接近机械语言,可以这么说C能直接嵌入汇编当中,而其他语言相对很麻烦。

从语法上看,C语言是C++ 的基础,我们都知道C是面向过程的一门语言,而C++属于高级语言面向对象的语言。

我们来看看什么叫面向过程,什么叫面向对象?从大概的思维可以这么理解:

C语言是面向过程的语言:

好比一个人走路,在走路的过程记录下来,是前踏出右脚还是左脚,跟随的手上动作是先甩右手还是左手,然后将这个整体循环就是走路的一个过程。

C++语言是面向对象的语言:

也是走路的例子,而C++中不会在意这个循环动作,它会给你一个函数,让你直接调用,然后完成走路的过程,类似打了包直接扔给你,包里面是一套设备,而不是单独存在的。

虽然C学起来比较繁琐,如果能理解到,或者用心了,好比走路过程,你都能把细节性的东西掌握了,那走路就很简单了,就算出现问题,也知道问题在哪里?如果是直接学习C++的话,有可能遇到问题,都不知道问题出现在哪里?

至少小编是这样理解,500个哈姆雷特有500个想法,每个人的学习方法是不同的,当你不知道自己适合哪种方法的时候,可以试着尝试下别人的想法,然后在学习中慢慢的找到适用自己的方法。就像画画一样的,当你不会画的,什么都不懂的时候可以先尝试临摹,而不是在哪纠结牛角尖。这样既费时又费力。对吧。

当你C掌握后,再去看C++那速度肯定是像飙车一样的快感,如果是直接学习C++有可能会变成过山车,遇到一个陡坡就爬不上去的情况出现。当然,有些人有这方面的天分,这个就不说了。小编是属于那种没天赋,只能靠多学多练的那种类型。

C++和C语言的关系:

我们都知道,C出来的时候还没有C++,C++的出现主要是玩C的大佬觉得C操作太繁琐了,所以想偷懒,然后C++就诞生了,C++基本继承了C所有特性,还额外制定了很多方便的特性。以后在学习的过程中,我们会看到很多C++很方便的,但是C很繁琐,就像C语言和机械语言的关系一样的,你是宁愿写C还是宁愿写0,1来替代是一个道理。当然区别我们现在不谈。其他的C和C++都是独立的。这个最明显的区别。当然,C++的诞生是小编自己的猜想,不做正规的理论。就当取乐用就可以了。

C和C++的教程:

C和C++的教程有许多,根据自己的学习程度选择,C的话到处都是基本看自己适合哪一套,讲的都是差不多的。只要自己理解就好,C++的话,目前最火的就是c++ primer plus,这个网上有很多在线版的,或者到图书馆去买也行。当然,这里谈个闲外话,看书和网上学习是两码事。结合起来效果最好。

总结:

前面我们就了解个大概的,至于两者的发展史就不多说了,百度有很多,其实也没什么用,这些应付考试还行,说句实在的,做个了解就可以了,现目前我们就学会怎么用,怎么写,怎么去晋级才是最重要的。

重要的事说三遍:实践操作, 实践操作, 实践操作

光懂不做不行的,不管是什么语言,不实际的写,写个几遍是发现不了问题的,只有做了,才会有问题出现,编程和其他的不一样地方就是脑袋想的是一码事,操作起来又是另一码事。如果光学不练,那真的是白学。还不如去买5毛钱的麻辣烫吃起爽。

相关推荐
余额不足121382 分钟前
C语言基础十六:枚举、c语言中文件的读写操作
linux·c语言·算法
守护者17025 分钟前
JAVA学习-练习试用Java实现“使用Arrays.toString方法将数组转换为字符串并打印出来”
java·学习
学会沉淀。34 分钟前
Docker学习
java·开发语言·学习
Rinai_R1 小时前
计算机组成原理的学习笔记(7)-- 存储器·其二 容量扩展/多模块存储系统/外存/Cache/虚拟存储器
笔记·物联网·学习
吃着火锅x唱着歌1 小时前
PHP7内核剖析 学习笔记 第四章 内存管理(1)
android·笔记·学习
ragnwang1 小时前
C++ Eigen常见的高级用法 [学习笔记]
c++·笔记·学习
罗伯特祥1 小时前
C调用gnuplot绘图的方法
c语言·plot
嵌入式科普2 小时前
嵌入式科普(24)从SPI和CAN通信重新理解“全双工”
c语言·stm32·can·spi·全双工·ra6m5
Web阿成2 小时前
3.学习webpack配置 尝试打包ts文件
前端·学习·webpack·typescript