计算机导论知识点总结.docx
- 文档编号:12840787
- 上传时间:2023-04-22
- 格式:DOCX
- 页数:45
- 大小:4.32MB
计算机导论知识点总结.docx
《计算机导论知识点总结.docx》由会员分享,可在线阅读,更多相关《计算机导论知识点总结.docx(45页珍藏版)》请在冰豆网上搜索。
计算机导论知识点总结
◆◆将计算机发展划分为五个阶段的标志:
元件制作工艺水平的不断提高是计算机发展的物质基础,因此以计算机元器件的变革作为标志,将计算机的发展划分为五个阶段,这五个阶段通常称为计算机发展的五个时代。
自1946年第一台电子数字计算机问世以来,计算机的发展以计算机硬件的逻辑元器件为标志,大致经历了电子管、晶体管、中小规模集成电路到大规模、超大规模集成电路和极大规模集成电路等5个发展阶段。
◆◆冯·诺依曼原理和冯·诺依曼结构图:
◆◆冯·诺依曼计算机的基本特点如下:
·采用存储程序方式,程序和数据放在同一个存储器中,两者没有区别,指令同数据一样可以送到运算器进行运算,即由指令组成的程序是可以修改的。
·存储器是按地址访问的线性编址的唯一结构,每个单元的位数是固定的。
·指令由操作码和地址码组成。
·通过执行指令直接发出控制信号控制计算机的操作。
·机器以运算器为中心,输入输出设备与存储器间的数据传送都经过运算器。
·数据以二进制表示。
◆◆冯·诺依曼体系
◆◆计算机系统主要技术指标
1.字长
2.时钟周期和主频
3.运算速度
4.内存容量
5.存储器的容量反映计算机记忆信息的能力。
它常以字节为单位表示。
一个字节为八个二进制位,即
1byte=8bit。
210byte=1024=1kbytes220byte=1mbytes
230byte=1gbytes
bit——比特
b——字节
kb——千字节
mb——兆字节
gb——吉字节
tb——太字节
表示存储容量的单位一般用字或字节。
例如,32kb表示32k字节,128kw表示128k字,其中ik=1024b。
1kb等于1024字节。
1mb等于1024×1024字节。
1gb等于1024×1024×1024字节。
1tb等于1024×1024×1024×1024字节。
6.数据输入输出最高速率
◆◆cpu工作频率=倍频×外频
◆◆文件名不能出现:
\/:
*?
"<>|
通配符:
?
代表任意一个字符
*代表任意一个字符串
◆◆ram的全名是读写随机存取存储器(readwriterandomaccessmemory),本应缩写为rwram,但它不易发音,故流行称为ram。
三个特点:
1.可以读出、也可以写入;
2.所谓随机存取,意味着存取任一单元所需的时间相同;
3.当断电后,存储内容立即消失,称为易失性(volatile)。
ram可分为动态(dynamicram)和静态(staticram)两大类。
◆◆rom为只读存储器(readonlymemory或译唯读存储器)的缩写。
rom的用途很广,举数例说明如下:
·与微程序设计相结合。
·与操作系统、高级语言相结合。
·与应用软件相结合。
·无磁盘网络工作站。
◆◆操作系统的定义
操作系统是用户和系统的界面,系统内部虽然十分复杂,但这些复杂性由于有操作系统的存在而不显现在用户面前。
计算机操作系统向用户提供系统调用,用户通过操作系统提供的命令,简单方便地把自己的意图告诉系统,让操作系统去完成工作。
由于操作系统的卓越工作,才能保证系统资源的充分利用,又使用户能方便使用计算机。
操作系统就是用来
管理计算机系统的软硬件资源
提高计算机系统资源利用率
方便用户使用
的程序集合。
◆◆操作系统的基本功能
1.存储器管理的功能
内存分配
内存保护
地址映射
内存扩充
2.处理机管理的功能
进程控制
进程同步
进程通信
调度
3.设备管理的功能
缓冲管理
设备分配
设备处理
设备独立性和虚拟设备
4.文件管理的功能
文件存储空间的管理
目录管理
文件的操作
◆◆例如:
十进制数
个位的6表示其本身的数值;而十位的6,表示其本身数值的十倍,即6×10,百位的6,则代表其本身数值的一百倍,即6×100;而小数点右边第一位小数位的6表示的值为6×;第二位小数位的6表示的值为6×。
因此这个十进制数可以用多项式展开写成:
=6×102+6×101+6×100+6×10-1+6×10-2
在这里,因为是十进制数,所以基数是10。
“权”的底数称为进位制的基数。
二进制各数位的“权”是以2为底的幂
二进制例如:
()2
=1×24+0×23+1×22+1×21+0×20+1×2-1
=()10
八进制例如:
()8=4×82+5×81+6×80+4×8-1+5×8-2=()10
十六进制
例如:
(2af)16=2×162+a×161+f×160
=2×162+10×16+15×1
=(687)10
1、它采用十六个不同的记数符号,即数码:
0~9及a、b、c、d、e、f。
其中a表示十进制数10,b表示11,c表示12,d表示13,e表示14,f表示15。
2、它采用逢十六进一的进位原则,各位数的“权”是以16为底数的幂。
◆◆十进制整数转换成二进制整数
逐次除2取余法:
用2逐次去除待转换的十进制整数,直至商为0时停止。
每次所得的余数即为二进制数码,先得到的余数在低位,后得到的余数排在高位。
例如,将83转换成二进制数,逐次除2取余:
◆◆十进制小数转换成二进制小数
乘2取整法:
逐次用2去乘待转换的十进制小数,将每次得到的整数部分(0或1)依次记为二进制小数b-1,b-2,…,b-m。
值得注意的是:
并非每一个十进制小数都能转换为有限位的二进制小数,此时可以采用0舍1入的方法进行处理(类似于十进制中的四舍五入的
◆◆任意十进制数转换成二进制数
对于任意一个既有整数部分,又有小数部分的十进制数,在转换为二进制数时:
只要将它的整数部分和小数部分分别按除2取余和乘2取整的法则转换,最后把所得的结果用小数点连接起来即可。
必须注意:
逐次除2取余的余数是按从低位到高位的排列顺序与二进制整数数位相对应的;逐次乘2取整的整数是按从高位向低位的排列顺序与二进制小数数位相对应的。
其共同特点是以小数点为中心,逐次向左、右两边排列。
◆◆三位一并法:
从待转换的二进制数的小数点开始,分别向左、右两个方向进行,将每三位合并为一组,不足三位的以0补齐(注意:
整数部分在前面补0,小数部分在末尾补0)。
然后每三位二进制数用相应的八进制码(0~7)表示,即完成二-八转换工作。
〖例〗将()2转换成八进制数。
首先以小数点为中心,分别向左右两个方向每三位划分成一组(以逗号作为分界符):
101,010,,
然后,每三位用一个相应八进制数码代替,即得:
()2=()8
〖例〗将(.0011)2转换成八进制数。
首先分组(以逗号作为分界符):
10,010,,1
小数点的左边,有一组“10”不足三位,应该补一位0,即应补为“010”;小数点的右边,有一组“1”不足三位,应该补两位0,即应补为“100”。
则补0后的分组情况为:
010,010,,100,
即得:
(.0011)2=()8
◆◆八进制数转换为二进制数
此为上述转换的逆过程。
将每一位八进制数码用三位二进制数码代替,即“一分为三”。
〖例〗将()8转换成二进制数。
将八进制数的每位数码依次用三位二进制数代替,即得:
()8=()2
〖例〗将(.0011)2转换成十六进制数。
首先以小数点为中心,分别向左右两个方向每四位划分成一组(以逗号作为分界符):
1011,,
然后,每四位用一个相应十六进制数码代替,即得:
(.0011)2=()16
〖例〗将()16转换成二进制数。
将八进制数的每位数码依次用三位二进制数代替,即得:
()16=()2
◆◆原码是一种以符号和数值表示的二进制编码。
有符号数的原码编码规则是:
用最高位表示符号,正数用0表示,负数用1表示。
其他位表示该数的绝对值
例如:
x=(+105)[x]原=(01101001)2
y=(-105)[y]原=()2
注意:
0的原码有两种,即[+0]原=(00000000)2,[-0]原=()2
结论:
正数的原码是它本身,负数的原码是真值取绝对值后,在最高位(左端)补“1”。
◆◆正数的补码等于正数本身,负数的补码等于模(即2n)减去它的绝对值,即符号位1不变,数值部分是原码的数值部分按位取反并加1
例:
x1=1101,[x1]补=01101
x2=-1101,[x2]补=10011
在补码表示中,真值0的表示形式是唯一的:
[+0]补=[-0]补=00000
◆◆反码是一种用符号位和对数值按位取反表示的二进制编码。
有符号数的反码编码规则是:
用最高位表示符号,正数用0表示,负数用1表示。
正数的反码是其原码本身,负数反码的数值部分是原码的数值部分按位取反。
例如:
[+65]原=(01000001)2[+65]反=(01000001)2
[-65]原=()2[-65]反=()2
注意:
0的反码有两种,即[+0]反=(00000000)2,[-0]反=()2。
结论:
正数的反码与其原码相同,负数的反码是符号位不变,其余各位按位取反。
◆◆三种码制的比较与转换
比较
对于正数它们都等于真值本身,而对于负数各有不同的表示。
最高位都表示符号位,补码和反码的符号位可作为数值位的一部分看待,和数值位一起参加运算;但原码的符号位不允许和数值位同等看待,必须分开进行处理。
对于真值0,原码和反码各有两种不同的表示形式,而补码只有唯一的一种表示形式。
原码、反码表示的正、负数范围相对零来说是对称的;但补码负数表示范围较正数表示范围宽,能多表示一个最负的数(绝对值最大的负数),其值等于-2n(纯整数)或-1(纯小数)。
◆◆转换
x1=1011x2=-1011
[x1]原=00001011[x2]原=
[x1]补=00001011[x2]补=
[x1]反=00001011[x2]反=
x3=x4=
[x3]原=[x4]原=
[x3]补=[x4]补=
[x3]反=[x4]反=
◆◆计算机在要处理的数含有小数部分时,就有一个如何表示小数点的问题。
在计算机中并不用某个二进制位来表示小数点,而是隐含规定小数点的位置。
若约定小数点的位置是固定的,这就是定点表示法;若给定小数点的位置是可以变动的,则成为浮点表示法。
他们不但关系到小数点的问题,而且关系到数的表示范围和精度。
◆◆计算机所能识别的语言只有机器语言。
◆◆算法:
是由一系列规则组成的过程,这些规则确定了一个操作的顺序,以便能在有限步骤内得到特定问题的解。
◆◆算法的性质:
确定性
通用性
有限性。
◆◆衡量算法性能
1、算法的时间特性
时间复杂度:
把整个程序中语句的重复执行次数之和作为该程序运行的时间特性,记为t(n)。
2、算法的空间特性
空间复杂度:
一个程序在计算机上运行时所占用的空间是问题规模n的一个函数,记为s(n)。
3、算法的易理解性
◆◆面向对象编程语言
对象最突出的特征有三个:
封装性、继承性、多态性。
◆◆数据结构具体分为两大类:
线性结构和非线性结构。
◆◆数据结构定义为:
按某种逻辑关系组织起来的一批数据,应用计算机语言,按一定的存储方式将它们存储在计算机的存储器中,并在这些数据上定义了一个运算的集合,就叫做一个数据结构。
◆◆数据库系统:
是在数据库系统中实现对数据进行管理的软件系统,它是数据库系统的重要组成部分和核心,由数据库、数据库管理系统、数据库管理员、数据库应用程序以及用户五部分组成。
数据库管理系统(databasemanagementsystem,dbms):
是对数据库进行管理的软件,它是数据库系统的核心。
◆◆结构化查询语言(structuredquerylanguage,sql):
是一种基于关系代数和关系演算的数据操纵语言,目前一般都采用sql作为共同的数据操纵语言和标准接口,是数据库领域的一种主流语言。
◆◆sql的特点
功能的一体化
语法结构的统一性
高度的非过程化
语言的简洁性
◆◆sql的功能
·数据定义功能
用于定义数据库的逻辑结构,包括定义基本表、视图和索引。
·数据操纵功能
主要包括数据查询和数据更新两大类。
·数据控制功能
主要是对用户对数据的存取权限进行控制,包括基本表和视图的授权、完整性规则的描述和事务控制器等。
·嵌入式功能
◆◆sql的数据定义操作-定义基本表
基本表定义语句的一般形式:
createtable<基本表名>
(<属性名1><数据类型1>[notnull],
[<属性名2><数据类型2>[notnull]],
...
[<完整性约束>])
定义基本表举例
〖例1〗使用sql语句建立学生表s、课程表c和学生选课成绩表sc。
解:
(1)创建基本表s:
createtables
(学号char(6)notnull,姓名char(8)notnull,
年龄smallint,性别char
(2),系别char(20),primarykey(学号))
〖例1〗
(2)创建基本表c:
createtablec
(课程号char(4)notnull,课程名char(4)notnull,教师名char(8),primarykey(课程号))
〖例1〗(3)创建基本表cs:
createtablesc
(学号char(8)notnull,
课程号char(4)notnull,
成绩smallint,
primarykey(学号,课程号)
foreignkey(学号)referencess(学号),
foreignkey(课程号)referencesc(课程号),
check(成绩isnull)or(成绩between0and100))
◆◆修改基本表
在基本表中增加列:
altertable<基本表名>add<属性名><数据类型>
〖例2〗在例1的学生基本表s中增加一个属性“家庭地址”:
altertablesadd家庭地址varchar(40)
在基本表中删除列:
altertable<基本表名>drop<属性名><删除方式>
这里,<删除方式>可以取cascade和restrict两种方式。
〖例3〗在学生基本表s中删除一个属性“系别”:
altertablesdrop系别cascade
或altertablesdrop系别restrict(限制)
◆◆撤销基本表
撤销基本表语句:
droptable<基本表名><撤销方式>
<撤销方式>可以取cascade和restrict两种方式。
〖例4〗若要撤销学生基本表s,可用下列语句实现:
droptablescascade
或droptablesrestrict
◆◆定义索引
定义索引语句:
create[unique]index<索引名>on<基本表名>
(<属性名1>[<次序>][,<属性名2>[<次序>]]...)
[pctfree={<整数>}]
〖例5〗在学生基本表s的列“学号”上按升序建立索引:
create[unique]indexsnoindexons学号asc)
在基本表cs的列“成绩”、“学号”上按降序建立索引:
createindexgradeindexons(成绩desc学号desc)
◆◆撤销索引
撤销索引语句:
dropindex<索引名>
注意:
如果撤销某一个基本表,则该基本表上建立的所有索引将被一起撤销。
〖例6〗若要撤销学生基本表s上的索引snoindex,则可用下列语句实现:
dropindexsnoindex
◆◆数据查询语句是sql的核心,是sql数据操纵功能的重要组成部分。
sql的查询语句使用非常灵活,功能十分强大,它可以实现:
简单查询
连接查询
嵌套查询
◆◆sql的数据查询语句
数据查询语句的一般形式:
select<目标属性>from<基本表名或视图名>[where<条件表达式>]
[groupby<属性名1>[having<条件表达式>]]
[orderby<属性名2>[<次序>]]
◆◆数据查询语句的组成:
select子句
from子句
where子句
groupby子句
orderby子
select子句中的<目标属性>可以是“*”或<选择列表>。
“*”表示查询结果是整个元组;
<选择列表>是用逗号分隔的项(属性名、常数或系统内部函数),当指定了<选择列表>时,查询结果将是由<选择列表>所指定的列。
简单查询举例句
〖例7〗在基本表s中查询全体学生的详细信息:
select*froms
该查询语句等价于:
select学号,姓名,年龄,性别,系别froms
〖例8〗在基本表s中查询计算机科学与工程系和电气工程系学生的学号、姓名和年龄:
select学号,姓名,年龄froms
where系别=‘计算机科学与工程系’or系名=‘电气工程系’
该查询语句等价于:
select学号,姓名,年龄froms
where系别in(‘计算机科学与工程系’,‘电气工程系’)
〖例9〗在基本表s中查询年龄在18~20岁学生的姓名和性别:
select姓名,性别froms
where年龄>=18and年龄<=20
该查询语句等价于:
select姓名,性别froms
where年龄between18and20
〖例10〗在基本表s中查询所有男学生的学号、姓名和出生年份:
select学号,姓名,2004-年龄froms
where性别=‘男’
〖例11〗在基本表s中查询计算机科学与工程系女学生的总数和平均年龄,可用以下查询语句实现:
selectcount(*),avg(年龄)froms
where系别=‘计算机科学与工程系’and性别=‘女’
〖例12〗在基本表sc中查询有课程号为c001的课程成绩学生的学号、和成绩,查询结果按成绩降序排列:
select学号,成绩fromsc
where课程号=‘c001’
orderbydesc
◆◆多表查询举例
多表查询:
查询涉及两个或两个以上基本表,又称为连接查询。
〖例13〗在基本表s、c和sc中查询选修课程号为c001学生的学号和姓名。
selects.学号,姓名froms,sc
wheres.学号=sc.学号and课程号=‘c001’
〖例14〗在基本表s、c和sc中查询选修课程名为“操作系统”学生的学号和姓名。
selects.学号,姓名froms,c,sc
wheres.学号=sc.学号andc.课程号=sc.课程号
and课程名=‘操作系统’
〖例15〗在基本表s、c和sc中查询选修课程号为c001且成绩为80分及80分以上学生的学号、姓名和成绩。
selects.学号,姓名,成绩froms,sc
wheres.学号=sc.学号andsc.课程号=‘c001’and成绩>=80
◆◆嵌套查询举例
嵌套查询:
在查询语句where后面的条件表达式中出现另一个查询,该查询又称为子查询,sql允许多层嵌套。
〖例16〗在基本表s、c和sc中查询选修课程号为c001学生的学号和姓名。
select学号,姓名froms
wheres.学号in
(select学号fromscwhere课程号=‘c001’)
〖例17〗在基本表s、c和sc中查询选修课程名为操作系统学生的学号和姓名:
select学号,姓名froms
where学号in
(select学号fromscwhere课程号in
(select课程号fromcwhere课程名=‘操作系统’))
◆◆sql的数据更新操作
数据插入
数据删除
数据修改
数据插入语句
形式1:
insertinto<基本表名>[(<属性名1>[,<属性名2>]...)]
valuer(<常量1>[,<常量2>]...)
形式2:
insertinto<基本表名>[(<属性名1>[,<属性名2>]...)]
◆◆sql的数据插入操作举例
〖例18〗在学生基本表s中插入一名新学生的元组,其学号、姓名、年龄、性别和所在系别分别为、周冰、22、男和计算机科学与工程系。
〖例19〗创建一个存放各个系学生平均年龄的基本表deptage(系别,平均年龄),然后把基本表s中每一个系学生的平均年龄存入基本表deptage。
(1)创建基本表deptage:
createtabledeptage
(系别char(20)notnull,平均年龄smallint,
primarykey(系别))
(2)将查询结果存入基本表deptage:
insertintodeptage(系别,平均年龄)
select系别,avg(年龄)froms
groupby系别
insertintosvaluer(‘’,‘周冰’,22,‘男’,‘计算机科学与工程系’)
◆◆sql的数据删除操作
deletefrom<基本表名>[where<条件表达式>]
注意:
该语句从指定的基本表中删除满足条件的那些元组,当没有where子句时表示删除该基本表中的全部元组,但该基本表的定义仍然保存在数据字典中。
删除操作是删除元组,而不是删除元组中的某些属性值。
删除操作只能从一个基本表中删除元组,执行删除操作有可能产生破坏数据一致性的情况,若要从多个基本表中删除元组,则需使用多个delete语句。
执行“deletefrom<基本表名>”操作将使指定的基本表为空表,使用时要格外慎重。
sql的数据删除操作举例
〖例20〗在学生基本表s中删除学号为学生的记录:
deletefromswhere学号=‘’
◆◆sql的数据修改操作
数据修改语句:
update<基本表>
set<属性名1>=<表达式1>[,<属性名2>=<表达式2>,...]
[where<条件表达式>]
含义:
修改指定基本表中满足条件表达式的元组中的指定属性值,set子句中的表达式给出了修改后的值。
〖例21〗在学生基本表s中把学号为学生的系别改为‘电气工程系’:
updates
set系别=‘电气工程系’
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 导论 知识点 总结