C语言是什么编程?

C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点

它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序

因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发

它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。

结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。

具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。而且计算功能、逻辑判断功能也比较强大,可以实现决策目的的游戏。 c语言

4. C语言适用范围大

适合于多种操作系统,如Windows、DOS、UNIX等等;也适用于多种机型。

C语言对编写需要硬件进行操作的场合,明显优于其它解释型高级语言,有一些大型应用软件也是用C语言编写的

C语言具有较好的可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。它是数值计算的高级语言。

1.简洁紧凑、灵活方便

C语言一共只有32个关键字,9种控制语句,程序书写形式自由,区分大小写。把高级语言的基本结构和语句与低级语言的实用性结合起来。 C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。

C语言的运算符包含的范围很广泛,共有34种运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C语言的运算类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。

C语言的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据结构的运算。并引入了指针概念,使程序效率更高。另外C语言具有强大的图形功能,支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。 同时对于不同的编译器也有各种

结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。

5.语法限制不太严格,程序设计自由度大

虽然C语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较大的自由度。允许直接访问物理地址,对硬件进行操作

由于C语言允许直接访问物理地址,可以直接对硬件进行操作,因此它既具有高级语言的功能,又具有低级语言的许多功能,能够像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元,可用来写系统软件。

生成目标代码质量高,程序执行效率高,一般只比汇编程序生成的目标代码效率低10へ20%。

6.适用范围大,可移植性好

C语言有一个突出的优点就是适合于多种操作系统,如DOS、UNIX、windows 98、windows NT;也适用于多种机型。C语言具有强大的绘图能力,可移植性好,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画,它也是数值计算的高级语言。

1. C语言的缺点主要表现在数据的封装性上,这一点使得C在数据的安全性上有很大缺陷,这也是C和C++的一大区别。

2. C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等。从应用的角度,C语言比其他高级语言较难掌握。

3.指针是C语言的一大特色,可以说是C语言优于其它高级语言的一个重要原因。就是因为它有指针,可以直接进行靠近硬件的操作,但是C的指针操作也给它带来了很多不安全的因素。C++在这方面做了很好的改进,在保留了指针操作的同时又增强了安全性。Java取消了指针操作,提高了安全性,适合初学者使用。

这些是C/C++能做的

服务器开发工程师、人工智能、云计算工程师、信息安全(黑客反黑客)、大数据 、数据平台、嵌入式工程师、流媒体服务器、数据控解、图像处理、音频视频开发工程师、游戏服务器、分布式系统、游戏辅助等

C语言程序设计――课程材料、参考材料和讨论

(2003,2004年修订。在线材料,包括可以下载的PDF文件)。

这里是《从问题到程序》(老版本)中的,可以直接使用。

如果想找可用的C系统,可以从这里下载。 还可下载。




C语言程序设计的一些基本问题(建设中)

  • 课程教科书 《从问题到程序――程序设计与C语言引论》,裘宗燕,北京大学出版社,1999。本书的,从这里可以下载。这里是(可以下载PDF文件)。
  • 《C程序设计设计语言(第二版)》(The C Programming Language),Brian W. Kernighan & Dennis M. Rirchie,清华大学出版社,大学计算机教育丛书(影印版,英文),1996。本书为在全世界影响最大的C语言参考书,作者之一(D. M. Richie)为C语言的开发者。中文正式译本已经由机械工业出版社出版(2001年)。
  • 《程序设计实践》,(The Practice Of Programming, Brian W. Kernighan & Bob Pike 1999)。中文版由我翻译,机械工业出版社出版,2000。这本书讨论了程序设计的许多重要的实践性问题,值得每个学过一个程序设计语言,有些程序设计经验,热爱或梦想在计算机领域工作的人阅读参考。在这里可以看到和。还有我为该书中文版写的。

使用:浏览分类列表,按编号到对应节中找回答。如遇读起来不好理解的项目,可以。

(已经全部翻译为中文)。


2)C语言设计者Dennis.M.Retchie关于C语言历史的文章:The Development of C Language(英),,也可以下载(204K)。本文中讨论了C语言起因、设计和后来发展演化的情况。该文写于1993年,发表在“ACM第二次程序设计语言历史”会议(HOPL II)上。
3)Andrew Koenig关于C语言中陷阱和缺陷的文章:The Traps and Pitfalls Of C(英文)。它可以帮助你了解使用C语言时容易出现的一些问题。,也可以下载(56K)或者(80K)。该作者后来扩展了这篇文章,以同样名字写了一本书(国内译本《C陷阱与缺陷》,人民邮电出版社)。

4)如果想了解C语言的发展,这里有C语言新标准化的。ZIP压缩的PDF文件,1193K。你需要DOWNLOAD到自己机器上,解压缩后用阅览程序看。这是语言参考手册的草案,长约600页,英文。除非你想深入了解今天人们希望C语言往什么方向发展,否则不必去看它。

新的C语言标准已于1999年通过,一般称为C99。有关情况请参考《C语言参考手册(第五版)》,人民邮电出版社影印。

5)如果你想了解C++语言,或者是在学习使用C++中遇到了一些问题,可以参考这里的材料。这里是网络新闻组comp.lang.c++的(英文)。

。从那里可以找到一些链接。

============

国外有些重要C语言资源站点,我将收集和更新。下面是国外的一些有关站点:

(位于瑞典的一个C程序设计资料站点)


本页及相关页由裘宗燕建立和维护,保留所有权利。

这里的材料可自由用于个人学习或普通教学活动。其他用途应事先得到作者的书面认可。

学习编程语言之前,首先要搞清楚“编程语言”这个概念。

编程语言的目的是使用人类语言去控制计算机,告诉计算机我们要做的事情。人类语言易于理解,容易学习,开发效率高。

目前流行的编程语言有C语言、C++、Java、C#、PHP、JavaScript等,每种语言都有自己擅长的方面,例如:

  • C语言是较早开发的一种高级语言,后来的很多语言都是以C语言为蓝本进行设计的;
  • C语言和C++主要用来开发软件;
  • Java和C#不但可以用来开发软件,还可以用来开发网站后台程序;
  • PHP主要用来开发网站后台程序;
  • JavaScript主要负责网站的前端工作。

可以将不同的编程语言比喻成各国语言(如汉语、英语、法语等),为了表达同一个意思,可能使用不同的语句。例如,表达“世界你好”的意思:
在编程语言中,同样的操作也可能使用不同的语句。例如,在屏幕上显示“Hello World”:
编程语言类似于人类语言,我们很容易就能理解它的意思。但在计算机底层硬件,所有的数据都是以1和0两个高低电平来表示,计算机只能识别这两个电平。那么,如何才能将“人类语言”转换成“0&1语言”呢?这就是编程语言的重点。

每种编程语言都有一套详细的规范,说明该语言如何被转换成机器语言(0和1序列),我们称之为语法。语法说明了编程语言有多少个“单词”和“句子”,分别有什么用。

每种语言都有对应的编译器,编译器能够识别“单词”和“句子”,将编程语言“翻译”成机器能识别的语言,即0和1序列。这个过程称为编译

可以说,所有的编程语言都是一个原理,使用人类能读懂的语言来编写源代码(source code),再利用编译器将源代码编译成机器能读懂的语言(0和1序列),称为目标代码(object language)

编程语言是这样一套规范,它规定了编译器按照什么样的语法将源代码编译成目标代码。

开发一种编程语言,重点是它的语法和编译器,有了他们,就有了编程语言。

我们学习编程语言,是要学习它的语法,至于编译器是如何编译的,不在初学者的学习范围之内。

我要回帖

更多关于 c语言是什么 的文章

 

随机推荐