C语言
- 格式:doc
- 大小:30.00 KB
- 文档页数:2
为什么要学习C语言,作为一名将要从事嵌入式开发的人,C语言是一门最基础,也是很重要的一门学科,以后你不管是搞嵌入式底层,驱动开发,还是上层应用开发,几乎都要用C语言来实现,如果C语言基础不牢固,不够精通的话,搞嵌入式是很困难的.
C语言是一门语言,语言是用来干吗呢,人类的语言是用来交流传递信息的,计算机语言是用来和计算机进行交流,传递信息的,怎么去交流信息,我们用计算机语言编写的程序来实现与计算机的交流,让计算机去按照我们得思想去处理数据。
从功能上来分:程序分为系统程序和应用程序,系统程序就是编写操作系统的软件(XP 系统,linux系统),应用程序在操作系统之上的计算机程序(QQ,游戏。
)
机器语言:由二进制代码指令组成(由0和1组成) 是计算机可以直接识别运行的语言代码汇编语言中引入了标示符,程序员更加容易记忆和识别,提高了程序的可读性。
高级语言在语法和结构更类似普通英文,是程序员更加容易理解和接受,屏蔽掉硬件细节
以前的操作系统软件主要是用汇编语言编写的,由于汇编语言依赖于计算机硬件,程序的可读性和可移植性非常差,人们设想找到一种既具有高级语言的特性,又具有低级语言特性的.
一种语言的诞生都是不断探索和完善的过程.
以前的低级语言主要用来编写系统程序的,ALGOL 60 离硬件比较远,不易用来编写系统程序
CPL语言比ALGOL 60更接近硬件,但是,规模较大,难以实现。
贝尔实验室(位于美国新泽西州)是公认的当今通信界最具创造性的研发机构,贝尔实验室是晶体管、激光器、太阳能电池、发光二极管、数字交换机、通信卫星、电子数字计算机、蜂窝移动通信设备、长途电视传送、仿真语言、有声电影、立体声录音,以及通信网的许多重大发明的诞生地。
自1925年以来,贝尔实验室共获得两万五千多项专利,现在,平均每个工作日获得三项多专利。
贝尔实验室的使命是为客户创造、生产和提供富有创新性的技术,这些技术使朗讯科技(Lucent Technologies)公司在通信系统、产品、元件和网络软件方面处于全球领先地位。
1970年用B语言写了第一个UNIX操作系统,但B语言过于简单,功能有限。
最初的C语言只是为了描述和实现UNIX操作系统提供一种工作语言而设计的,C语言和UNIX可以说是一对孪生兄弟,在发展的过程中相辅相成
现在C语言已经成为世界上应用最广泛的集中计算机语言之一。
现在流行的C编译系统都是以ISO C标准为基础的。
一种语言之所以能存在和发展,并具有生命力,总是有其不同于其他语言的特点。
简洁:只有32个关键字,9种控制语句。
运算符:34种运算符,使其表达类型多样化结构化语言:具有结构化的控制语句(if…else语句,while语句),用函数作为程序的模块单位,便于实现程序的模块化。
直接访问物理地址:C语言能进行位操作,能实现汇编语言的大部分功能。
C语言既具有高级语言的功能,又具有低级语言的功能,可用来写系统软件。
C语言的这种双重性,使他既是成功的系统描述语言,又使通用的程序设计语言。
效率:只比汇编程序生成的代码效率低10%~20%
scanf()和printf() 是系统提供的库函数
C语言可移植性好和硬件控制能力高,表达和运算能力强,这是它最重要的优点。
缺点:C语言是一个面向过程的语言,如果你的项目很复杂,大量的开发人员互相之间需要更新大段代码时,C语言可能会使事情变得异常麻烦
C语言的语法限制不严格,对变量的类型约束不严格,对一个数组的下标越界不做检查,C语言的指针也给它带来很多不安全的因素。
数据是操作对象,操作的目的是对数据进行加工处理,比如一个厨师,配料,他做菜必须有菜谱,不同的菜谱做出来的菜味道是不同的.
算法公式:著名的科学家沃思提出的一个公式.
例子:1+2+3+4+…..100: 有两种不同的算法.
计算机算法可以分为两个大类:数值算法(求值,积分)和非数值算法(银行系统,图书检索,百度引擎)。