C语言简介

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语言在嵌入式开发领域是占据了主导地位。

编者的话

  1. C语言主要在底层开发,比如操作系统、内核、驱动、嵌入式开发等。是很多系统设备的建筑基石。
  2. 很多高校都讲C语言作为编程入门的基础学科,对于初学者来说,学习C语言更是相当于打开编程世界大门的敲门砖。在编程的世界,有很多的编程通识和认知,学会了一门语言在去学习其他的会很快上手。C语言简单的特性更适合初学者学习。
  3. 学习编程需要理解代码的真正含义,因为C语言更倾向于底层编程,可以更加透彻的理解计算机的运行过程,理解其真正的原理。
  4. 编者熟悉计算机的软硬件开发,本课程在教授C语言编程的同时会从硬件层分析代码的运行原理。让学者能够写代码的同时能理解代码的运行过程。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,607评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,239评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,960评论 0 355
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,750评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,764评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,604评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,347评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,253评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,702评论 1 315
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,893评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,015评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,734评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,352评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,934评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,052评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,216评论 3 371
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,969评论 2 355

推荐阅读更多精彩内容