为什么学习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毛钱的麻辣烫吃起爽。

相关推荐
无名猿12 分钟前
new/delete 与 malloc/free:为什么绝对不能混用
c++·内存管理·现代c++·踩坑记录
Answer1st1 小时前
【嵌入式学习】嵌入式原理知识-定时器(六)
学习
@yanyu6661 小时前
C编译器安装与第一个C程序
c语言·开发语言
山下梅子酒2252 小时前
洛谷-入门-B2070
c语言
\光辉岁月/2 小时前
1.mybatis学习-基础
学习·mybatis
Logic1012 小时前
C语言/数据结构位运算题解:异或XOR找出多任务下载器中的“独特下载速度“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
2601_962218612 小时前
C++中decltype关键字的实现
开发语言·c++
繁华的地方不一定留下你的脚印2 小时前
C++ std::variant 与 std::visit:安全保存多种类型,写清每个处理分支
开发语言·c++
へ蟲児.2 小时前
2026三大自带完整体系的英语学习App深度测评:哪款更适合儿童启蒙?
学习