C语言视频教程——1.1节 2024-07-29 06:12:56 Edward 视频中好书推荐:以下为图文内容 第一章 电子计算机人类世界发展至2020年,电子计算机已经在我们生活的各方各面扮演着重要的角色,小到可穿戴设备,大到空间站,高铁,都离不开电子计算机。这里的电子计算机包含了我们平时所用到的个人电脑,嵌入式片上系统,单片机等产品。这些产品统称为“硬件”。程序,展现在大家面前的是一行行代码或者一串串二进制数据。我们绞尽脑汁想出各种编程语言,各种解释性语言,目的只有一个,即是控制生活中各种各样微型计算机工作。这些各种不同的编程语言不管多复杂多高级,最终都只会变成二进制数据,在计算机上面运行。可以说,如果没有电子计算机,那么不管是C/C++,Java,C#,Python还是汇编语言都没有任何意义,这些程序就只是一些没有肉体的灵魂。因此,在学习程序设计之前,必须对电子计算机有一定的认识,可以说学习的语言越低级,对计算机硬件的要求就越高。比如,学习汇编,就一定要把目标计算机的硬件知识学的越透彻。这里有意思的是,由于操作系统的出现,在用C语言开发应用时,对硬件知识的要求又不是那么高了,而在微型计算机驱动开发,嵌入式驱动开发,单片机开发领域,对硬件的要求还是很高。这里利用单独的一章来简单介绍一下微型计算机,有兴趣的读者,可以深入地学习微机原理。1.1 电子计算机发展历史人类广义上的第一台电子计算机是1946年在宾夕法尼亚大学问世的,其名字为电子数字积分计算机(ENIAC,ElectronicNumerical And Calculator),这台计算器使用了17840支电子管,大小为80英尺×8英尺,重达28t(吨),功耗为170kW,其运算速度为每秒5000次的加法运算,造价约为487000美元。到1958年,出现了晶体管计算机。所谓晶体管计算机,就是用晶体管(双极型,单极型等)组成具有计算能力的电路。相比于电子管计算机,晶体管计算机有着体积小,能耗低,速度快,造价低等优点。从1964年开始,集成电路的设计就被用到了芯片设计上面,但此时的计算机还是以分立式的中小规模集成电路为主,如果数电知识比较好的,可以联想如何到用74138,7400,触发器等门电路芯片完成加减乘除等算数运算,或者与或非等逻辑运算。把这些芯片搭成的模块组合到一起去,就变成了一台可以用作计算的计算机,而此时的“中央处理器”概念还没有产生,我们后人可以叫它“中央处理盒子”。这一代的计算机和之前两代相比,除了体积小,能耗低,速度快,造价低等优点外,还有一个很大的优点,即比之前两代更为稳定。到了1970年之后,大规模和超大规模集成电路的技术被用到了计算机行业,人们第一次想到可以将计算机用来计算的核心部件封装在一块芯片内。说到这个年代,一定要说一家公司——“仙童(Fairchild)半导体”(此仙童并非现在的Fairchild)。1955年,“晶体管之父”威廉·肖克利离开了贝尔实验室而创建了肖克利半导体实验室,他吸引了很多年轻有为的科学家,其中最有名的8人分别是,罗伯特·诺依斯(Robert Noyce)、戈登·摩尔(Gordon Moore)、朱利亚斯·布兰克(Julius Blank)、尤金·克莱尔(Eugene Kleiner)、金·赫尔尼(Jean Hoerni)、杰·拉斯特(Jay Last)、谢尔顿·罗伯茨(Sheldon Roberts)和维克多·格里尼克(Victor Grinich),后来由于这8个人不满肖克利的管理方法和怪异行为,这8个人集体辞职,他们又接受了仙童摄影器材公司的资助,成立了“仙童半导体”。这八个人的行为在计算机发展史上有重要意义,被称为“八天才叛逆”。比较有意思的是,仙童当时发明的半导体制作工艺和底片冲洗照片的工艺非常相似。“八天才”创立了仙童半导体,这只是开始,后来由于仙童半导体经营不善,这八个人先后离职,他们之中的罗伯特·诺伊斯、戈登·摩尔创立了大名鼎鼎的“英特尔”,从此计算机历史进入了蓬勃发展时代。 赞 (0) 相关推荐 计算机与编程语言简史 计算机与编程语言简史 计算机简史,看看你了解多少! 从数学产生之日起,人们便不断寻求能辅助和加速计算的工具,最终计算工具经历了从简单到复杂.从低级到高级的许多个阶段,演化成了今天的计算机.如今,计算机早已成为我们日常办公和生活中不可或缺的一部分,你对它 ... 计算机是如何一步步发展到现在的 如果你看到这这篇文章,我会为此而激动万分.因为这里是我的开始,且有你的见证.作为开通公众号后的首篇文章,我思考了一下,还是想先从计算机的发展史说起.[老铁的最新号外]主要的关注点是计算机科学类.现在是 ... 【C语言视频教程】第七十二集 其它预处理命令 介绍了C语言中其它预处理命令,如#error,#line,#undef,#pragma等 【连载】(开始学习C语言的指针)——乐创DIY C语言讲义——6.1节 6.1 函数参数传递的不可逆性 在开始第六章正式讲解前,我们先来回顾一下之前写的函数.第四章中我们有讲到函数是用来实现某一特定功能的代码模块.比如,当我们需要频繁地使用某一段代码来计算三角形面积时, ... 【连载】(关于多维数组的简单谈论)——乐创DIY C语言讲义——5.5节 5.5 多维数组 前面的内容,都是基于一维数组讲述的.然而有些场合,一维数组无法满足我们的使用.比如,存储一个学校学生的考试成绩,那我们在设计这个存储变量类型的时候,需要考虑,假设这个学校有6个年级, ... (数组的排序算法,你要知道的都在这里)——乐创DIY C语言讲义——5.4节 5.4 数组元素的排序 通常情况下,我们对数组的操作远远不止遍历判断大小或者判断奇偶数这么简单.比如,当我们需要求一个数组中所有元素的平均值时,操作很简单,只需要去遍历这个数组,并将其内部所有元素中存 ... 【连载】(数组的排序算法,你要知道的都在这里)——乐创DIY C语言讲义——5.4节 5.4 数组元素的排序 通常情况下,我们对数组的操作远远不止遍历判断大小或者判断奇偶数这么简单.比如,当我们需要求一个数组中所有元素的平均值时,操作很简单,只需要去遍历这个数组,并将其内部所有元素中存 ... 【连载】(一维数组的简单应用)——乐创DIY C语言讲义——5.3节 5.3 一维数组的简单应用 前面我们已经讲述了如何去定义一个一维数组,并且对所定义好的一维数组进行元素的读写和数组的遍历,本小节专门再来讲述一些数组的具体应用,使各位读者可以更好地去掌握一维数组. 首 ... 【连载】(操作一维数组)——乐创DIY C语言讲义——5.2节 5.2 一维数组的操作 一维数组在被定义好之后,就可以在程序中去使用它了,一般一个数组的使用有元素读取,元素赋值,元素遍历等操作.说到底无非就是数组定义及初始化,元素的读写,和数组的读写这几种方式.接 ... 【连载】(初识一维数组)——乐创DIY C语言讲义——5.1节 5.1初识一维数组 前面章节中,我们一起学习了一些简单的数据类型,它们包括浮点类型和整数类型两大类.通过使用关键词可以分别定义不同含义的单个变量.比如,小明这次考试的数学成绩是30分,那么我们可以定义 ... 【连载】(C语言这些关键词你都知道吗?)——乐创DIY C语言讲义——4.7节 4.7 C语言关键词一览 讲到上述最后一个内容为止,我们在之前学习的代码中或多或少地学习了一些C语言的关键词,但是这些关键词都是零散地介绍的.本节内容,将系统地将C语言中的关键词进行罗列讲解. 早在C ...