第1课:1分钟了解C语言

第1课:1分钟了解C语言

C语言的发展

最初程序员使用的程序设计语言是一种用二进制代码“0”和“1”形式表示的、能被计算机直接识别和执行的语言,称为机器语言。它是一种低级语言,用机器语言编写的程序不便于记忆、阅读和书写。通常不用机器语言直接编写程序。

在机器语言的基础上,设计出了汇编语言,它可以将机器语言用便于人们记忆和阅读的助记符表示,如ADD、SUB、MOV等。汇编语言适用于编写直接控制机器操作的低层程序,它与机器密切相关,汇编语言和机器语言都是面向机器的程序设计语言,称为低级语言

随着计算机应用的发展,出现了高级程序设计语言。它是一种与硬件结构及指令系统无关,表达方式比较接近自然和数学表达式的计算机程序设计语言。

C语言是一种具有很高灵活性的高级程序设计语言。

1972年至1973年间,贝尔实验室的D.M.Ritchie在B语言的基础上设计出了C语言,后来C语言又做了多次改进。早期的C语言主要是用于UNIX系统。由于C语言的强大功能和各方面的优点逐渐为人们认识,到了80年代,C语言开始进入其他操作系统,并很快在各类大、中、小和微型计算机上得到了广泛的使用,成为当代最优秀的程序设计语言。

C语言的特点

C语言是一种结构化语言。

它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强,它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构,它还可以直接访问内存的物理地址,进行位(bit)一级的操作。由于C语言实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体,既可用于系统软件的开发,也适合于应用软件的开发。此外,C语言还具有效率高、可移植性强等特点。

用高级语言编写的程序称为“源程序”,计算机不能识别和执行,而需要把用高级语言编写的源程序翻译成机器指令,通常有编译和解释两种方式。

编译方式是将源程序整个编译成等价的、独立的目标程序,然后通过连接程序将目标程序连接成可执行程序。

解释方式是将源程序逐句翻译,翻译一句执行一句,边翻译边执行,不产生目标程序,在整个执行过程中,解释程序都一直在内存中。

已经编写好的符合C语言语法要求的程序,叫做源程序。

一个C语言源程序从编写到最终实现结果,需要经过编辑、编译、连接和执行四个过程

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/5633.html

(0)
江山如画的头像江山如画管理团队
强!在线自动抠图网站-最强大的AI去背景神器
上一篇 2020年4月5日 上午8:10
第2课:编写第一个C语言程序
下一篇 2020年4月5日 上午9:04

99%的人还看了以下文章

  • OpenCV-最优秀的Python人脸识别库安装及入门教程

    OpenCV库(open source computer vision library)是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上,具有跨平台特性,轻量级且高效,实现了图像处理和计算机视觉方面的很多通用算法。 OpenCV用C++语言编写,它具有C ++,P…

    2020年12月8日
    16.1K2
  • 上机三 Java Web应用程序设计

    建议学时:8 2学时 一、编写JSP页面date.jsp,格式化显示系统当前时间 需要使用Date类和SimpleDateFormat类。 在头部引入。 <%@ page import=”java.util.Date”%> <%@ page import=”java.text.SimpleDateFormat”%> SimpleDat…

    2018年9月11日
    24.6K1
  • 什么是单元测试,单元测试快速入门教程一

    单元测试概述 单元测试是在软件开发过程中要进行的最低级别的测试活动或者说是针对软件设计的最小单位—程序模块(程序中定义的函数、子程序、类或方法),进行正确性检验的测试工作,目的在于发现每个程序模块内部可能存在的差错或缺陷。 在单元测试活动中,软件的独立单元将在与程序的其它部分相隔离的情况下进行测试,主要工作分人工静态检查(静态测试)和动态执行跟踪(动态测试)…

    2018年4月16日
    8.5K0
  • pycharm 中 plt.imshow(img)图片不显示的解决方法(附案例)

    #%matplotlib inline # 使用%matplotlib命令可以将matplotlib的图表直接嵌入到Notebook之中,或者使用指定的界面库显示图表,它有一个参数指定matplotlib图表的显示方式。inline表示将图表嵌入到Notebook中。 # Python提供了许多魔法命令,使得在IPython环境中的操作更加得心应手。魔法命令…

    2023年1月13日
    5.9K0
  • Java Vector可实现自动增长的对象数组

    java.util.vector提供了向量类(Vector)以实现类似动态数组的功能。创建了一个向量类的对象后,可以往其中随意插入不同类的对象,即不需顾及类型也不需预先选定向量的容量,并可以方便地进行查找。 对于预先不知或者不愿预先定义数组大小,并且需要频繁地进行查找,插入,删除工作的情况,可以考虑使用向量类。 向量类提供了三种构造方法: public ve…

    2020年8月20日
    6.2K0
  • 免费网站打包APP,网址打包APP教程 – HBuilder

    免费网站打包APP,网址打包APP教程 – HBuilder免费网站打包APP,网址打包APP教程 – HBuilder免费网站打包APP,网址打包APP教程 – HBuilder免费网站打包APP,网址打包APP教程 – HBuilder

    网上有很多将网站在线打包成APP的网站,都是收费,其实网站只要做好移动端优化,或本身就是响应式网站,只需要简单的几个步骤就能把网站打包成简洁的APP。 相应工具很多,中国网页设计推荐使用:HBuilder:官网dcloud.io 会做网页就会制作APP 先学习如何制作APP   VS   先学的制作网页 其实很多APP都是利用网页打包成的… 利用HBuild…

    2019年6月24日 编程开发
    13.8K0

发表回复

登录后才能评论