1、计算机导论知识点总结全网最全将计算机发展划分为五个阶段的标志 :元件制作工艺水平的不断提高是计算机发展的物质基础,因此以计算机元器件的变革作为标志,将计算机的发展划分为五个阶段,这五个阶段通常称为计算机发展的五个时代 。自1946年第一台电子数字计算机问世以来,计算机的发展以计算机硬件的逻辑元器件为标志,大致经历了电子管、晶体管、中小规模集成电路到大规模、超大规模集成电路和极大规模集成电路等5个发展阶段。冯诺依曼原理和冯诺依曼结构图:冯诺依曼计算机的基本特点如下: 采用存储程序方式,程序和数据放在同一个存储器中,两者没有区别,指令同数据一样可以送到运算器进行运算,即由指令组成的程序是可以修改的
2、。 存储器是按地址访问的线性编址的唯一结构,每个单元的位数是固定的。 指令由操作码和地址码组成。 通过执行指令直接发出控制信号控制计算机的操作。 机器以运算器为中心,输入输出设备与存储器间的数据传送都经过运算器。 数据以二进制表示。冯诺依曼体系 计算机系统主要技术指标1.字长2.时钟周期和主频3.运算速度4.内存容量5.存储器的容量反映计算机记忆信息的能力。它常以字节为单位表示。一个字节为八个二进制位,即1byte = 8bit。 210 byte =1024=1kbytes 220 byte =1mbytes230 byte =1gbytes bit比特b 字节 kb千字节 mb兆字节 gb
3、吉字节 tb太字节 表示存储容量的单位一般用字或字节。例如,32kb表示32k字节,128kw表示128k字,其中 ik 1024b。 1kb等于1024字节。1mb等于10241024字节。1gb等于102410241024字节。1tb等于1024102410241024字节 。6.数据输入输出最高速率cpu工作频率倍频外频文件名不能出现: / : * | 通配符: 代表任意一个字符 * 代表任意一个字符串ram的全名是读写随机存取存储器(read write random access memory),本应缩写为rwram,但它不易发音,故流行称为ram。 三个特点:1.可以读出、也可以写
4、入;2.所谓随机存取,意味着存取任一单元所需的时间相同;3.当断电后,存储内容立即消失,称为易失性(volatile)。ram可分为动态(dynamic ram)和静态(static ram)两大类。rom为只读存储器(read only memory或译唯读存储器)的缩写。 rom的用途很广,举数例说明如下: 与微程序设计相结合。 与操作系统、高级语言相结合。 与应用软件相结合。 无磁盘网络工作站。 操作系统的定义操作系统是用户和系统的界面,系统内部虽然十分复杂,但这些复杂性由于有操作系统的存在而不显现在用户面前。计算机操作系统向用户提供系统调用,用户通过操作系统提供的命令,简单方便地把自己
5、的意图告诉系统,让操作系统去完成工作。由于操作系统的卓越工作,才能保证系统资源的充分利用,又使用户能方便使用计算机。操作系统就是用来管理计算机系统的软硬件资源提高计算机系统资源利用率方便用户使用的程序集合。操作系统的基本功能1存储器管理的功能 内存分配内存保护地址映射 内存扩充2处理机管理的功能进程控制进程同步进程通信调度3设备管理的功能缓冲管理 设备分配 设备处理 设备独立性和虚拟设备4文件管理的功能文件存储空间的管理 目录管理 文件的操作 例如:十进制数 个位的6表示其本身的数值;而十位的6,表示其本身数值的十倍,即610,百位的6,则代表其本身数值的一百倍,即6100;而小数点右边第一位
6、小数位的6表示的值为6;第二位小数位的6表示的值为6。 因此这个十进制数可以用多项式展开写成: 610 2610 1610 061016102在这里,因为是十进制数,所以基数是10。“权”的底数称为进位制的基数。二进制各数位的“权”是以2为底的幂 二进制 例如: ()2 12 4 02 3 122+12 1 02 0 121 ()10八进制 例如: ()8 48 258 168 0481582 ()10十六进制例如:(2af)16 216 2a16 1f16 0 216 21016 151 (687)101、它采用十六个不同的记数符号,即数码:09及a、b、c、d、e、f。其中a表示十进制数1
7、0,b表示11,c表示12,d表示13,e表示14,f表示15。2、它采用逢十六进一的进位原则,各位数的“权”是以16为底数的幂。十进制整数转换成二进制整数逐次除2取余法:用2逐次去除待转换的十进制整数,直至商为0时停止。每次所得的余数即为二进制数码,先得到的余数在低位,后得到的余数排在高位。例如,将83转换成二进制数,逐次除2取余:十进制小数转换成二进制小数乘2取整法: 逐次用2去乘待转换的十进制小数,将每次得到的整数部分(0或1)依次记为二进制小数b1,b2,bm。值得注意的是:并非每一个十进制小数都能转换为有限位的二进制小数,此时可以采用0舍1入的方法进行处理(类似于十进制中的四舍五入的
8、任意十进制数转换成二进制数对于任意一个既有整数部分,又有小数部分的十进制数,在转换为二进制数时:只要将它的整数部分和小数部分分别按除2取余和乘2取整的法则转换,最后把所得的结果用小数点连接起来即可。必须注意: 逐次除2取余的余数是按从低位到高位的排列顺序与二进制整数数位相对应的;逐次乘2取整的整数是按从高位向低位的排列顺序与二进制小数数位相对应的。其共同特点是以小数点为中心,逐次向左、右两边排列。三位一并法: 从待转换的二进制数的小数点开始,分别向左、右两个方向进行,将每三位合并为一组,不足三位的以0补齐(注意:整数部分在前面补0,小数部分在末尾补0)。然后每三位二进制数用相应的八进制码(07
9、)表示,即完成二八转换工作。 例 将()2转换成八进制数。 首先以小数点为中心,分别向左右两个方向每三位划分成一组(以逗号作为分界符): 101,010, 然后,每三位用一个相应八进制数码代替,即得: ()2 ()8 例 将(.0011)2转换成八进制数。 首先分组(以逗号作为分界符): 10,010,1 小数点的左边,有一组“10”不足三位,应该补一位0,即应补为“010”;小数点的右边,有一组“1”不足三位,应该补两位0,即应补为“100”。则补0后的分组情况为: 010,010,100,即得: (.0011)2 ()8八进制数转换为二进制数 此为上述转换的逆过程。将每一位八进制数码用三位
10、二进制数码代替,即“一分为三”。 例 将()8转换成二进制数。 将八进制数的每位数码依次用三位二进制数代替,即得: ()8 ()2 例 将(.0011)2转换成十六进制数。 首先以小数点为中心,分别向左右两个方向每四位划分成一组(以逗号作为分界符): 1011, 然后,每四位用一个相应十六进制数码代替,即得: (.0011)2 ()16例 将()16转换成二进制数。 将八进制数的每位数码依次用三位二进制数代替,即得: ()16 ()2原码是一种以符号和数值表示的二进制编码。有符号数的原码编码规则是:用最高位表示符号,正数用0表示,负数用1表示。其他位表示该数的绝对值例如:x=(+105) x原
11、=(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
12、表示。正数的反码是其原码本身,负数反码的数值部分是原码的数值部分按位取反。例如: +65原=(01000001)2 +65反=(01000001)2 -65原=()2 65反=()2注意:0的反码有两种,即 +0反=(00000000)2,-0反=()2 。结论:正数的反码与其原码相同,负数的反码是符号位不变,其余各位按位取反。三种码制的比较与转换比较对于正数它们都等于真值本身,而对于负数各有不同的表示。最高位都表示符号位,补码和反码的符号位可作为数值位的一部分看待,和数值位一起参加运算;但原码的符号位不允许和数值位同等看待,必须分开进行处理。 对于真值0,原码和反码各有两种不同的表示形式,而
13、补码只有唯一的一种表示形式。原码、反码表示的正、负数范围相对零来说是对称的;但补码负数表示范围较正数表示范围宽,能多表示一个最负的数(绝对值最大的负数),其值等于-2n(纯整数)或-1(纯小数)。转换 x1=1011 x2=-1011 x1原=00001011 x2原= x1补=00001011 x2补= x1反=00001011 x2反=x3= x4= x3原= x4原= x3补= x4补= x3反= x4反=计算机在要处理的数含有小数部分时,就有一个如何表示小数点的问题。在计算机中并不用某个二进制位来表示小数点,而是隐含规定小数点的位置。若约定小数点的位置是固定的,这就是定点表示法;若给定
14、小数点的位置是可以变动的,则成为浮点表示法。他们不但关系到小数点的问题,而且关系到数的表示范围和精度。计算机所能识别的语言只有机器语言。算法:是由一系列规则组成的过程,这些规则确定了一个操作的顺序,以便能在有限步骤内得到特定问题的解。算法的性质:确定性通用性有限性。衡量算法性能 1、算法的时间特性时间复杂度:把整个程序中语句的重复执行次数之和作为该程序运行的时间特性,记为t(n)。2、算法的空间特性空间复杂度:一个程序在计算机上运行时所占用的空间是问题规模n的一个函数,记为s(n)。3、算法的易理解性面向对象编程语言对象最突出的特征有三个:封装性、继承性、多态性。数据结构具体分为两大类: 线性
15、结构和非线性结构。数据结构定义为: 按某种逻辑关系组织起来的一批数据,应用计算机语言,按一定的存储方式将它们存储在计算机的存储器中,并在这些数据上定义了一个运算的集合,就叫做一个数据结构。数据库系统:是在数据库系统中实现对数据进行管理的软件系统,它是数据库系统的重要组成部分和核心,由数据库、数据库管理系统、数据库管理员、数据库应用程序以及用户五部分组成。数据库管理系统(data base management system, dbms):是对数据库进行管理的软件,它是数据库系统的核心。结构化查询语言(structured query language, sql):是一种基于关系代数和关系演算的
16、数据操纵语言,目前一般都采用sql作为共同的数据操纵语言和标准接口,是数据库领域的一种主流语言。sql的特点功能的一体化语法结构的统一性高度的非过程化语言的简洁性sql的功能数据定义功能 用于定义数据库的逻辑结构,包括定义基本表、视图和索引。数据操纵功能 主要包括数据查询和数据更新两大类。数据控制功能 主要是对用户对数据的存取权限进行控制,包括基本表和视图的授权、完整性规则的描述和事务控制器等。嵌入式功能sql的数据定义操作定义基本表 基本表定义语句的一般形式: create table ( not null, not null , . )定义基本表举例例1使用sql语句建立学生表s、课程表c
17、和学生选课成绩表sc。 解:(1)创建基本表s: create table s(学号 char(6)not null,姓名 char(8)not null, 年龄 smallint,性别 char(2),系别 char(20),primary key (学号)例1(2)创建基本表c: create table c (课程号 char(4)not null,课程名 char(4)not null,教师名 char(8),primary key (课程号) )例1(3)创建基本表cs: create table sc (学号 char(8)not null, 课程号 char(4)not null
18、, 成绩 smallint, primary key (学号,课程号) foreign key (学号)references s(学号), foreign key (课程号)references c(课程号), check (成绩 is null )or(成绩 between 0 and 100)修改基本表在基本表中增加列: alter table add 例2在例1的学生基本表s中增加一个属性“家庭地址”: alter table s add 家庭地址 varchar(40)在基本表中删除列: alter table drop 这里, 可以取cascade和 restrict两种方式。例3在
19、学生基本表s中删除一个属性“系别”: alter table s drop 系别 cascade 或 alter table s drop 系别 restrict(限制)撤销基本表撤销基本表语句: drop table 可以取cascade和 restrict两种方式。例4若要撤销学生基本表s,可用下列语句实现: drop table s cascade 或 drop table s restrict定义索引定义索引语句: create unique index on ( , .) pctfree= 例5在学生基本表s的列“学号”上按升序建立索引: create unique index sn
20、oindex on s 学号 asc)在基本表cs的列“成绩”、“学号”上按降序建立索引: create index gradeindex on s(成绩 desc 学号 desc)撤销索引撤销索引语句: drop index 注意:如果撤销某一个基本表,则该基本表上建立的所有索引将被一起撤销。例6若要撤销学生基本表s上的索引snoindex,则可用下列语句实现: drop index snoindex数据查询语句是sql的核心,是sql数据操纵功能的重要组成部分。sql的查询语句使用非常灵活,功能十分强大,它可以实现: 简单查询 连接查询 嵌套查询sql的数据查询语句数据查询语句的一般形式:
21、 select from where group by having order by 数据查询语句的组成:select子句from子句where子句group by子句order by子select子句中的可以是“*”或。“*”表示查询结果是整个元组;是用逗号分隔的项(属性名、常数或系统内部函数),当指定了时,查询结果将是由所指定的列。简单查询举例句 例7在基本表s中查询全体学生的详细信息: select * from s 该查询语句等价于: select 学号,姓名,年龄 ,性别,系别 from s例8在基本表s中查询计算机科学与工程系和电气工程系学生的学号、姓名和年龄: select 学
22、号,姓名,年龄 from s where 系别计算机科学与工程系or 系名电气工程系 该查询语句等价于: select 学号,姓名,年龄 from s where 系别 in (计算机科学与工程系,电气工程系)例9在基本表s中查询年龄在1820岁学生的姓名和性别: select 姓名,性别 from s where 年龄 18 and 年龄 = 80嵌套查询举例嵌套查询:在查询语句where后面的条件表达式中出现另一个查询,该查询又称为子查询,sql允许多层嵌套。例16在基本表s、c和sc中查询选修课程号为c001学生的学号和姓名。 select 学号,姓名 from s where s.学号
23、 in (select 学号 from sc where 课程号c001)例17在基本表s、c和sc中查询选修课程名为操作系统学生的学号和姓名: select 学号,姓名 from s where 学号 in (select 学号 from sc where 课程号 in (select 课程号from c where 课程名 操作系统)sql的数据更新操作数据插入数据删除数据修改数据插入语句形式1: insert into (, .) valuer(, .)形式2: insert into ( , .) sql的数据插入操作举例例18在学生基本表s中插入一名新学生的元组,其学号、姓名、年龄、
24、性别和所在系别分别为、周冰、22、男和计算机科学与工程系。例19创建一个存放各个系学生平均年龄的基本表deptage(系别,平均年龄),然后把基本表s中每一个系学生的平均年龄存入基本表deptage。(1)创建基本表deptage: create table deptage (系别 char(20)not null,平均年龄 smallint, primary key(系别)(2)将查询结果存入基本表deptage: insert into deptage(系别,平均年龄) select 系别,avg(年龄)from s group by 系别 insert into s valuer(,周冰
25、,22,男, 计算机科学与工程系 )sql的数据删除操作delete from where 注意:该语句从指定的基本表中删除满足条件的那些元组,当没有where子句时表示删除该基本表中的全部元组,但该基本表的定义仍然保存在数据字典中。删除操作是删除元组,而不是删除元组中的某些属性值。删除操作只能从一个基本表中删除元组,执行删除操作有可能产生破坏数据一致性的情况,若要从多个基本表中删除元组,则需使用多个delete语句。执行“delete from ”操作将使指定的基本表为空表,使用时要格外慎重。sql的数据删除操作举例例20在学生基本表s中删除学号为学生的记录: delete from s where 学号sql的数据修改操作数据修改语句: update set , , . where 含义:修改指定基本表中满足条件表达式的元组中的指定属性值,set子句中的表达式给出了修改后的值。例21在学生基本表s中把学号为学生的系别改为电气工程系: update s set 系别电气工程系 wher
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1