原标题:C语言发展史

C语言发展史

世界上本来没有计算机,工程师因为工作需要而创造了它。为了告诉计算机的正常运行,工程师发明了程序设计语言。

临近C语言考试,筒子们是不是和小编一样内心在抓狂、在咆哮呢?那今天就和小编一起来 了解一下C语言的发展史吧。

1

原始时代

一般认为,最原始的程序设计语言是机器语言,也就是0和1,其实这没有意义,因为人不可能真的去写0和1,所以人们把这些0和1转写成好看一点的格式,然后让机器翻译成0和1再保存下来。这就是原始汇编语言。

2

远古时代

人们在汇编语言的基础上,发明了很多高层语言,C语言就是其中最为成功的一个。C语言解决了汇编语言中所产生的问题,无需考虑类型、存储位置带来的指令的变化。

简单说就是C语言大大的抽象了汇编语言,通过C语言的编译器将C语言代码翻译成处理器指令集所支持的代码形式,这一过程被称之为编译。

3

中古时代

为了更好的开发GUI的应用程序,面向对象(OO)程序设计思想成为主流,于是人们开始在C语言的基础上增加一些特性使得其可以进行OO的编程。这其中的佼佼者就是C++语言。

早期的C++语言在语法上几乎完全兼容C语言,并且提供了强大的OO程序设计能力,利用C语言现存的内存分配模式以及指针操作实现了对象的创建、继承和多态等特性。但也是这一套模式带来了另一个灾难,也就是内存泄露。C++把OO引入语言后,对象被创建而忘记释放的问题开始爆发,C++语言一度被认为是最容易犯错的语言。

4

近代

为了解决C++暴露出来的问题,Java语言被发明出来。Java提出了中间语言和虚拟机的概念,Java程序会先编译为一种中间语言(ByteCode),然后再由运行在各个电脑上的Java运行时分析和执行这种中间语言。

事实上一次编译,到处运行针对的是C/C++这种直接编译为本地代码的语言。在这个意义上来说,Java是做到了理论上的一次编译,到处运行的可能性。

看到这里是不是越看越晕了呢?别急,让小编我来总结一下:

C语言于1972年发明,首次使用是用于重写UINX操作系统。

随着UNIX操作系统的成功,C语言也得到了大幅度地推广,被先后使用到大、中、小、微型主机上,至今还是世界上最流行、使用最广泛的高级程序设计语言之一。

C语言是一门面向过程的语言,非面向对象的语言。

文字来源|网络

微信编辑|刘月

责任编辑:

c语言发展过程,C语言发展史相关推荐

  1. c语言的发展8个过程,c语言发展过程.pptx

    C语言程序设计;C程序的上机步骤;机器语言;产生过程时间:1972~1973地点:美国贝尔实验室目的:UNIX操作系统设计人: Ken.Thompson和D.M.Ritchie;C标准标准C: K&a ...

  2. Java语言发展简史

    Java语言发展简史 JAVA 语言历史近二十年, 已发展成为人类计算机史上影响深远的编程语言. JAVA 语言是一门非常纯粹的面向对象编程语言, 它吸收了 C++ 语言的各种优点, 又摒弃了 C++ ...

  3. c语言1A,C程序设计语言1a.ppt

    C程序设计语言1a C 程 序 设 计 第一章 C语言概述 内容 计算机语言 C语言简介 C语言发展历史 C 语言特点 计算机程序 C语言程序 C语言程序的基本结构 C语言的语句 C语言的字符集和标识 ...

  4. C语言学习1——C语言概述

    一.C语言概述 1. C语言历史 1.1 1960年 ALGOL 60 面向问题,离硬件较远,不适合系统程序 1.2 1963年 CPL语言 接近硬件,但太过复杂,难以实现 英国剑桥大学 1.3 19 ...

  5. C语言程序设计----初识C语言与程序设计

    对于初次学习C语言程序设计,我们要了解到C语言程序设计的学习包括两个方面: 语法规则的学习和程序设计方法的学习:学习计算机语言和程序设计的目的: 就是要学会用计算机语言编写解决实际问题的程序. 一.C ...

  6. C语言框架作用,c语言结构(c语言基本框架)

    ◆ 基本要求 1.熟悉 Visual C++ 6.0 集成开发环境. 2.掌握结构化程序设计的方法,具有良好的程序设计风格. 3.掌握程序设计中简单的数据结构和算法并能阅读简单的程. 省略了结构体名, ...

  7. java语言概述、java语言特性、java语言发展史、java语言作用

    Java介绍: Java语言概述: Java语言是由美国Sun(Stanford University Network)斯坦福网络公司的java语言之父–詹姆斯·高斯林,在1995年推出的高级的编程语 ...

  8. java语言发展历程

        20世纪90年代,硬件领域出现了单片式计算机系统,这种价格低廉的系统一出现就立即引起了自动控制领域人员的注意,因为使用它可以大幅度提升消费类电子产品(如电视机顶盒.面包烤箱.移动电话等)的智能 ...

  9. ALGOL语言 发展历史

    一提到计算机高级语言,可能大家就会想到C语言.C++.Python.Java等等.ALGOL语言可能很多人都没有听说过. 但这个现在已经销声匿迹的语言却是C语言.C++.Java等高级语言的直接鼻祖, ...

最新文章

  1. java 去掉 时期中的图片,去除图片浅色背景(Java 实现)
  2. 目前可用的微博秀的嵌入方法大全(亲测2019年2月仍有效)
  3. Github上 Star 数相加超过 7w+ 的三个面试相关的仓库推荐
  4. Java中的文件下载
  5. 中国经验对印度等金砖国家智慧城市建设的启示
  6. 局域网查看计算机慢,局域网内的电脑访问共享文件夹速度很慢如何解决
  7. Active Directory系列之十七:实战详解域信任关系
  8. 面试常考题---交换变量
  9. 机器学习的几种方法(knn,逻辑回归,SVM,决策树,随机森林,极限随机树,集成学习,Adaboost,GBDT)
  10. django新建一个项目_如何使用Django创建项目
  11. The 6th Zhejiang Provincial Collegiate Programming Contest-ProblemA:Second-price Auction
  12. EMMA 覆盖率工具
  13. node.js第十课(HTTPserver)
  14. Java+Swing+Mysql图书管理系统
  15. 基于php网上零食商店管理系统获取(php毕业设计)
  16. linux系统 qq安装教程,在Linux环境下安装QQ教程
  17. 线性代数辅导讲义(第五章 特征值特征向量)
  18. 西安航空计算机录取分数线,2019西安航空学院录取分数线及历年专业分数线统计表【文科 理科】...
  19. 基于收益率的基金绩效归因
  20. Selenium—获取页面的title,url;使用句柄方式切换窗口

热门文章

  1. 带你看论文丨全局信息对于图网络文档解析的影响
  2. 一起来学习LiteOS中断模块的源代码
  3. 鲲鹏云实验-.NET Core 3.0-开始使用
  4. Java 复习笔记 线程Thread
  5. TikZ学习笔记番外篇: 使用tikzcd包绘制交换图
  6. SurfaceGo使用体验(使用半年后)
  7. 【李宏毅机器学习】Semi-supervised Learning 半监督学习(p24) 学习笔记
  8. 你为什么要学习WordPress?
  9. mysql本周数据没有填充_MySql查询本周、本月、本年数据(没有数据则补全0)
  10. 如何删除git config中的某一个配置项