时间:2022-10-09 17:24:01 | 浏览:658
近年来,C语言不仅是计算机专业学生的必修课,也是许多非计算机专业学生所青睐的技术学科。它具有简洁紧凑、灵活方便、适用范围大、可移植等优点,是应用最为广泛的一种高级程序设计语言。
计算机语言是用于人与计算机间通信的语言,为使计算机进行各种不同的工作,就需要有一种专门用来编写计算机程序的字符、数字和语法规则,而这些规则构成计算机的指令。计算机语言分机器语言、汇编语言和高级语言3种,下面将分别进行详细讲解。
机器语言
计算机工作基于二进制,它只能识别和接受由1和0组成的指令,其中1表示通电,0表示断电,这种计算机能直接识别和接受的二进制代码称为机器指令。机器指令的集合就是该计算机的机器语言,机器语言具有灵活、直接执行和速度快等特点。不同型号的计算机其机器语言是不相通的,按照一种计算机的机器指令编制的程序,不能在另一种计算机上执行。因此用机器语言编写程序,编程人员要首先熟记所用计算机的全部指令代码和代码的涵义。而且,编写出来的程序都是0和1的指令代码,直观性差,容易出错。因此只有极少数的计算机专业人员会学习和使用机器语言,绝大多数的程序员不再学习机器语言。
汇编语言
尽管机器语言对计算机来说很好懂也很好用,但是对于编程人员来说,记住0和1的组成的指令简直就是煎熬,为了解决机器语言的难记忆问题,汇编语言诞生了,它用简洁的符号串或字母来替代不易记忆的机器语言,而计算机识别不了符号串,这就需要一个将 这些符号翻译成机器语言的程序,把这种程序称为汇编程序。汇编程序里一条指令只能对应实际操作中的一个很细小的动作,例如自增、移动,所以汇编源程序一般比较繁长、易出错,并且使用汇编语言编程需要有扎实的计算机知识,才能编出高质量代码。
高级语言
绝大数编程者喜欢高级语言,它简化了程序中的指令、略去了很多细节,并且与计算机的硬件关系不大,更利于程序员编程。此外,高级语言经历了结构化程序设计和面向对象程序设计,使得程序可读性、可靠性、可维护性都增强。常见的高级语言包括VB、C、C++、Java、C#、Python等等。
在C语言诞生以前,系统软件主要是用汇编语言编写的,由于汇编语言程序依赖于计算机硬件,其可读性和可移植性都极差,一般的高级语言又难以实现对计算机硬件的直接操作(这正是汇编语言的优势),于是人们迫切希望有一种兼有汇编语言和高级语言特性的新语言,C语言就在这种需求下应运而生。
C语言的发展颇为有趣。它的原型ALGOL 60语言。(也称为A语言)
1963年,剑桥大学将ALGOL 60语言发展成为CPL(Combined Programming Language)语言。
1967年,剑桥大学的马丁·理查兹(Matin Richards)对CPL语言进行了简化,于是产生了BCPL语言。
1970年,美国贝尔实验室的肯·汤普森(Ken Thompson)将BCPL进行了修改,并为它起了一个有趣的名字“B语言”,其含义是将CPL语言煮干,提炼出它的精华,并且他用B语言写了第一个UNIX操作系统。
1973年,美国贝尔实验室的丹尼斯·里奇(Dennis M.Ritchie)在B语言的基础上设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,即C语言。
1978年,布赖恩•凯尼汉(Brian W.Kernighan)和丹尼斯·里奇(Dennis M.Ritchie)出版了名著《The C Programming Language》,从而使C语言成为目前世界上流传最广泛的高级程序设计语言。
早期的C语言主要是用于UNIX系统,由于C语言的强大功能和各方面的优点逐渐为人们认识。到了八十年代,C开始进入其它操作系统,并很快在各类大、中、小和微型计算机上得到了广泛的使用,成为当代最优秀的程序设计语言之一。
随着微型计算机的日益普及,出现了许多C语言版本。由于没有统一的标准,使得这些C语言之间出现了一些不一致的地方。为了改变这种情况,美国国家标准学会(ANSI)于1989年为C语言制定了一套ANSI标准,即C语言标准ANSI X3.159-1989,被称为C89。之后在1990年,国际标准化组织ISO也接受了同样的标准ISO9899-1990,该标准被称为C90。这两个标准只有细微的差别,因此,一般而言C89和C90指的是同一个C语言标准。在ANSI标准化发布了C89标准以后,C语言的标准在一段相当的时间内都保持不变,直到1999年ANSI通过了C99标准,C99标准相对C89做了很多修改,增加了基本数据类型、关键字和一些系统函数等,这个版本就是通常提及的C99。但由于很多编译器仍然没有对C99提供完整的支持,因此本书将按照C89标准来进行讲解,在适当时会补充C99标准的规定和用法。
C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它高级语言,许多大型应用软件都是用C语言编写的。它还具有绘图能力强,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画它是数值计算的高级语言。主要特征如下:
1.简洁紧凑、灵活方便
C语言一共只有32个关键字,9种控制语句,程序书写自由,主要用小写字母表示。它把高级语言的基本结构和语句与低级语言的实用性结合起来。
2.运算符丰富
C的运算符包含的范围很广泛,共有种34个运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C的运算类型极其丰富表达式类型多样化,灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。
3.数据结构丰富
C的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据类型的运算。并引入了指针概念,使程序效率更高。另外C语言具有强大的图形功能,支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。
4.结构式语言
结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。
5.程序设计自由
一般的高级语言语法检查比较严,能够检查出几乎所有的语法错误。而C语言允许程序编写者有较大的自由度。
6.直接访问物理地址
C语言可直接访问物理地址,可以直接对硬件进行操作,因此C语言既具有高级语言的功能,又具有低级语言的许多功能,能够象汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元,可以用来写系统软件。
7.程序执行效率高
C语言程序生成代码质量高,程序执行效率高,一般只比汇编程序生成的目标代码效率低10~20%。
8.可移植
C语言有一个突出的优点就是适合于多种操作系统,如DOS、UNIX,也适用于多种机型。
较早期程序设计的各个阶段都要用不同的软件来进行处理,如先用字处理软件编辑源程序,然后用链接程序进行函数、模块连接,再用编译程序进行编译,开发者必须在几种软件间来回切换操作。
现在的编程开发软件将编辑、编译、调试等功能集成在一个桌面环境中,这就是集成开发环境,又称IDE(Integrated Development EnvironMent),将它们集成在一起这样就大大方便了用户。IDE为用户使用C、C++、Java和Delphi等现代编程语言提供了方便。不同的技术体系有不同的IDE。比如Visual Studio可以称为C、C++、VB、C#等语言的集成开发环境,所以Visual Studio可以叫做IDE。同样,Borland的JBuilder也是一个IDE,它是Java的IDE。Eclipse也是一个IDE,可以用于开发Java语言和C++语言。下面将介绍几种主流的C语言开发环境。
Code::Bloocks
Code::Blocks 是一个体积小、开放源码、免费的跨平台C/C++集成开发环境,它提供了大量的工程模板,支持插件,并且具有强大而灵活的配置功能,是目前主流的开发环境。
Microsoft Visual Studio
Microsoft Visual Studio是美国微软公司推出的集成开发环境。它包括整个软件生命周期中所需要的大部分工具,如代码管控工具、集成开发环境等,但软件体积偏大,目前最新版本为Visual Studio 2019。但是通常我们使用的是最经典的VS2013。
Eclipse
Eclipse是用于Java语言开发的集成开发环境,现在Eclipse已经可以用来开发C、C++、Python和PHP等众多语言,此外,也可以安装插件,比如CDT是Eclipse的插件,它使得Eclipse可以作为C/C++的集成开发环境。
Vim
Vim是一个功能强大的文本编辑器,它是从Vi编辑器发展过来的,可以通过插件扩展功能来达到和集成开发环境相同的效果。因此,Vim有的时候也被程序员当做集成开发环境使用。
Microsoft Visual C++6.0
Microsoft Visual C++ 6.0,简称VC6.0,是微软于1998年推出的一款C++编译器,集成了MFC 6.0,包含标准版(Standard Edition)、专业版(Professional Edition)与企业版(Enterprise Edition)[2]。发行至今一直被广泛地用于大大小小的项目开发。
C语言并不能直接被计算机所理解,需要将C语言转变成可执行代码,即二进制代码。在C语言转变成二进制可执行代码时,是以工程为单位的。而一个工程中往往会包含多个C文件。因此,需要将每个C文件都编译成二进制代码。此时,每个C文件所对应的二进制代码是独立的。由于工程是一个系统,所以需要将所有的C文件二进制代码链接到一起,形成一个工程的可执行文件。一般程序的运行流程包括编辑、编译、连接、运行四个环节,运行C语言时也需经过这四个环节。
1.编辑
编辑类似于文本编辑,将程序代码输入进去,可以修改,增加,删除。
2.编译
编译是将C代码转换成CPU可执行机器指令的过程,每个.c文件生成一个.obj文件。
3.链接
链接是把生成的(多个) .obj 文件及用到的库文件(.lib)一起组合生成可执行文件(.exe)。
4.运行
运行是指运行链接环节生成的可执行文件,得到预期结果的过程。
首先编写好C程序,然后将每个.c文件生成一个.obj文件,再将生成的.obj 文件及用到的库文件(.lib)一起组合生成可执行文件(.exe),最后运行达到预期的结果。
至此,我们已经了解到了C语言的相关知识,虽然我们平时接触的都是直接的代码,对于我们理工科的人来说,看这么大段的文字比较枯燥,但是我们既然要更好的去学习好C语言,那么我们就应该知道他的一些相关的“前尘往事”,以便我们更好的去了解并掌握它!
加油吧!C语言正在前方等着你!
想要在程序员生涯内有更高的成就的话,最最重要的是尽可能的提升自己的编程能力,并且,与其想着怎么去提升,不如从现在开始动手动脑,如果对于C/C++学习有困难的话,可以关注+私信小编【编程交流】有一些视频希望可以帮助到你,学习不怕从零开始,就怕从不开始。
刚开始盘核桃的时候,对文玩核桃盘玩一点都不了解。然后就去看文玩核桃都有什么盘玩的方法,不仅有“文玩核桃十大盘玩狠招”,更有“文玩核桃20种刷的方法”,还有“文玩核桃盘玩十大诀窍”等等。看完之后,当时觉得很有道理,现在想想都是在开玩笑。文玩核
有好多朋友问文玩核桃该如何盘?很多都是刚接触文玩核桃,并没有了解过文玩核桃该如何盘玩,也不清楚文玩核桃怎么盘才可以盘的更好。所以就给大家详细的说一下,新手盘文玩核桃时候应该注意的问题,如何能够盘的更好。第一:新核桃到手,不要着急去盘,先刷一
随着文玩核桃网络市场销售的不断兴起,文玩核桃广大核友的队伍也在不断壮大,其中不乏很多年轻的核友。在无聊的地铁上,在匆忙奔走的人流中,在中午休息的办公室里,经常看到年轻人在盘玩着核桃;就连整天无闲忙碌的白领一簇也逐步涉足文玩核桃圈,他们当中有
由于文玩葫芦成本低,操作简单易学,又能起到锻炼保健的作用。以至于现在越来越多的朋友们开始盘起了葫芦,玩起了文玩。我本人也是一个文玩葫芦爱好者,而且已经有好几年的盘葫芦实战经验。在这里,我想把我自己在盘葫芦过程当中总结的一些儿小经验,小教训,
白云机场通航点达220多个,航线网络覆盖全球。 白云机场“时空隧道”备受旅客喜爱。 华灯初上后,白云空港依旧繁忙。 “春风服务”温暖旅途。 2号航站楼被SKYTRAX评为“全球五星航站楼”。9月19日,广州白云国际机场
很多人喜欢在床上翻翻书,当作轻松的睡前仪式,如果你有这样的阅读美德,这间饭店应该很适合你。瑞典床垫品牌Hästens海丝腾与葡萄牙O Valor do Tempo奢侈品集团合作,要将世界上最舒适的床结合书籍元素,来帮助解决世人的身心健康和睡
图说:三角先行示范区一站式“睡眠中心”在沪成立 来源/采访对象供图新民晚报讯(记者 左妍)今天是“世界睡眠日”。全国超过3亿人存在睡眠障碍,睡眠不好又为高血压、冠心病、糖尿病、心脑血管疾病,乃至夜间猝死的发病埋下了重重隐患。昨天,长三角先行
Yes娱乐2月14日综合报导 火山小视频App创新计划短视频产品《职业猎人》第一季正在热播,该节目以探寻和捕猎“你所未见的职业”为目标,将镜头聚焦于12个与众不同的职业,走近形形色色的小人物,挖掘其背后不为人知的故事,勾勒出一个社会文化丰富
受邀到不同酒店明察或暗访,吃喝玩乐,并给酒店提意见和改进建议,是细妙工作和生活的日常,她很享受这种人生状态。 4:24 异乡人 来自脸书国 撰文|Amy玲·演唱|Adam天泽图片提供|细妙【脸书国】原创内容,转载请在后台输入“授权”工作就是
今天讲一段情史,是关于世界上最好的编程语言PHP和Facebook的感情经历。恋爱PHP能和Facebook谈恋爱,主要归功于创始人扎克伯格。小扎这个哈佛的学生,很不安分,鬼点子很多,很喜欢整一些快餐式的Web项目。而PHP的特点就是快速开