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

相关推荐
dadaobusi22 分钟前
学习:灵犀指令集
学习
xhyu612 小时前
【学习笔记】图像质量评估方法 (5.生成图像是否符合用户要求)
笔记·学习·计算机视觉
丰色木夕2 小时前
Ubuntu22.04下源码编译安装USD-Brep
c++·ubuntu·nvidia·usd-brep
卿卿的产品经理日记3 小时前
【AI产品经理实战】Day 38|try-except 踩坑实录:报错是数据
人工智能·笔记·python·学习·产品经理
keyipatience3 小时前
TypeScript学习(1)
前端·javascript·学习·typescript·html·css3
鱼很腾apoc4 小时前
【MySQL】第4期 用户管理与 C 语言连接编程详解
linux·服务器·c语言·mysql·connector/c
衍玊4 小时前
多路转接原理与应用
c++
lazy H4 小时前
【计算机网络】第 2 篇:一条数据如何穿过网络?彻底理解数据封装与解封装
网络·经验分享·后端·学习·计算机网络
我命由我123455 小时前
软件工程概念 - 可插拔性
java·后端·学习·java-ee·系统架构·软件工程·学习方法
kkkkkkkkkk_Z6 小时前
新手自学嵌入式 | 学习日记:I2C总线协议、时序分析、读写流程与代码实现
学习