容易被忽略、轻视,却可能影响编程学习的计算机基础知识

如果你刚学编程,或者你准备学习编程,甚至你准备成为一名程序员,以编程为职业,那么以下你内容为你准备。
    

    笔者多年经验发现,很多初学者由于缺乏基本计算机原理知识,对最基本的概念没有认知,导致学习编程语言时看不懂书、听不懂老师讲的内容,学习陷入一个恶性循环。而这些基本原理恰恰又被忽略,甚至被认为不重要,以为学编程就是学一门语言的语法。

    以下是笔者整理的一些编程预备知识,大牛绕道!

一、计算机构成原理

1.1计算机的五大组成部分

从1946年世界上第一台的计算机诞生到今天,时间已经过去70年,计算机的体积、性能已经发生翻天覆地的变化。但是,计算机的组成原理并没有发生根本性的变化,根据计算机组成原理划分,计算机主要由五大组成部分构成,分别是输入设备、输出设备、运算器、控制器、存储器(如图1),各部分通过总线连接在一起。


图(1)

1.2 运算器

运算器是完成二进制编码的算术或逻辑运算的部件。运算器一次运算二进制数的位数,称为字长。它是计算机的重要性能指标。常用的计算机字长有8位、16位、32位及64位。

1.3 控制器

控制器是计算机的指挥中心,它控制各部件动作,使整个机器连续地、有条不紊地运行。控制器工作的实质就是解释程序。

控制器每次从存储器读取一条指令,经过分析译码,产生一串操作命令,发向各个部件,各部件随后按照收到的指令进行相应的操作。

1.4 存储器

存储器的主要作用是存放程序和数据,其根据用途和特征的不同分为内存和外存。

a) 内存

内存是计算机中重要的部件之一,它是程序与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。内存(Memory)也被称为内存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。只要计算机在运行中,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来,内存的运行也决定了计算机的稳定运行。相对外存,内存的运算速度快,但是存储容量小,断电数据易丢失。

b) 外存

外存,也叫外存储器,是指除计算机内存及CPU缓存以外的储存器,此类储存器一般断电后仍然能保存数据,存储容量较大,读写数据的速度比内存慢。常见的外存储器有硬盘、软盘、光盘、U盘等。

1.5 输入、输出设备

输入设备是变换输入形式的部件。它将人们的信息形式变换成计算机能接收并识别的信息形式。目前常用的输入设备有键盘、鼠标、数字扫描仪以及模数转换器等。

输出设备是变换计算机输出信息形式的部件。它将计算机运算结果的二进制信息转换成人类或其它设备能够接收和识别的形式,如字符、文字、图形、图像、声音等。目前广为使用的输出设备有激光打印机、绘图仪、显示器等。

有些设备既是输入设备,又是输出设备,如触摸屏显示器。

1.6 总线

计算机硬件之间的联接线路分为网状结构与总线结构。绝大多数计算机都采用总线(BUS)结构。系统总线是构成计算机系统的骨架,是多个系统部件之间进行数据传送的公共通路。借助系统总线,计算机在各系统部件之间实现传送地址、数据和控制信息的操作。

二、了解操作系统

2.1操作系统

操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。

操作系统是用户和计算机的接口,同时也是计算机硬件和其他软件的接口。操作系统的功能包括管理计算机系统的硬件、软件及数据资源,控制程序运行,改善人机界面,为其它应用软件提供支持,让计算机系统所有资源最大限度地发挥作用,提供各种形式的用户界面,使用户有一个好的工作环境,为其它软件的开发提供必要的服务和相应的接口等。

 

下面我们来认识一下什么是操作系统的shell,如下图2所示,Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。shell分两大类,一类是图形界面shell(Graphical User Interface shell 即 GUI shell),另一类是命令行式shell(Command Line Interface shell ,即CLI shell)。


图(2)

2.2 常见操作系统

Windows操作系统

Windows是美国微软公司研发的一套多任务多用户的操作系统,它问世于1985年,起初仅仅是Microsoft-DOS模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家喻户晓的操作系统。

Windows采用了图形化模式GUI,比起从前的DOS需要键入指令使用的方式更为人性化。随着电脑硬件和软件的不断升级,微软的Windows也在不断升级,从架构的16位、32位再到64位, 系统版本从最初的Windows 1.0 到大家熟知的Windows 95、Windows 98、Windows ME、Windows 2000、Windows 2003、Windows XP、Windows Vista、Windows 7、Windows 8、Windows 8.1、Windows 10 和 Windows Server服务器企业级操作系统,不断持续更新,微软一直在致力于Windows操作系统的开发和完善。

Linux 操作系统

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

Linux操作系统诞生于1991年10月5日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机等。

Unix操作系统

UNIX操作系统(尤尼斯),是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,其属于分时操作系统,最早由KenThompson、Dennis Ritchie和Douglas McIlroy于1969年在AT&T的贝尔实验室开发。目前它的商标权由国际开放标准组织所拥有,只有符合单一UNIX规范的UNIX系统才能使用UNIX这个名称,否则只能称为类UNIX(UNIX-like)。

OS X操作系统

Mac OS是一套基于Unix内核的图形化操作系统,通常运行于苹果Macintosh系列电脑上,一般情况下无法安装在普通PC上。Mac OS是首个在商用领域成功的图形用户界面操作系统。现行的最新的系统版本是OS X 10.10 Yosemite。

2.3 Windows命令行操作基础

根据笔者近几年的教学经验,对于Windows系统的图形界面的shell的操作大家应该已经不陌生。命令行shell的操作,由于平时很少使用,大部分用户并不熟悉。但是,作为编程人员非常有必要掌握基本的命令行shell的操作。

首先,我们来看看如何进入命令行操作界面,不同的操作系统进入方式稍微有一点差异。

XP系统,开始菜单->运行->输入“cmd”命令->回车;

Win8/Win10系统,在左下角“搜索Windows”搜索框内输入“cmd”,然后敲回车,进入如下图3所示的操作界面,从该图中可以看出当前目录是“c:\Users\michael\”。


接下来,我们熟悉几个常用的命令行操作:

① 切换盘符。 从图1-3中可知当前盘符是C盘,我们现在想切换到D盘,只要在命令行窗口输入“D:”然后敲下回车即可,当然系统要存在D盘。

② 进入指定的目录。例如,需要进入当前目录下的“ebook”子目录,只需要在命令行输入“cd ./ebook”后敲回车即可,这里“.”表示当前目录,可省略;如果是要返回上一级目录,只需在命令行输入“cd ..”后敲回车即可,这里“..”表示上一级目录;在命令行输入“cd /”或者“cd \”,然后敲回车,即可回到当前盘符的根目录。

③ 查看指定目录下内容。在命令行输入“dir 目录路径”即可查看指定目录下的所有文件及子目录信息。如命令“dir E:\”,可查看E盘根目录下所有文件及子目录信息。

④ 在命令行窗口可通过“向上、向下”两个方向键查看历史操作命令。

⑤ 可在命令行窗口中输入可执行程序的路径来启动应用程序。例如,我们在电脑的命令行中输入“D:\Tools\Tencent\QQ\Bin\qq”,然后敲下回车即可启动QQ软件。

⑥ 在命令行窗口中输入“cls”,然后敲回车,可清除屏幕缓冲区内容。

三、了解编程

笔者试图通过本节内容让读者朋友理解掌握一些必要的概念,特别是编程的初学者,对于概念的学习尤其重要。如果概念没有搞清楚,会阻碍我们对后续知识点的学习。

3.1比特与字节

比特(bit)

二进制数系统中,每个0或1就是一个位(bit),位是数据存储的最小单位。其中8bit就称为一个字节(Byte)。计算机中的CPU位数指的是CPU一次能处理的最大位数。例如32位计算机的CPU一次最多能处理32位数据。

字节(byte),

计算系统最小的数据存储单位。

存储单位换算

 1GB=1024MB, 1MB=1024KB, 1KB=1024byte。

指令、指令集

指令,是指示计算机执行某种操作的命令,它由一串二进制数码组成。指令集,是指为计算机CPU制定的一套特定的指令规范,这个规范严格规定了每个指令的作用。

3.3 程序

程序是由指令按照特定的逻辑组成的一个指令序列。顾名思义,编程就是编写程序,是指为了使计算机能完成某项工作,将各个不同的指令按照某种逻辑组成一段程序的工作。

3.4 汇编语言

如果完全直接使用二进制的指令进行编程,其复杂性和难度可想而知,编程的工作效率也相对低下;后来科学家发明了更容易被人类掌握的逻辑程序表达方式,叫汇编语言。使用汇编语言编写出来的程序,更容易被人类阅读,但是不能被机器直接执行,需要经过特定的处理,才能变成可被机器执行的机器码。

3.5 高级语言

汇编语言相对来说还是比较接近机器语言,所以,为了更好的利用计算机技术,科学家们又发明了更容易被人类掌握和使用的编程语言,这些语言被称为高级语言。其中最具代表性的高级语言有C、C++、Java、C#、PHP等。

3.6 源码

用高级语言编写出来的程序叫源码,或者叫源程序。由于源程序的内容是文本,因此只要是能编辑纯文本的工具都可以用来编写源程序,比如Windows系统自带的记事本。

3.7 编译、编译器

源程序是不能直接被执行的,需要先把源程序转化成机器码,再执行,这个转化的过程我们称之为编译(compile);编译通常需要借助特定的系统软件,这个系统软件我们通常称之为编译器(compiler)。


图(4)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值