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++的关系。

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++交流群:“648778840”,不管你是小白还是大牛欢迎入住,大家一起交流成长。小编会在群中不定期分享干货源码,包括我精心整理的一份c++零基础教程。欢迎各位感兴趣的的小伙伴。

如果大家对C/C++感兴趣的话,可以加一下我们的学习交流Q群:637  935  295,免费领取一套学习资料和视频课程哟~

学习思路:

C/C++只做经典编程语言相关推荐

  1. 拆解国企10条“潜规则”,压在肚里只做不说,再有本事也混不好

    国企的职场生态,与外企民企私企的完全不一样.所以,不要什么"鸡汤"都喝.在民企,只要你有干货有业绩,老板也会敬你三分,你没有利用价值了,老板也只会把你当抹布.国企里评价体系比较复杂 ...

  2. AI一分钟 | 科大讯飞2017年度财报:营收54.45亿元,净利润4.35亿元;滴滴首谈无人驾驶战略:只做软件不造车

    2018 区块链技术及应用峰会(BTA)·中国 倒计时 1 天 2018,想要follow最火的区块链技术?你还差一场严谨纯粹的技术交流会--2018区块链技术及应用峰会(BTA)·中国将于2018年 ...

  3. 头的大小是天生的吗_眼睛一单一双怎么办?可以只做一只吗?

    自古以来对于眼睛这个部位的赞誉一直是数不胜数,一双灵动迷人的眼睛有多重要,从为它配套的周边产品例如化妆品护肤品的数量种类的多少就能看出端倪. 但是每个人的眼睛都不一样,有单眼皮双眼皮的区别,除此之外更 ...

  4. SAP WM LT15不能取消二步法确认场景中只做过第一步确认的TO单

    SAP WM LT15不能取消二步法确认场景中只做过第一步确认的TO单 1,如下TO 需要2步法确认,TO#3000006418 看其确认状态时黄色三角形状态,说明第一步确认(LT1D)已经被业务人员 ...

  5. 程序员的杂想-不要只做一名程序员

    从一次进食堂吃饭感想:食堂运营模式一般有两种: 多个窗口,每个窗口有一位负责打菜 结账: 流水线: 到底哪种方式更好呢?作为程序员,首先想到的是吞吐量:怎么算呢?是以单位出队人次 还是以 工作人员单位 ...

  6. 只做决定的架构师会成为团队的瓶颈!

    我在阿里巴巴工作期间是一个名副其实的"刺头",批判中台.批判架构师.批判技术管理者,当然,也包括自我批判. 今天来聊聊批判架构师! Martin Fowler在他的一篇IEEE论文 ...

  7. 你以为A10 Networks只做应用交付?

    本文讲的是 你以为A10 Networks只做应用交付?,2004年创立的A10 Networks是一家 "应用交付"产品的知名厂商.但实际上,A10的抗D和加解密等网络安全能力的 ...

  8. 网易云信三周年:我们只做第一

    2018年10月11日,网易旗下的通讯与视频云服务品牌网易云信迎来成立三周年的里程碑.在网易云信内部的三周年特刊中,网易云信总经理阮良表达了对过往三年成绩的回顾以及对未来更为清晰的目标:网易云信只做第 ...

  9. 双十一大促技术只做两件事情?来看看阿里巴巴的技术之道

    作为国内互联网技术的典型代表,阿里巴巴的技术一直备受关注 编者按:本文来自微信公众号"InfoQ"(ID:infoqchina),36氪经授权发布. 支付宝的高可用与容灾架构演进 ...

最新文章

  1. java代码操作git_JGit--实现Git命令操作的Java API
  2. 树状数组(Binary Indexed Tree) 总结
  3. Java中的基本数据类型以及Java的基本结构
  4. 用私有构造器或者枚举类型强化Singleton 属性
  5. Android 6.0 7.0 8.0 一个简单的app内更新版本-okgo app版本更新
  6. “约见”面试官系列之常见面试题之第六十一篇之IE和DOM事件流(建议收藏)
  7. Eclipse配置svn
  8. windows下一些常用的dos命令
  9. ITK在vs2010下安装、搭建
  10. 2016.5.10(编写Java无脚本的JSP页面)
  11. CamtasiaStudio如何导出视频上传优酷实现高清
  12. 如何安装Bodymovin插件
  13. renpy-视觉小说转换器-编程零基础写视觉小说
  14. 利用natapp做内网穿透
  15. PhotoShop软件笔记
  16. 小程序注册及域名服务器需要准备的资料
  17. java语言就业方向_java就业有哪些方向
  18. Python——第四天的Gut Punch
  19. JavaScript变量提升(Hoisting)详解
  20. 【pytest官方文档】解读- 如何自定义mark标记,并将测试用例的数据传递给fixture函数

热门文章

  1. 互联网日报 | 4月7日 星期三 | 雷军称小米首款汽车售价10至30万;携程通过港交所上市聆讯;深交所主板与中小板正式合并...
  2. 2020年中国工业品B2B行业研究报告
  3. 2020上半年中国教育行业投融资报告
  4. 用友元函数重载乘法,用成员函数重载除法
  5. php 取数组数量_PHP array_slice():截取数组的一部分
  6. 【操作系统】多线程与多任务的比较
  7. 【Java】用Jackson进行JSON序列化/反序列化操作
  8. 项目需求分析——如何理解和识别系统需求?
  9. p2p-如何拯救k8s镜像分发的阿喀琉斯之踵?
  10. vue-cli打包后的思索--代码优化