C语言简介
谈起C语言的介绍,在网络上有各种各样的说明,各种C语言教学书籍中也都有对C语言进行简单的介绍。那些都没有错,讲了很多C语言的特性,比如简单、高效、结构化编程等待。对于零基础的初学者来说,这些东西看过了之后并不能理解为什么简单、为什么高效、什么是结构化编程,这些内容反而会让初学者更加困惑。编者在从事IT技术教学的过程中更是深刻认识到这点,把结论直接展现给读者带来的效果其实并不好。编者在本课程C语言的教学过程将会使用不一样的教学方式。各知识点循序渐进,一点一点展现出各个技术要点,让学者能够学习课程的时候顺其自然的学会,这样的教学符合人的学习认知规律。
本课将的是C语言的介绍,在这里从它的起源开始讲起。介绍一门编程语言我们需要了解其从产生到发展,然后到其应用的整个过程,让大家对这门语言有一个宏观清晰的认知。
机器编程出现之前
现在的计算机编程都是使用各种语言编写代码,编译后在机器上运行的。整个显然大家都知道,这是无数的老一辈计算机科学家搭建起来的。C语言同样也是经过无数的努力和修改才有了今天的辉煌。
运算器
那么在几十年前,那时没有C语言,机器也没有编程的概念。我们都知道机器都是用电源来驱动的,那时候的机器只是简单的一边输入电压,另一边输出电压,中间有各种逻辑处理,我们把中间的处理部分叫做运算器,使得输出的电压和输入电压有一定的逻辑关系。下图是加法器的结构图,除了加法器还有其他的,比如减法器、乘法器、除法器、逻辑运算相关的器等等。
[图片上传失败...(image-bb29bb-1532939241360)]
控制器
这样简单的逻辑控制能满足很多应用需求,一个输入就会有一个唯一的输出,输入和输出有一定的规律。这时候人们想到如果输入可以用一个东西来控制的话,那么就可以实现从可变的输入,得到一定的可变输出了。于是,便出现了用来控制输入的控制器。
(https://baike.baidu.com/item/%E6%8E%A7%E5%88%B6%E5%99%A8/2206126)。
[图片上传失败...(image-3c82d2-1532939241360)]
有了控制器后,人们就可以按照特定的需求输入不同的内容到运算器中,从而获得相应的输出结果了。比如控制器可以控制输入正弦波、余弦波等、矩形波等时刻变化的量,从而通过运算器的计算后得出输出内容。
编程指令
控制器可以做很多的事情,但是控制器和运算器都是产商生产的,其出厂的时候里面的逻辑功能就已经固定了,也就是说控制器的控制效果在出厂的时候就固定了,如果需要不同的输入控制,就需要购买不同的控制器元件。然后人类的创造力是无限的,这时候出现了一个东西可以随时改变控制器的控制效果,通过特定的指令指挥控制器进行不同的操作。这些指令存放在特定的区域。每个指令都有其特定的功能,编程人员按照这些指令的规则进行编程。汇编语言就是最底层的用指令编程的语言。
[图片上传失败...(image-a29380-1532939241360)]
C语言横空出世
编程指令的出现,让机器有了语言,人们可以通过指令控制机器执行不同的操作。然而,用指令编程代码量非常大,而且很容易出错,代码不能复用。 为了解决这个问题,出现了A语言,然后进化成B语言,最后在著名的贝尔实验室中进化成了C语言。C语言是一种编译性的语言,也就是说C语言的代码并不能直接运行,需要用工具对代码进行一个处理(编译)的过程,这个编译的过程其实就是把C语言的代码变为上面所说的指令,但是一行代码可以代表多个指令。
[图片上传失败...(image-99503a-1532939241360)]
C语言从此一发不可收拾。走进各大高校的课堂、各大著名的公司也都使用C语言进行项目开发。C语言成为了计算机编程的基础。
C语言的应用领域
在计算机技术爆发式发展的这几十年,也是C语言成为计算机编程基础的发展时代。现在我们常用的Windows操作系统、Mac OS操作系统、Linux操作系统等的底层框架都是用C语言搭建起来的。另外,各种移动操作系统,Android、苹果手机、Yun OS底层也离不开C语言。可以说C语言是计算机世界的基石。
再有如今很火的智能设备,各种号称智能的电器、玩具、家居产品等层出不穷。这些智能设备的开发可以归于嵌入式开发领域,而这些设备很多并不需要操作系统等复杂的功能,每个设备只是完成自己特定的功能。在智能设备的开发中,基本都在用C语言,很少会用到其他的语言的。所以C语言在嵌入式开发领域是占据了主导地位。
编者的话
- C语言主要在底层开发,比如操作系统、内核、驱动、嵌入式开发等。是很多系统设备的建筑基石。
- 很多高校都讲C语言作为编程入门的基础学科,对于初学者来说,学习C语言更是相当于打开编程世界大门的敲门砖。在编程的世界,有很多的编程通识和认知,学会了一门语言在去学习其他的会很快上手。C语言简单的特性更适合初学者学习。
- 学习编程需要理解代码的真正含义,因为C语言更倾向于底层编程,可以更加透彻的理解计算机的运行过程,理解其真正的原理。
- 编者熟悉计算机的软硬件开发,本课程在教授C语言编程的同时会从硬件层分析代码的运行原理。让学者能够写代码的同时能理解代码的运行过程。
网友评论