学习计算机的相关知识,那我们先来了解一下计算机。
计算机基础知识
计算机概述
计算机(Computer)
既然我们是在学习计算机,那我们先来了解一下计算机的概念:
计算机(Computer)全称:电子计算机,俗称电脑,是一种能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。由硬件和软件所组成,没有安装任何软件的计算机称为裸机。常见的形式有台式计算机、笔记本计算机和大型计算机等。
计算机的应用已经渗透到社会的各个领域,正在改变着人们的工作、学习和生活的方式,推动着社会的发展。
第一台计算机ENIAC(电子数字积分计算机)诞生于二战时期的美国,生于战争,也用于战争。下面是第一台计算机:
对,这只是一台计算机,它拥有一层楼的体积(说是说一层楼,但实际上170个平方也就2间教室大小)和18000个电子管,1秒可以完成5000次运算。在当时可是破天荒的存在,美国人便是用它来计算弹道。这是计算机的主要应用之一:科学计算。除此之外,它还主要应用在数据处理、自动控制、计算机辅助设计、人工智能、多媒体应用、计算机网络等方面,已经极大程度的融入进了我们的生活。
上面在计算机的描述中我们了解到计算机由软件和硬件组成,那我们接下来便先来了解一下硬件部分
计算机硬件(Computer Hardware)
计算机硬件(Computer Hardware)是指计算机系统中由电子、机械和光电元件等组成的各种物理装置的总称。这些物理装置按系统结构的要求构成一个有机整体为计算机软件运行提供物质基础。
对于这个硬件的概念,我是这么理解的,摆在你面前一套电脑,凡是你能触摸到的都是硬件,至于每个硬件具体是由哪些电子元件、以何种框架组成的,不在我们的学习范围内。(你要去研究我也不拦着 )
而对硬件结构的划分,就要提到一个计算机界的名人——冯·诺依曼。他被称为“现代计算机之父”,至于他的天才之处就不在这里概述了,建议大家提前准备好垫子和膝盖再在网上去了解他。(简直非人哉)。
他在上世纪中旬对计算机提出了一个“冯·诺依曼体系结构” ,将计算机硬件分成5大组成部件:运算器、控制器、存储器、输入设备和输出设备。
这套体系一直沿用至今,通俗而讲,存储器就是我们常讲的内存(RAM)和外存(ROM),其实也就是内存条和硬盘,是计算机的记忆部分,用来存放程序以及程序中涉及的数据。它分为内部存储器(RAM)和外部存储器(ROM)。内部存储器用于存放正在执行的程序和使用的数据,其成本高、容量小,但是速度快。外部存储器可用于长期保存大量程序和数据,其成本低、容量大,但速度较慢;
输入设备和输出设备统称为外部设备,简称外设或I/O设备,用来实现人机交互和机间通信。输入设备就是我们的鼠标、键盘、扫描器等能够输入数据或指令给计算机的设备;输出设备则是屏幕、打印机等能够将计算机的数据按照指定方式和格式输出的设备。这三者顾名思义就可以理解,看到运算器和控制器是不是一脸茫然?
运算器和控制器是计算机的核心,合称*处理器(Central Processing Unit)或处理器。或许我换个称呼你就熟悉了,CPU,熟悉吧。CPU的内部还有一些高速存储单元,被称为寄存器。其中运算器执行所有的算术和逻辑运算;控制器负责把指令逐条从存储器中取出,经编译后向计算机发出各种控制指令;而寄存器为处理单元提供操作所需要的数据。
计算机软件(Computer Software)
计算机软件(Computer Software)是使用计算机过程中必不可少的东西,计算机软件可以使计算机按照事先约定好的顺序完成特定的功能,计算机软件按照其功能划分为系统软件与应用软件。
· 系统软件:DOS(Disk Openrating System),Windows,Linux,Unix,Mac,Android,iOS
· 应用软件:Office,QQ,微信,扫雷
对于计算机,我们说的最多无非就是玩电脑,那我们到底“玩”的什么呢?自然不可能玩个鼠标、屏幕之类的硬件吧,而是指这里的软件。如果说硬件决定你的计算机的性能,那软件则是功能。当然了,我们学的也是软件。
软件开发
刚开始接触这个词可能会有点陌生,那我们把它拆开来看:上面也提到过软件的定义——按照特定顺序组织的计算机数据和指令的集合。或许这个定义有些许抽象,其实你在使用软件的过程,本质上就是你在给该软件输入数据和下达指令的过程,而软件则根据你输入的数据和指令反馈一个数据给你。那么什么是开发呢?开发则是软件的制作过程。那么现在结合起来:
软件开发——借助开发工具与计算机语言制作软件。
说白了就是以后要干的工作。
计算机语言分类
上面的软件开发中提到其是借助开发工具和计算机语言制作软件,这里便先来介绍一下什么是计算机语言。
计算机语言:人与计算机之间进行信息沟通的一种特殊语言
任何一种语言都是为了沟通而存在的,换个说法,任何沟通都需要一种语言。人与计算机交流也不例外,总不能你直接对计算机口头上说一句“你好吗?”,它就回你一句“我好。”。而是我们要懂得它的语言之后再来和它进行的一种交互。
提到计算机语言就不得不提及计算机语言的发展历程,严格来讲,计算机语言已经发展到了第三代,正在向第四代迈进中。
机器语言
机器语言是第一代计算机语言,可以说是随着计算机的诞生而产生的一种语言,机器语言是直接使用二进制代码指令表达的计算机语言,指令是用0和1组成的一串代码,它们有一定的位数,并分为若干段,各段的代码表示不同的含义。下面便是一段机器语言(具体啥意思咱不知道,咱也不敢问 ) :
早期的程序员便只能靠0和1编写他们所需要的程序(细思极恐,要是现在还是这种语言估计学计算机的人没几个 ),可以说编写时间远比使用时间长,而且写好的程序仅能在单一的设备(CPU)上运行,因此促生了下一代语言。
至于机器语言为什么只能在单一CPU上运行,我也在网上寻找了对应资料:计算机的本质是让cpu帮忙处理进行计算,机器语言每一行指令中各部分包含不同功能的信息(操作类型、操作码、被操作的寄存器、其他需要的信息等等),这些指令可以直接对cpu中的各种电子元件进行操作(在设计cpu时定义的)。但是CPU也分为许多种类,每种CPU的设计框架不同对应的指令也就不同,这就导致我们对同一程序对每台电脑都要单独去重新设计。
汇编语言
汇编语言作为第二代计算机语言,也被人们称为符号语言,因为当时用机械语言写程序太累了(果然懒才是人类社会进步的源动力 )为了简化使用,cpu在设计时被加入了一套指令集,即汇编语言,并且专门用一个寄存器储存汇编码到机器语言的对应(可以想像成一个翻译表)。从根本来讲,它是符号化的机器语言。用汇编语言写出的程序是汇编语言源程序,机器无法执行。必须用计算机配置好的汇编程序把它翻译成机器语言目标程序,机器才能执行。
同时也因为它是源于机器语言,语句与机器语言的指令一一对应,导致它和机器语言一样,通用性差,一样都依赖于机器,与计算机硬件直接相关,也是面向机器的语言。
汇编语言作为最基本的编程语言之一,虽然它的应用范围不算很广,但重要性却毋庸置疑,因为它能够完成许多其他语言所无法完成的功能。例如Linux内核的绝大部分代码是用C语言编写的,但仍然不可避免地在某些关键地方使用了汇编代码,其中主要是在Linux的启动部分。由于这部分代码与硬件的关系非常密切,即使是C语言也会有些力不从心,而汇编语言则能够很好地扬长避短,最大限度地发挥硬件的性能。70%以上的系统软件是用汇编语言编写的。某些快速处理、位处理、访问硬件设备等高效程序是用汇编语言编写的。某些高级绘图程序、视频游戏程序也是用汇编语言编写的。
汇编语言是理解整个计算机系统的最佳起点和最有效途径.人们经常认为汇编语言的应用范围很小,而忽视它的重要性。其实汇编语言对每一个希望学习计算机科学与技术的人来说都是非常重要的,是不能不学习的语言。所有可编程计算机都向人们提供机器指令,通过机器指令人们能够使用机器的逻辑功能。所有程序,不论用何种语言编制,都必须转成机器指令,运用机器的逻辑功能,其功能才能得以实现。机器的逻辑功能、软件系统功能构筑其上,硬件系统功能运行于下。汇编语言直接描述机器指令,比机器指令容易记忆和理解。通过学习和使用汇编语言,能够感知、体会、理解机器的逻辑功能,向上为理解各种软件系统的原理打下技术理论基础;向下为掌握硬件系统的原理打下实践应用基础。学习汇编语言向上可以理解软件,向下能够感知硬件,是理解整个计算机系统的最佳起点。
高级语言
高级语言:使用普通英语进行编写源代码,通过编译器将源代码翻译成计算机直接识别的机器语言,之后再由计算机执行。
第三代计算机语言——高级语言是一种比较接近自然语言和数学表达式的计算机程序设计语言,是“面向用户的语言”。一般用高级语言编写的程序称为“源程序”,计算机不能直接识别和执行,必须把用高级语言编写的源程序翻译成机器指令才能执行,通常有编译和解释 两种方式。编译是将源程序整个编译成目标程序,然后通过连接程序将目标程序连接成可执行程序。解释是将源程序逐句翻译,翻译一句执行一句,边翻译边执行,不产生目标程序,由计算机执行解释程序自动完成。
常见的高级语言包括C,C++,C#,Java,Python等。
超级语言
在此之上,还有没有其他编程语言类型呢?其实我们认为还有一种类型,我们叫它超级语言,超级语言不仅接近自然语言,不仅与CPU型号无关,它还可以粘性整合已有程序,具备庞大的计算生态。
到今天,计算机技术发展了近70年的时间,编写程序甚至与CPU无关的编写程序,已经不是很重要的问题,更重要的是我们怎么去复用别人已经写好的代码,我们怎么利用已有的功能模块完成未知的功能模块。这为编程语言的设计提出了更高的挑战。我们认为这一类型的语言叫超级语言。
超级语言需要具有庞大的计算生态,可以很容易利用已有代码的相关功能,在超级语言的编程思维中,编程不只是刀耕火种,而是集成开发。比如2+3这样一个基本的计算功能,如果利用超级语言来完成,我们可以写为result = sum(2,3) 的形式,我们只需要将参数给到一个函数里,再由这个函数返回结果就可以。至于sum这个函数是我们自己写的,还是通过别人的生态库去完成的并不重要。
人机交互
什么是人机交互呢?别说,听着简单,但是细思极恐啊(越想越复杂系列 )。于是乎我在百度上查到了这样一段描述:
当计算机播放某多媒体程序的时候,编程人员可以发出指令控制该程序的运行,而不是程序单方面执行下去,程序在接受到编程人员相应的指令后而相应地做出反应,这一过程及行为,我们称之为交互。
Emmm…简单来说,就是你在使用电脑的时候,对,移动鼠标和敲击键盘也算,电脑能根据你的操作给予你相对应的结果。就好比你的手将手中的鼠标向右移,电脑接收到从鼠标传来的指令后将屏幕上的鼠标指针也进行向右移。这就是一个简单的人机交互。你下达了指令,计算机根据指令反馈结果。
这里举俩常用的栗子,啊呸,是方式。
命令行方式
- 命令行方式:需要有一个控制台,输入特定的指令,让计算机完成一些操作。较为麻烦,需要记住一些命令。
命令行方式呢,比较复杂,(但是,逼格比较高 ),毕竟在清一色的图形化操作界面下,会命令行操作的人越来越少。对Windows而言,使用Win键加上R键打开运行窗口,再在打开中输入CMD即可运行命令行(你在开始菜单中找到它并运行我也没意见 )。
初次尝试的你如果在这块“黑板”上输入一句语句“Hello?”,计算机可不会回你一句“Hi!”只会冷漠的给你来一句:
因为计算机不认识这个指令,在CMD中只有你输入正确的指令计算机才会给你相对应的回应,错一个字母或少一个字符都不可以。
例如我们尝试一下简单的ping指令,在CMD中键入:
ping www.baidu.com
正确输入并回车后才会得到(请忽略家里垃圾移动的网络延迟 )
更多的指令看哪天把常用的指令整理好了再集中发一下吧,命令行还是蛮好玩的。
图形化界面
- 图形化界面:图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。这种方式简单直观,使用者易于接受,容易上手操作。
图形化界面已经遍及我们生活的方方面面了,也可以这么说,凡是通过鼠标点击图标、文字完成操作都要依赖图形化界面。
插曲:图形化界面的由来
我们最早接触到图形化界面是什么呢?Windows?但早期不是微软公司,也不是苹果公司,而是美国的一家叫做Xerox(施乐)的公司,当时的施乐公司在内部制作了一个在目前看来相当简陋的图形化操作系统,这份技术并没有对外推广(论商业头脑的重要性 ),后来乔布斯很不巧的知道了这个系统,就去找施乐公司的Boss去谈(贿赂 ),要卖给他苹果公司一百万的股份,要知道当时正处于苹果公司的上升期,这种情况下的公司一般是不会轻易出售自己的股份的,因此施乐公司的Boss接受了贿赂,表示愿意带乔布斯去他们的实验室去参观,于是乔布斯就十分实(奸)在(诈)的带着一队设计师和程序员去了施乐公司的实验室,一顿详细考察后乔布斯决定一定要研制出图形化界面,于是回去后便将研发重点放在了图形化界面。
But,乔布斯这人比较爱显摆,研制一段时间后,就向有合作关系的比尔盖茨炫耀,“来,hxd,我给你看看我的大宝贝!”于是比尔盖茨也相中了图形化界面,回到公司把接的苹果公司的工作丢一边,专门研究图形化界面,并最终早苹果一步研发出成型的图形化界面,随即发布到了市场上。图形化界面于是便迅速发扬光大。
可以说,图形化界面始源于施乐公司,发迹于乔布斯,真正将它发扬光大的则是微软的比尔盖茨。
但是你说到手的鸭子被别人吃了,苹果能不气吗?于是乔布斯决定要将研制的图形化界面比微软的Windows更漂亮更华丽,这也是为什么现在学的基本都是用的苹果的产品,它的产品的确是更符合美学。
键盘功能键介绍
好歹是敲键盘的活计,提一下键盘(捂脸)。而且将键盘的每一个键位的功能和输入的字符弄清楚,这是一件很重要的事情。这里简单提几个常用的功能键。
Tab 制表符
这个键位日常使用于你在网页填写账号密码等类似的表格时换行(框),省了换手用鼠标。编辑文本时则是美化文字规范,也就是我们语文说的缩进,写代码也一样,通常是4个空格
Shift 上档转换键
看它的中文意义,就是在按住它的时候,敲击有两层字符的键位可以输入上面那一层字符,而字母则是输入大写值。由于中文字符和英文字符的不同,研究一下还是很有意思的。
Ctrl & Alt
Ctrl是控制键
Alt 是单词“Alter”的缩写,意为改变
空格 & Enter
空格就是简单的输入一个空格;Enter则是换行和确定功能键
Windows
键盘左下方的一个有Windows窗口的键位,对,就是你用来一键打开开始菜单的那个。
↑↓←→
方向键,在键盘的右下方,用来控制光标位移
PrtSc(PrintScreen)
屏幕截图,或许你感觉按了之后没反应,但是如果你在一个文档中粘贴就会得到你按下该键时的屏幕截图。
键盘快捷键介绍
这个没啥好细说的,自己尝试一下即可。
- Ctrl+A 全选
- Ctrl+C 复制
- Ctrl+V 粘贴
- Ctrl+X 剪切
- Ctrl+Z 撤销
- Ctrl+S 保存
- Windows徽标键+D键快速显示桌面
- Windows徽标键+R键执行“运行”命令
- Windows徽标键+L键切换用户
- Windows徽标键+E键启动“我的电脑”
打开DOS控制台的方式
根据你的系统,不妨一试?
- xp
- 开始-程序-附件-命令提示符
- 开始-运行-cmd-回车
- Win+R-cmd-回车
- Win7
- 开始-所有程序-附件-命令提示符
- 开始-搜索程序和文件-cmd-回车
- Win+R-cmd-回车
- Win8+
- 开始-↓-命令提示符
- 鼠标右键开始-搜索-cmd-回车
- 鼠标右键开始-运行-cmd-回车
- Win+R-cmd-回车
常用DOS命令
这个虽然实用性不高,但是好玩(而且逼格高 ),技多不压身,了解一下是好的。
注:纯英文输入,所以符号也是英文半角下输入
d:+回车
盘符切换:第一个字母是盘符,也就是我们常说的C盘、D盘之类的
dir(directory)
列出当前目录下的文件以及文件夹
md(make directory)
创建目录
rd(remove directory)
删除目录
cd(change directory)
改变(进入)指定目录
cd..
退回到上一级目录
cd\
退回到根目录(即*目录,也就是第一个目录)
del(delete)
删除文件,删除所有后缀名相同的文件在后面加上:*.txt(后缀名)
exit
退出dos命令行(比直接点X关闭秀一点)
cls(clear screen)
清屏
计算机基础就这么多,说完啦,剩下的就是向编程语言进军啦,不过把上面的东西实践一下是更好的选择。
2021-2-18 21:46