0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C语言为什么能够恒久不衰,来看看吧!

C语言编程基础 来源:未知 作者:李倩 2018-11-15 12:58 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

C语言为什么能够恒久不衰,来看看吧!

正文

1、从C到C++

随着第一代计算机诞生初期,针对计算机的编程就开始了,最一开始用机器语言或汇编语言编写程序;

为了满足更多的需求:第一种高级语言FORTRAN诞生于1954年;

再然后由于门槛过高为了简化:BASIC语言孕育而生(1964)是由FORTRAN语言的简化而成的是为初学者设计的小型高级语言;

C语言是1972年由美国贝尔实验室的 D.M.Ritchie 研制成功的。它是为计算机专业人员设计的;

大多数系统软件和许多应用软件都是用C语言编写的。随着软件规模的增大,用C语言编写程序渐渐吃力了,于是便创造出了C++语言。

每一次的变革都是相当于一种巨大的进步,相当了一个更加细致的方向得到了发展。

2、C++的特点

C++是由 AT&T Bell实验室 于20世纪80年代初在C语言的基础上成功开发出来的。C++保留了C语言原有的所有优点,并增加了面向对象的机制。

C++是由C语言发展而来的,与C兼容。用C语言写的程序基本上可以不加修改地用于C++。从C++的名字可以看出它是C的超集。C++既可用于面向过程的程序设计,又可用于面向对象的程序设计,是一种功能强大的混合型程序设计语言。

备注:C++不是纯面向对象语言。

3、C++是对C语言的“增强”

(1) 在原来面向过程机制的基础上,对C语言的功能做了很多扩充。

(2) 增加了面向对象的机制。

面向对象程序设计,是针对开发较大规模的程序而提出来的,目的是提高软件开发的效率。不要把面向对象和面向过程对立起来,面向对象和面向过程不是矛盾的,而是各有用途互为补充的。小编推荐一个学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++程序设计》,这也充分体现了C语言和C++的关系。

说到谭浩强老师我这里要说一说了。国内很多读者对谭浩强老师褒贬不一。但我个人确实是比较推崇谭浩强老师的书,大学时候就是用他的书籍入门的。有很多人说他的书籍有错误,讲解的不好。我要说这个错误不怪他,《C语言程序设计》第一版刚出来的时候,系统还是Win98,16位的,所以相关一些类型占用的字节数等等,跟我们现在使用的x86或者x64根本不一样,所以才出现了网友口中的错误。不过《C语言程序设计》、《C++程序设计》 等谭浩强老师的书籍后续都有新版本,所以大家也不要总拿第一版或者老版本来说事儿。

4、用途:C语言和C++都能做什么呢?

C语言:操作系统底层、系统驱动、单片机嵌入式方面 等等;

C++:网络游戏开发、音视频技术、Socket网络通信,另外,苹果/谷歌/微软 等大型软硬件公司的系统或者软件上面都支持C/C++语言的集成开发。

你常用的软件大多数都是C++写的,例如:Office软件:MS Office,WPS Office,OpenOffice/LibreOffice,你所用的Windows也用了大量的C++,你说你在用C#和SQL,那我告诉你你用的 VS IDE 核心部分是C++写的,你用的C#,C# 的.Net执行框架也是C++写的,你用的Sql数据库,是Sql Server吧?很不幸,Sql Server也是cpp写的、你上网页在用浏览器吗?很不幸,浏览器内核都是C++写的,界面大多数浏览器界面也是C++写的,你聊天用的 QQ、YY、Skype 等也是C++写的。这些都是你绝对有在用的,至于其他,还有很多,杀毒软件、PhotoShop、Maya,N多行业软件,几乎所有的端游 等等,都是C++写的。你问我C++能做什么实际的东西,我告诉你什么也做不了,你信吗?

C++ 的几个常见的发展方向:客户端,游戏,服务端,嵌入式,移动端(移动只要是跨平台的移动端用C++写通用部分,GUI可以用平台特性,也可以用C++的跨平台框架)

针对界面UI方面C++的选择也是很多的,其实C++还是擅长“内功”的方面。如果你想带个GUI界面的话,也有很多类似Qt之类的框架和界面库可以使用,网上有很多,而且很多都跨平台,还开源,不管是 Windows,还是Mac,还是Linux,还是移动端平台,通吃的。本身C/C++就是跨平台的。

另外,说点大家感兴趣的,什么远程控制软件,什么木马,什么外挂等等,可以说95%以上都是用C/C++来写的。

难道这么多的用途还不值得大家来好好学学C/C++吗?

另外,闻道有先后、术业有专攻,C++虽然功能很强大,几乎什么都能做,但有的地方也是不适合,不是不能做而是不适合。比如网页开发,C++也能做,但是还是建议使用Java-Web或者PHP之类的语言来做,毕竟他们就是为了Web开发而生的。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    183

    文章

    7649

    浏览量

    146414
  • C++
    C++
    +关注

    关注

    22

    文章

    2131

    浏览量

    77495
  • 机器语言
    +关注

    关注

    0

    文章

    36

    浏览量

    11079

原文标题:C/C++只做经典编程语言,经典才能不朽

文章出处:【微信号:xx-cyy,微信公众号:C语言编程基础】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    C语言指针p、*p、&p、*&p、&*p分别代表什么

    C语言中,指针是非常重要的概念。指针是一个变量,其值为另一个变量的地址。使用指针可以直接访问内存中的数据,这使得C语言非常灵活和强大。在学习C
    发表于 01-07 07:34

    C语言主要特点

    。 5.语法限制不太严格,程序设计自由度大。 6.C语言允许直接访问物理地址,能进行位(bit)操作,能够实现汇编语言的大部分功能,可以直接对硬件进行操作。因此
    发表于 01-05 07:41

    汽车网络安全开发语言选型指南:C/C++/Rust/Java等主流语言对比+Perforce QAC/Klocwork工具支持

    汽车网络安全如何选编程语言CC++、Rust、Java……谁更适合AUTOSAR、ISO/SAE 21434?一文了解8种主流语言的优劣与适用场景,以及Perforce QAC/K
    的头像 发表于 12-26 11:13 742次阅读
    汽车网络安全开发<b class='flag-5'>语言</b>选型指南:<b class='flag-5'>C</b>/<b class='flag-5'>C</b>++/Rust/Java等主流<b class='flag-5'>语言</b>对比+Perforce QAC/Klocwork工具支持

    如何用好 C 语言函数的返回值?

    C语言也有“行业潜规则”,不过,对于一般的函数,大多数C语言程序员常常使用返回值 0 表示成功,非零值表示失败。因此,如果**我们定义的函数能够
    发表于 12-25 07:17

    C语言C++的区别及联系

    C语言C++到底是什么关系? 首先C++和C语言本来就是两种不同的编程
    发表于 12-24 07:23

    C语言特性

    1、高效性:直接操作硬件 C 语言代码的执行效率极高,这是其最为显著的优势之一。它能够直接访问硬件资源,与底层硬件进行紧密交互,充分发挥硬件的性能潜力。在嵌入式开发中,硬件资源往往十分有限,对程序
    发表于 11-24 07:01

    C语言在嵌入式开发中的应用

    发动机的最佳性能和燃油经济性。C 语言的高效性和对硬件的直接操作能力,使得它能够满足 ECU 对实时性和精确性的严格要求。据统计,全球超过 80% 的汽车 ECU 软件都是用 C
    发表于 11-21 08:09

    C语言和单片机C语言有什么差异

    单片机c语言相对于普通C语言增加了一些基本的指令,还有变量的赋值是16进制,当然单片机c语言只牵
    发表于 11-14 07:55

    C语言的printf基本用法介绍

    个简单的例子: printf(\"C语言\"); 这个语句可以在屏幕上显示“C语言”,与puts(\"C
    发表于 11-12 07:04

    蜂鸟E203能够仿真运行C语言程序吗?

    我看那两本书里面都是说怎么在FPGA上运行C语言程序和Benchmark程序,它提供仿真器下如何编译运行C语言程序吗?
    发表于 11-06 06:21

    nuclei studio生成的c语言文件是不支持c的语法吗?

    nuclei studio 生成的c语言文件感觉不支持c的语法,因为刚使用这个软件,还请各位大佬帮忙看看
    发表于 10-20 11:02

    C语言入门(硬件嵌入式那种不是APP开发的)

    C语言入门(硬件嵌入式那种不是APP开发的),有没有对初学者很友好的书籍、视频等资料推荐一下,一直以来看了正dian原子、野火等的视频、文档结果从快要入门到放气,然后再从放气到快要入门,一直没有进展,还望指点迷津,感谢
    发表于 09-27 12:03

    磁栅尺在数控机床领域的应用案例,一起来看看吧

    磁栅尺在数控机床领域的应用案例:某汽车零部件企业曲轴加工:某汽车零部件企业在数控铣床、加工中心等设备中加装法国雷恩磁栅尺,可实时反馈刀具位置,将重复定位精度提升至 ±0.01mm,有效减少了因机械磨损导致的加工误差,使曲轴加工合格率从 92% 提升至 99.6%。
    的头像 发表于 09-15 15:02 878次阅读
    磁栅尺在数控机床领域的应用案例,一起<b class='flag-5'>来看看吧</b>!

    MiniVC6(C语言快速部署)资料

    MiniVC6(C语言快速部署)软件,无需安装。
    发表于 09-04 16:59 0次下载

    低频变压器厂家,有哪些是符合你设备的变压器!来看看吧

    ​一、按核心应用分类 吕:生:150-1909-3116 工频电力变压器 工作频率: 50Hz/60Hz 典型类型: 配电变压器: 10kV/0.4kV,为楼宇、工厂供电(如油浸式、干式变压器)。 电力变压器: 高压输电系统(110kV~1000kV),用于变电站升压/降压。 自耦变压器: 大容量、低成本,用于电网电压调节(如220kV/110kV自耦变)。 整流变压器: 为电解、电镀等直流设备供电,需承受谐波电流(如12脉波整流变)。 特点: 铁芯采用硅钢片,体积大、功率高,注重效率与温升控制
    的头像 发表于 07-23 08:47 1137次阅读
    低频变压器厂家,有哪些是符合你设备的变压器!<b class='flag-5'>来看看吧</b>