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语言
    +关注

    关注

    180

    文章

    7528

    浏览量

    128312
  • C++
    C++
    +关注

    关注

    21

    文章

    2066

    浏览量

    72897
  • 机器语言
    +关注

    关注

    0

    文章

    35

    浏览量

    10699

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

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

收藏 人收藏

    评论

    相关推荐

    C语言能够实现单片机功能,为什么还要使用汇编呢?

    C语言能够实现单片机功能,为什么还要使用汇编呢? C语言是一种高级编程语言,它具有跨平台、可移植性强、易于使用的特点,使得开发人员能够快速且
    的头像 发表于 01-15 14:59 224次阅读

    语言开发的流程详解

    现在不少应用都是要求有多语言切换的, 使用QT开发上位机也同样需要做多语言功能, 不过QT是自带了多语言翻译功能, 可以很方便的借助原生工具进行, 下面就简单来看看
    的头像 发表于 11-30 09:08 379次阅读

    还没使用SiC FET?快来看看本文,秒懂SiC FET性能和优势!

    还没使用SiC FET?快来看看本文,秒懂SiC FET性能和优势!
    的头像 发表于 11-29 16:49 375次阅读
    还没使用SiC FET?快<b class='flag-5'>来看看</b>本文,秒懂SiC FET性能和优势!

    来看看他们用代码写的“三行诗”

    往期精选 原文标题:来看看他们用代码写的“三行诗” 文章出处:【微信公众号:宏景智驾】欢迎添加关注!文章转载请注明出处。
    的头像 发表于 10-25 15:55 168次阅读
    <b class='flag-5'>来看看</b>他们用代码写的“三行诗”

    Android端自定义铃声 MobPush对安卓端自定义铃声的教程

    如何为APP推送设置独特的通知铃声呢?本次带来的是MobPush对安卓端自定义铃声的教程,快来看看吧~
    的头像 发表于 10-21 15:34 810次阅读
    Android端自定义铃声 MobPush对安卓端自定义铃声的教程

    C语言经典算法大全

    C语言经典算法,详细解析算法过程及算法思想,给读者具有启发意义,教程包含C语言大部分常用算法,仅供学习,禁止商业传播
    发表于 10-07 08:16

    C语言深度解析

    C语言深度解析,本资料来源于网络,对C语言的学习有很大的帮助,有着较为深刻的解析,可能会对读者有一定的帮助。
    发表于 09-28 07:00

    Linux下C语言编程入门教程

    u3000本文是Linux 下C 语言编程入门教程。主要介绍了Linux 的发展与特点、C语言的基础知识、Linux 程序设计基础知识及其下C
    发表于 09-22 06:56

    在Virtuoso中认识PMOS管和NMOS管

    具体的在版图设计中PMOS管和NMOS管是什么样子的,我们来看看吧
    发表于 09-12 10:28 2996次阅读
    在Virtuoso中认识PMOS管和NMOS管

    储能产业风向如何?来看看这7家央企布局

    ,从其发电量数据看,储能效益也已显现:公司在上半年完成发电量0.25亿千瓦时,较上年同期增长66.67%,在所有独立板块中同比增幅最高。这让其比较从容地应对了枯水期挑战。但目前来看,储能作为新兴产业,也面临多重困难,市场盈利模式尚不清晰。 基于此
    的头像 发表于 09-11 12:45 352次阅读

    Nuclei Studio在debug时C语言可以显示汇编语言吗?

    在仿真时,我想看看某段C语言代码被编译成了什么汇编指令、某个函数需要压多少栈之类的问题。在keil ide里是可以看到汇编的,不知道NucleStudio里是否可以看到,如何设置?谢谢
    发表于 08-16 07:27

    中奖名单来了,快来看看有没有你

    兴! 请两位留意后台消息 我们将与您联系 尽快发放奖品 感谢大家对中兴通讯的支持 原文标题:中奖名单来了,快来看看有没有你 文章出处:【微信公众号:中兴通讯】欢迎添加关注!文章转载请注明出处。
    的头像 发表于 08-04 17:50 312次阅读

    嵌入式用什么语言编程?

    系统开发过程中使用的语言种类有很多,但仅有少数的几种语言得到了比较广泛的应用,主要有Ada、C/C++等几种,接下来看看这几种
    发表于 05-18 10:08

    8 位单芯片微控制器 78K0/Lx3-看看吧

    8 位单芯片微控制器 78K0/Lx3 - 看看吧
    发表于 04-28 20:09 0次下载
    8 位单芯片微控制器 78K0/Lx3-<b class='flag-5'>看看吧</b>!