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

相关推荐
Camellia031123 分钟前
嵌入式学习--江协stm32day5
stm32·嵌入式硬件·学习
HUN金克斯24 分钟前
C++/C函数
c语言·开发语言·c++
慢半拍iii25 分钟前
数据结构——F/图
c语言·开发语言·数据结构·c++
a_1571532498627 分钟前
SpringCloud学习笔记-4
笔记·学习·spring cloud
m0_6371469335 分钟前
零基础入门 C 语言基础知识(含面试题):结构体、联合体、枚举、链表、环形队列、指针全解析!
c语言·开发语言·链表
iceslime1 小时前
旅行商问题(TSP)的 C++ 动态规划解法教学攻略
数据结构·c++·算法·算法设计与分析
FserSuN1 小时前
Prompt工程学习之思维树(TOT)
人工智能·学习·prompt
哆啦A梦的口袋呀1 小时前
基于Python学习《Head First设计模式》第九章 迭代器和组合模式
python·学习·设计模式
虾球xz1 小时前
CppCon 2015 学习:3D Face Tracking and Reconstruction using Modern C++
开发语言·c++·学习·3d
sponge'1 小时前
opencv学习笔记2:卷积、均值滤波、中值滤波
笔记·python·opencv·学习