zoukankan      html  css  js  c++  java
  • C 语言学习的第 01 课:先来聊聊计算机吧

    各位同学,新学期,我就是你们的助教了。我的个人信息,你们的任课老师都已经介绍过了,所以我这里也就不再啰嗦。下面,来聊聊今天的话题:“先来谈谈计算机吧”。

    想必看到这个题目,你们大家一定是不愿意点击进来的,毕竟,现在的你们呐,一定都是差不多天天面对计算机的(要知道,现在你们的手机,都要比早些年的计算机要先进,性能强大很多)。但是,不知道你是不是有想过和它相关的一些问题呢。比如:

    1. 当按下开关机按键以后,它是怎么进入操作系统的;
    2. 进入操作系统以后,它怎么启动第一个程序的;
    3. 软件是怎么控制硬件的(比如你使用手机拍一张照片,它是怎么打开了摄像头,怎么采集到一张图片,又是怎么显示到手机的屏幕上的呢)
    4. ……

    是不是在提出这些问题之后,你会觉得,“是哎”这都是为什么呢,计算机的内部,都经历了一些什么,实现了上面列出的种种功能。

    这些问题,都可以留着在你们以后的学习中慢慢的一点点的解开,比如计算机原理就可以告诉你计算机到底是怎么进入系统的,它又是如何去控制计算机的硬件。不过,学习这些课程以前,C 语言一定是一项必备的技能,甚至,你需要有一点点汇编的基础。到这里,我们就来简单的聊聊 C 语言吧。

    谈 C 语言一定要聊聊计算机。 

    计算机:硬件和软件

    计算机软件

    计算机它本身是一件能够计算和逻辑判断的电子设备。所谓计算,就是指它能够在你输入“1+1”之后输出2,所谓逻辑判断就是你在输入“今天下雨不下雨”给出“下”或者“不下”的断言。当然,这仅仅是一个简单的解释,计算机处理的运算和逻辑判断比上面的例子可能要复杂千万倍。这里,我们可以称输入的“1+1”或者是“今天下雨不下雨”为“数据”,它对这些数据的计算或者是判断,是一种操作,最终呈现出来。所以,计算机的功能又可以概括为对输入的数据进行处理,然后输出。

    通常来说,假如仅有计算机这个实实在在的实体,是无法完成数据的处理这一过程的,因为数据如何处理往往是由人预设的。预设的过程,我们可以称其为编程。预设的结果,我们可以称其为程序。

    计算机硬件

    一般来说,不管计算机的外形如何变化 ,它通常都是由 6 个部分构成:

    1. 输入单元(input unit):用于接收数据,巧妇难为无米之炊,要是没有数据,计算机也不知道该做点什么好;
    2. 输出单元(output unit):用于处理好的数据的输出,数据好不容易处理好,总是要秀出来看看的;
    3. 内存单元(memory unit):数据的来来往往,总是要有一个临时的客栈;
    4. 算术逻辑单元(Arithmetic and Logic Unit,ALU):用于执行加减乘除这些数学运算;
    5. 中央处理器(Central Processing Unit,CPU):用于协调各个单元的事务;
    6. 辅助存储单元(secondary storage unit):用于存储一些需要长久保存的数据。

    (在一些传统的计算机教材中,仅有 5 个逻辑单元构成,没有第六个辅助存储单元。或者使用存储器这一概念统称第三个和第六个)

    机器语言,汇编语言和高级语言

    不过,计算机本身并不能够听懂人类的语言,因为他内部使用的是电力驱动的各种电子器件,他们仅能够感受是否有电(还记得小时候用舌头舔电池吗,有电的是咸咸的,没电的没什么味道)。所以,一台计算机能够理解的仅仅是一堆有电没电有电没电这样的符号。

    机器语言有点不太好理解,于是聪明的人类将一串固定的“有电没电”转换为名为“汇编”的代码,然后使用一段程序,将汇编代码作为数据输入进去,输出一串“有电没电”的机器代码。可是,要是你已经看过汇编语言就会发现汇编本身也并不是那么好理解的。懒惰是科技发展的第一动力,人类为了更好的和机器玩耍,于是发明了现代的高级语言(high level language)。

    C 语言发展简史

    (好懒,我就不写了,请看这里http://www.zhihu.com/question/22826568/answer/65915408)

  • 相关阅读:
    IIS浏览显示目录
    图解NuGet的安装和使用
    未能找到类型或命名空间名称“DbContext”
    IIS报错:未将对象引用设置到对象的实例
    最新11位手机号正则表达式
    Sql Server连表查询字段为null
    sql server 表连接
    2019用卡提额攻略
    win10,7 80端口被占用的检测和解决方法
    SAP之RFC_READ_TABLE
  • 原文地址:https://www.cnblogs.com/dongfengweixiao/p/5814036.html
Copyright © 2011-2022 走看看