C与C++的真正区别在哪里(C语言通常被认为是面向系统的编程语言)

面向对象&面向过程

C++是C语言的延伸,可以理解为C++在C语言里加入了面向对象的特性。因为只有面向对象特性的加持,代码才能更好的复用、扩展和工程化,这是大型项目的必备要素。

而C语言是一种通用的、面向过程的计算机程序设计语言。

C++经常与C混用,这主要是因为许多人没有掌握C++语言中“面向对象”的概念,所以只能写出所谓“具备C++语言一些特性的C代码”。如果正维护某些用C++编写的老系统,可能你会看到大量这种类型的代码。

从技术上讲,C++是C的超集,这意味着C程序可以在C++编译器编译成功(会有一些特殊情况)。

类&数据类型

在C++中,类是一种规范,它描述了这种新型数据格式,对象是根据这种规范构造的特定数据结构。例如,类可以描述公司管理人员的基本特征(姓名、头衔、工资、特长等),而对象则代表特定的管理人员。通常,类规定了可使用哪些数据来表示对象以及可以对这些数据执行哪些操作。

在 C 语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。

应用角度

从应用角度来看,C++多用于开发各种后台使用的算法和逻辑库。而C语言则更底层,主要用于开发更核心的算法、驱动程序和控制程序等。它允许开发者直接访问计算机的内存,操纵计算机的许多底层部件,你会发现C被广泛应用在操作系统、底层硬件、嵌入式系统等方面,C语言通常被认为是面向系统的编程语言。

学习路径

对于C语言的学习来说,需要了解最基础的语法诸如变量/循环/字符串等等,那学习C++的就需要在这个基础上增加对面向对象(封装、继承与多态)特性、泛型、模板、STL等等内容的学习。

不过,C和C++的学习路径大体相同,可以简单分为五大类:算法和数据结构、面向对象思想、基本语言知识、产品开发和与其他语言混合开发。在这个分类之下还有一些更细致的内容,如图所示:

C/C++是更快、更底层的语言,要想高效使用C/C++语言,就需要掌握更多的算法和数据结构的知识,以及操作系统和多线程的知识。尤其是操作系统的知识,因为程序最终要运行在操作系统上。

例如,如何读取一个文件的时间属性,如何读取键盘的特定键,如何建立一个目录等,这些都与程序运行的平台(操作系统)有紧密的关系。对这些知识了解得越多,就越能编写出高效、简洁的C/C++语言程序。

如果要编写一个大规模的程序,还需要具备设计模式的知识。除此之外,大中型的程序一般都是混合利用多种语言来开发的,这样就可以充分发挥各种语言的优点。例如,为了得到更好的界面,一般都会采用C#和Java进行开发,而核心的算法和靠近硬件的部分则需要采用C/C++语言编写。

要想真正融会贯通,一定要知道一些C++与其他语言混合开发的知识,例如C++/CLI, 或者是COM组件的知识。

对于想要入门C++的同学,人邮君推荐你读C++入门经典教程——《C++ Primer Plus 第6版 中文版》,作者是[美]史蒂芬·普拉达(Stephen Prata)。

2020版赠送价值99元e读版电子书及在线实验环境,附赠大尺寸(60CM*80CM)全书学习思维导图。

C++ Primer Plus 第6版 中文版(异步图书出品)

  • 专为零基础读者撰写,近百万程序员的C++编程启蒙教程;

  • 全新升级,针对C++11标准全面更新;

  • 示意图解释概念,方便理解;

  • 随时指出潜存的问题,避免走弯路;

  • 庖丁解牛式分析程序,确保知其然更知其所以然;

这本书是根据2003年的ISO/ANSI C++标准编写的,通过大量短小精悍的程序详细而全面地阐述了 C++的基本概念和技术,并专辟一章介绍了C++11新增的功能。

全书分18章,分别介绍了C++程序的运行方式、基本数据类型、复合数据类型、循环和关系表达式、分支语句和逻辑运算符、函数重载和函数模板、内存模型和名称空间、类的设计和使用、多态、虚函数、动态内存分配、继承、代码重用、友元、异常处理技术、string类和标准模板库、输入/输出、C++11新增功能等内容。

本书针对C++初学者,从C语言基础知识开始介绍,然后在此基础上详细阐述C++新增的特性,因此不要求读者有C语言方面的背景知识。可供初学者自学C++时使用,也可作为高等院校教授C++课程的教材。

本书包含大量的示例代码和编程练习,此外,还有配套的习题答案。

C++ Primer Plus 第6版 中文版习题解答(异步图书出品)

《C++ Primer Plus(第6版)中文版习题解答》共分为18章,每一章的主题与《C++ Primer Plus(第6版)中文版》完全一致。每章开篇采用思维导图的方式列出本章的知识点,然后对每章的重点内容进行了梳理总结,最后则对每章中的复习题和编程练习进行了分析并给出了解答思路,确保读者在彻底夯实理论知识的同时,进一步提升实际编程能力。

C++语言入门经典教程:C++ Primer Plus 第6版 中文版+

有兴趣的同学还可以登录异步社区https://www.epubit.com/,学习免费课程!

想要入门C语言的同学,人邮君推荐你读C语言入门经典教程《C Primer Plus 第6版 中文版》,作者也是[美]史蒂芬·普拉达(Stephen Prata)。

C Primer Plus 第6版 中文版(异步图书出品)

(C语言通常被认为是面向系统的编程语言)

(0)

相关推荐

  • 编程大佬总结的50点学习C 的方法,一针见血,少走弯路

    马上到2021年了,我们都知道2020年,不论是工作还是生活都产生了很大的影响. 2021年,出现了很多的工作机会,互联网作为热门行业,市场需求越来越大,做一名程序员似乎更加吃香一点. 社会对于c 语 ...

  • 绕开C语言4个大坑,这个学习顺序要牢记

    虽然 C 语言是众多初学者进入编程世界的首选语言,但真正通过C 语言入行的人并不多,甚至不到"望 C 止步"的一半! 中途而退的人都说难!难!难!难上加难!看了很多专业书籍.记录重 ...

  • Python语言系列文章总结

    Python系列文章复习总结 终于,python文章已经更新完了,这里做出一下总结复习,相当于是整合出一个目录以便大家使用. 文章的章节梳理在下文中,针对文章的视频版梳理在B站 (B站账号:小小猿笔记 ...

  • 这才是你想要的C语言学习路线!

    作为一门古老的编程语言,大家熟知它不仅是因为拥有48年的发展历程,更主要还是因为当下大部分程序员走入编程世界第一个学习的语言就是C语言. 而近年来高速发展的物联网和智能设备,又把C语言推向了风口浪尖, ...

  • 知识库大放送——Python简介

    大家都知道,Python是一个依赖强大的组件库完成对应功能的语言.近几年Python市场异常火热,越来越多的人开始进军这一领域,今天就带大家了解以下Python. Python([KK] 英语发音: ...

  • 电脑cmos设置和bios设置有什么区别?详细介绍cmos设置和bios设置-系统城

    在日常操作和维护电脑的过程中,常常可以听到有关BIOS设置和CMOS设置,BIOS设置和CMOS设置是什么?这两个设置有什么区别?许多人对BIOS和CMOS经常混为一谈,其实这两个设置是不一样的.为帮 ...

  • 儒、释、道三家文化的七大区别

    闲云谷 峰下闲云云上松,珍兰奇蕙伴节丛:不忍移爱进瓦罐,卷书抱坛迁谷中. 994篇原创内容 公众号 一.文化主旨 儒家文化--积极进取的文化 儒家倡导知识的获取和品德的培养,是一种积极向上的文化. 道 ...

  • 招摇撞骗罪和诈骗罪有什么区别

    招摇撞骗罪和诈骗罪都表现为欺骗行为,招摇撞骗罪也可以像诈骗罪一样骗取财物,两者容易混淆,大家知道招摇撞骗罪和诈骗罪有什么区别吗? 律师解答: 招摇撞骗罪侵犯的客体主要是国家机关的威信及其正常活动,而诈 ...

  • 香港服务器托管和租用有什么区别?

    香港服务器托管和租用有什么区别?托管和租用都是服务器选择使用方式,想要知道香港服务器托管和租用两种方式有什么区别以及哪种方式比较好,就需要深入了解它们,下面我们就聊聊香港服务器托管和租用的区别. 什么 ...

  • “全款”和“贷款”买房有什么区别?内行:10年后,差距一目了然

    因为现在国内的房价总体上呈现出不断上涨的趋势,尤其是在一二线城市靠近市中心的房子更是高到令现在的不少家庭都有着很大的生活重担,对于现在的年轻人来说也很难能够在他们的承受范围之内. 所以,如果高房价持续 ...

  • “普通人vs 女网红的区别...” 哈哈哈哈哈哈哈哈哈过于真实!

    网上冲浪久了 不得不感叹 现在的女网红真的很努力 为了拍出 前凸后翘的照片 不管何时何地 都执着地凹着浮夸的摆拍造型 网友甚至总结出了当网红的精髓 普通人vs 女网红的区别 学废了 离网红就差一个骨盆 ...

  • 木耳秋耳只差一个字,区别大不同!牢记2点,轻松分辨,不被忽悠

    买木耳有技巧,遇见这4种,不管多少钱也不要买,难吃又费钱 各位读者朋友们大家好,感谢阅读我分享的美食文章,经验和大家一起共享,今天我要和大家分享的内容是:『木耳秋耳只差一个字,区别大不同!牢记2点,轻 ...

  • 药品甲类和乙类的区别

    对于药品,我们都很熟悉.不管怎么样,都有用过各类药物.其实,药品的种类多种多样.世界上有多少种疾病,相对应就会有多少种药物.有句话不是说对症下药,说的就是药物和疾病的关系.由于对人的重要性,因此由不得 ...