Advertisement

学习C++之前要先学习C语言吗?

阅读量:

其发音为" C 加 加 " , 其 简 称 为 " C 增 加 增 加 " 。 意 为 在 C 语 言 的 基 础 上 增添 了 许多 新 特 性 , 并 因此 得 名 为 " C 增 加 增 加 " 。

从语法结构上来看,在语法体系上可以说成:C语言其实是作为基础性编程语言的一部分存在。其特点是:一旦编写好了基于C的语言代码,在编译过程中基本上无需更改就可以直接采用编译器针对C++进行处理的方式运行。这种特性也让许多刚开始学习编程的人感到有些困惑:那么问题来了:是否有必要在开始学习C++之前就先掌握并熟练运用这一基础性的编程语言呢?

我对这个问题持中立态度;然而对于初学者而言直接入手C++可能会感到吃力尤其是在缺乏对计算机内存管理基础了解的情况下掌握C++并非易事;该语言不仅具有多样化的功能与特性而且因其相对复杂的编程概念而更具挑战性

不过可以说:学习C语言等于掌握了C++的一半内容。当转向学习C++时,并不需要重新从零开始。然后继续深入学习下去就可以。因此我推荐优先掌握C语言后再去学习C++。

C++和C语言的血缘关系

如今看来,尽管C++和C被视为两种完全不同的编程语言,但它们之间的关系却极其微妙而复杂.

早期并未直接使用"++"运算符这一术语来指称该编程语言(后演变为C++),而是将其称为"带有类别的C语言"。这种语言作为标准C语言的一个重要延伸和发展而出现,在语法体系上增添了一些新的概念和用法目标是为了提升程序开发效率。对于具备Java Web框架开发经验的技术人员而言,在理解和应用相关概念时会发现与Servlet与JSP的工作原理存在相似之处

在那个阶段的C++还处于较为初级的状态,并未具备完整的开发生态。该系统主要以一种名为cfront的预处理程序为基础,在此框架下开发人员只能实现基础的功能模块,并将原始代码依次转换成标准格式后送交给传统的C语言编译器进行进一步构建。

C++ 作为一种流行的编程语言,在其发展过程中逐渐展现出强大的语法结构。其语法日益丰富且强大,在实践中现可全面支持面向过程编程、面向对象编程(OOP)以及泛型编程等多种编程范式。这种语言几乎发展成为一门独立的语言,并拥有独特的编译机制。

难以断定C++是否拥有独立的编译器系统。举例来说,在Windows系统中使用的是微软提供的cl.exe工具,在Linux系统中使用的是经过官方认证的GCC编译器,在Mac平台则采用Clang编译器,默认设置为Xcode开发环境。这些工具均兼容C/C++语言环境,并且在处理C语言代码时采用C语言方式,在处理C++代码时则遵循相应的C++规则进行处理。

表面看来,在编写 C 和 C++ 代码时会采用相同的 编程环境进行处理。然而,在讨论现代编程语言的发展时发现:尽管 后期的 C++ 开始自主开发一套独特的 编译机制(即所谓的自 contained 编解码流程),但并未提及 C++ 独立拥有 编程工具这一事实。

再说C++教程

编写这样一本针对无编程经验读者的C++教材是一项具有挑战性的任务。尽管如此,在编写过程中书籍的内容将会非常丰富。即便如此内容也不会深入探讨高级主题。

更为关键的是,在当前快速发展的时代背景下, 你难以全面掌握这些专业知识; 它将会对你的自信心造成严重损害, 并导致你丧失学习的热情.

我的建议

对于完全没有编程基础的读者来说,在开始学习之前最好先从C语言入手学习。对于已经具备一定编程基础的读者来说,请相信自己能够做出正确的选择。

掌握编程技能需要循序渐进而不能急于求成。不必妄想一步到位地精通一门语言就能取得理想的效果。在学习C语言的过程中首要任务是掌握C语言的基础语法并为其后续学习C++奠定基础的同时激发对编程的兴趣。另一目的是深入理解内存管理、编译原理以及链接过程从而透彻 grasp 编程语言的本质。

每个初学者都会面临这样一个困境:在学习阶段已经掌握了各种编程语言的基础知识,并通过教程练习编写了许多代码片段;然而,在面对实际问题时却常常感到无从下手。这种状态通常表现为缺乏解决问题的具体思路和方向感。

究其原因,就是实践少,没有培养起编程思维!学习知识容易,运用知识难!

当您掌握了C语言,并能写出上百行代码时,则对程序设计有了基本概念。此时深入学习C++的经典功能究竟如何在基础C语言上加以扩展,则能帮助您提升至更高水平。

在学术界的观点下,C++语言不仅涵盖了面向过程、对象和泛型编程等多种特性,而传统的C语言则仅提供了一种基础的面向过程的编程能力.就基础层面而言,C++与经典的C语言基本上是相同的,因此掌握C语言后无需重新学习C++的一半内容.

全部评论 (0)

还没有任何评论哟~