2 计算机科学导论笔记
- 格式:doc
- 大小:84.50 KB
- 文档页数:16
计算机系统导论——读书笔记——第⼆章信息的表⽰和处理第⼆章信息的表⽰和处理2.1 信息存储2.1.1 ⼗六进制2.1.2 字数据⼤⼩2.1.3 寻址和字节顺序1.地址:对象所使⽤的字节中最⼩的地址2.⼤端法:最⾼有效字节在前⼩端法:最低有效字节在前(⼤多Intel兼容机使⽤)3.发送⽅机器(内部代码)——>⽹络应⽤程序(⽹络标准)——>接收⽅机器(内部代码)4.⼩程序——打印程序对象的字节表⽰1 #include <stdio.h>2using namespace std;34 typedef unsigned char * byte_pointer;//定义类型:指向unsigned char的指针56void show_byte(byte_pointer start, size_t len){7 size_t i;8for(i = 0; i < len; ++i)9 printf(" %.2x", start[i]);//%.2x表⽰整数必须⽤⾄少两个数字的⼗六进制格式输出10 printf("\n");11 }1213void show_int(int x){14 show_byte((byte_pointer) &x, sizeof(int));15 }1617void show_float(float x){18 show_byte((byte_pointer) &x, sizeof(float));19 }2021void show_double(double x){22 show_byte((byte_pointer) &x, sizeof(double));23 }2425void show_pointer(void * x){//void*是特殊类型的指针,没有相关联的类型信息26 show_byte((byte_pointer) &x, sizeof(void *));27 }2829int main(){30int x;31float y;32double z;33while(scanf("%d %f %lf", &x, &y, &z)){34 show_int(x);35 show_float(y);36 show_double(z);37 show_pointer(&x);38 show_pointer(&y);39 show_pointer(&z);40 }41return0;42 }输⼊111-1-1.0-1.0123451.0011.001输出01 00 00 0000 00 80 3f00 00 00 00 00 00 f0 3f98 f5 bf ef fe 7f 00 0094 f5 bf ef fe 7f 00 0088 f5 bf ef fe 7f 00 00ff ff ff ff00 00 80 bf00 00 00 00 00 00 f0 bf98 f5 bf ef fe 7f 00 0094 f5 bf ef fe 7f 00 0088 f5 bf ef fe 7f 00 0039 30 00 00c5 20 80 3f6a bc 74 93 18 04 f0 3f98 f5 bf ef fe 7f 00 0094 f5 bf ef fe 7f 00 0088 f5 bf ef fe 7f 00 00我的电脑是MaxOS,可以看出它是64位系统,采⽤⼩端法表⽰5.可以通过在终端(mac是terminal,windows是命令⾏⼯具)执⾏命令man ascii得到⼀张ASCII字符码表,回车后运⾏结果如下ASCII(7) BSD Miscellaneous Information Manual ASCII(7)NAMEascii -- octal, hexadecimal and decimal ASCII character setsDESCRIPTIONThe octal set:000 nul 001 soh 002 stx 003 etx 004 eot 005 enq 006 ack 007 bel010 bs 011 ht 012 nl 013 vt 014 np 015 cr 016 so 017 si020 dle 021 dc1 022 dc2 023 dc3 024 dc4 025 nak 026 syn 027 etb030 can 031 em 032 sub 033 esc 034 fs 035 gs 036 rs 037 us040 sp 041 ! 042 " 043 # 044 $ 045 % 046 & 047 '050 ( 051 ) 052 * 053 + 054 , 055 - 056 . 057 /060 0 061 1 062 2 063 3 064 4 065 5 066 6 067 7070 8 071 9 072 : 073 ; 074 < 075 = 076 > 077 ?100 @ 101 A 102 B 103 C 104 D 105 E 106 F 107 G110 H 111 I 112 J 113 K 114 L 115 M 116 N 117 O120 P 121 Q 122 R 123 S 124 T 125 U 126 V 127 W130 X 131 Y 132 Z 133 [ 134 \ 135 ] 136 ^ 137 _140 ` 141 a 142 b 143 c 144 d 145 e 146 f 147 g150 h 151 i 152 j 153 k 154 l 155 m 156 n 157 o160 p 161 q 162 r 163 s 164 t 165 u 166 v 167 w170 x 171 y 172 z 173 { 174 | 175 } 176 ~ 177 delThe hexadecimal set:00 nul 01 soh 02 stx 03 etx 04 eot 05 enq 06 ack 07 bel08 bs 09 ht 0a nl 0b vt 0c np 0d cr 0e so 0f si10 dle 11 dc1 12 dc2 13 dc3 14 dc4 15 nak 16 syn 17 etb18 can 19 em 1a sub 1b esc 1c fs 1d gs 1e rs 1f us20 sp 21 ! 22 " 23 # 24 $ 25 % 26 & 27 '28 ( 29 ) 2a * 2b + 2c , 2d - 2e . 2f /30 0 31 1 32 2 33 3 34 4 35 5 36 6 37 738 8 39 9 3a : 3b ; 3c < 3d = 3e > 3f ?40 @ 41 A 42 B 43 C 44 D 45 E 46 F 47 G48 H 49 I 4a J 4b K 4c L 4d M 4e N 4f O50 P 51 Q 52 R 53 S 54 T 55 U 56 V 57 W58 X 59 Y 5a Z 5b [ 5c \ 5d ] 5e ^ 5f _60 ` 61 a 62 b 63 c 64 d 65 e 66 f 67 g68 h 69 i 6a j 6b k 6c l 6d m 6e n 6f o70 p 71 q 72 r 73 s 74 t 75 u 76 v 77 w78 x 79 y 7a z 7b { 7c | 7d } 7e ~ 7f delThe decimal set:0 nul 1 soh 2 stx 3 etx 4 eot 5 enq 6 ack 7 bel8 bs 9 ht 10 nl 11 vt 12 np 13 cr 14 so 15 si16 dle 17 dc1 18 dc2 19 dc3 20 dc4 21 nak 22 syn 23 etb24 can 25 em 26 sub 27 esc 28 fs 29 gs 30 rs 31 us32 sp 33 ! 34 " 35 # 36 $ 37 % 38 & 39 '40 ( 41 ) 42 * 43 + 44 , 45 - 46 . 47 /48 0 49 1 50 2 51 3 52 4 53 5 54 6 55 756 8 57 9 58 : 59 ; 60 < 61 = 62 > 63 ?64 @ 65 A 66 B 67 C 68 D 69 E 70 F 71 G72 H 73 I 74 J 75 K 76 L 77 M 78 N 79 O80 P 81 Q 82 R 83 S 84 T 85 U 86 V 87 W88 X 89 Y 90 Z 91 [ 92 \ 93 ] 94 ^ 95 _96 ` 97 a 98 b 99 c 100 d 101 e 102 f 103 g104 h 105 i 106 j 107 k 108 l 109 m 110 n 111 o112 p 113 q 114 r 115 s 116 t 117 u 118 v 119 w120 x 121 y 122 z 123 { 124 | 125 } 126 ~ 127 delFILES/usr/share/misc/asciiHISTORYAn ascii manual page appeared in Version 7 AT&T UNIX.BSD June 5, 1993 BSD(END)2.1.4 表⽰字符串1.⼗进制数字‘y’的ascii码正好是0x3y2.strlen(str)函数不计算终⽌的空字符(ascii码为0x00)3.字符编码⽅式:(1)ASCII (American Standard Code for Information interchange)(2)Unicode (Unique Code)(3)UTF-8 / UTF-16 / UFT-32 (Unicode Transformation Format)2.1.5 表⽰代码2.1.6 布尔代数(Boolean Algebra)简介1.布尔运算&对|有分配律:a&(b|c) = (a&b)|(a&c)布尔运算|对&有分配律:a|(b&c) = (a|b)&(a|c)2.位向量:长度为w,由0和1组成的串应⽤:表⽰有限集合/压位运算(例:[01101010]表⽰集合{1,3,5,6}),位向量掩码/屏蔽信号3.布尔环(Boolean ring),类似于整环/整数环“加法”逆元:^类似于+; 每个整数x有加法逆元-x使得x+(-x)=0,类似地,每个布尔元素a都有“加法逆元”a使得a^a=0; 有趣的性质:(a^b)^a=b 1//这是⼀个不需要第三个量的交换函数,不过它并没有性能上的优势2void inplace_swap(int *x, int *y){//*x = a, *y = b3 *x = *x ^ *y;//*x = a^b, *y = b4 *y = *x ^ *y;//*x = a^b, *y = a5 *x = *x ^ *y;//*x = b, *y = a6 }2.1.7 C语⾔中的位级运算:&, |, ^, ~2.1.8 C语⾔中的逻辑运算: &&, ||, !2.1.9 C语⾔中的移位运算:>>, <<1.逻辑右移(⾼位补0,⽆符号数进⾏逻辑右移)算数右移(⾼位补符号位,有符号数进⾏算数右移)(1)初级运算符[]().->(2)单⽬运算符(3)算数运算符(4)移位运算符(5)关系运算符(6)位级运算符(7)逻辑运算符(8)赋值运算符2.2 整数表⽰2.2.1 整形数据类型2.2.2 ⽆符号数的编码(unsigned)2.2.3 补码编码(two's-complement)1.<limits.h>库:INT_MIN, INT_MAX, UINT_MAX<stdint.h>库:intN_t, UintN_t (t = 16,32,64等)(我在xcode上没有include这两个库也能直接使⽤INT_MIN、int32_t等)2.有符号数的表⽰⽅法(1)补码(two's-complement):最⾼位权重为-2^(w-1)(2)反码(ones' complement):最⾼位权重为-(2^(w-1)-1)(3)原码(sign-magnitude):最⾼位为1表⽰所有其他位权重为负注:(2)(3)中0的表⽰法不唯⼀,有+0和-0两种2.2.4 有符号数和⽆符号数之间的转换(可能)改变数值,但不改变位表⽰1.补码转换为⽆符号数(w位):TMin <= x < 0, T2U(x) = x + 2^w0 <= x <= TMax, T2U(x) = x2.⽆符号数转换为有符号数(w位):0 <= x <= TMax, U2T(x) = xTMax < x <= UMax, U2T(x) = x - 2^w2.2.5 C语⾔中的有符号数和⽆符号数1.数字常量默认为有符号数,加上后缀u或U可创建⽆符号数常量2.类型转换的⽅式:(1)显式:强制类型转换(2)隐式:不同类型变量间赋值3.%d有符号⼗进制,%u⽆符号⼗进制,%o⼋进制,%x⼗六进制4.C语⾔对于同时包含有符号数和⽆符号数的表达式,会隐式地将有符号数转换为⾮负的⽆符号数 1/*2这是⼀个测试函数3注:TMin写成-2147483647-1⽽⾮-21474836484是因为limits.h中定义INT_MIN=-INT_MAX-1,以规避某些奇怪的现象5*/6 #include <cstdio>7using namespace std;89int main(){10 printf("-1 < 0u = %d\n", -1 < 0u);11 printf(" -1 = 0x%x \n", -1);12 printf(" 0u = 0x%x\n\n", 0u);1314 printf("2147483547 > (int)2147483648u = %d\n", 2147483547 > (int)2147483648u);15 printf(" 2147483547 = 0x%x \n", 2147483547);16 printf(" (int)2147483648u = 0x%x\n\n", (int)2147483648u);1718 printf("-2147483647-1u < 2147483647 = %d\n", -2147483647-1u < 2147483647);19 printf(" -2147483647-1u = 0x%x \n", -2147483647-1u);20 printf(" 2147483647 = 0x%x\n\n", 2147483647);2122 printf("-2147483647-1u < -2147483647 = %d\n", -2147483647-1u < -2147483647);23 printf(" -2147483647-1u = 0x%x \n", -2147483647-1u);24 printf(" -2147483647 = 0x%x\n\n", -2147483647);25return0;26 }运⾏结果如下-1 < 0u = 0-1 = 0xffffffff0u = 0x02147483547 > (int)2147483648u = 12147483547 = 0x7fffff9b(int)2147483648u = 0x80000000-2147483647-1u < 2147483647 = 0-2147483647-1u = 0x800000002147483647 = 0x7fffffff-2147483647-1u < -2147483647 = 1-2147483647-1u = 0x80000000-2147483647 = 0x800000012.4 浮点数2.4.1 ⼆进制⼩数2.4.2 IEEE浮点表⽰1.表⽰形式:(1)符号(sign)s: 表⽰+-(2)尾数(significand)M:⼆进制⼩数,取值范围为[1,2)或[0,1)(3)阶码(exponent)E:对浮点数加权,权重为2的E次幂2.编码:s编码符号sign s,exp编码阶码exponent E,frac编码尾数significand M3.三种情况(1)规格化的(noemalized): exp!=00...0 && exp!=11 (1)i. 阶码 E = exp - bias, bias = 2^(k-1)-1, k=exp的位数ii. 尾数 M = 1.xx...x = 1.frac的位(隐含的以1开头的表⽰)(2)⾮规格化的(denormalized): exp == 00 0i. 阶码 E = 1 - bias, bias = 2^(k-1)-1, k=exp的位数ii. 尾数 M = 0.xx...x = 0.frac的位iii.注意:0.0有两种表⽰⽅法+0.0和-0.0,符号位分别为0或1,其他位全部为0(3)特殊值: exp == 11 (1)i. ⽆穷:frac = 00...0, s=0或1表⽰+∞或-∞,能够表⽰溢出的运算结果,如x/0 ii. Nan(not a number): frac != 00...0, 表⽰⾮实数的运算结果,如根号-1,∞-∞4.三种情况的数字分布⾮规格化数字的阶码定义为E=1-bias可以补偿⾮规格化的尾数没有隐含的开头1,有助于数字表⽰的平滑转变;否则,在绝对值最⼤的⾮规格化数字(其⼆进制表⽰为0 00...0 11...1)和绝对值最⼩的规格化数字(其⼆进制表⽰为0 00...01 00...0)之间将存在跳跃2.4.3 数字⽰例1. 处理正浮点数时,若按照⽆符号整数解释他们的⼆进制表⽰,则可以发现它们的⼤⼩顺序不变;负浮点数只需要倒序。
《计算机科学导论》课程考试重点知识考试说明:选择题(共10小题,每小题2分,共20分)、名词解释题(共5小题,每小题4分,共20分)、简答题(共5小题,每小题6分,共30分)、综合题(共5小题,选做3小题。
其中强化班同学必作1、2、3小题,普通班同学任选3小题作答,每小题10分,共30分)。
一、考试范围:1~10、15章,每章都有一定量的题目。
二、课后习题中的选择题全部要求。
三、重点掌握的知识点:1.计算机操作系统: 操作系统就是合理管理并控制计算机系统内软、硬件资源,并能够合理组织工作流程、方便用户使用的程序的集合。
通常我们将操作系统的功能概括为两大功能:扩展的虚拟机功能、资源管理功能。
其中,资源管理功能包括了处理机管理、内存管理、设备管理、文件管理四大功能。
而扩展的虚拟机提供友好的人机交互以及程序级接口,使得计算机看上去像是功能扩展了的机器。
2.存储器: 存储器是计算机的记忆装置,用于存放原始数据、中间数据、最终结果和处理程序。
为了对存储的信息进行管理,把存储器划分成存储单元,每个单元的编号称为该单元的地址。
各种存储器基本上都是以1个字节作为一个存储单元。
存储器内的信息是按地址存取的,如要访问存储器中的某个信息,就必须知道它的地址。
向存储器里存入信息也称为“写入”,写入新的内容将覆盖原来的内容。
从存储器里取出信息也称为“读出”,信息读出后并不破坏原来存储的内容,因此信息可以重复读出,多次利用。
通常把内存储器、运算器和控制器合称为计算机主机,也可以说主机是由CPU与内存储器组成的,而主机以外的装置称为外部设备,外部设备包括输入/输出设备、外存储器等。
3.运算速度 :计算机的运算速度是衡量计算机水平的一项主要指标,它取决于指令执行时间。
运算速度的计算方法多种多样,目前常用单位时间内执行多少条指令来表示,而计算机执行各种指令所需时间不同。
因此,常根据在一些典型题目计算中,各种指令执行的频度以及每种指令的执行时间来折算出计算机的等效速度。
《计算机科学导论》课程考试重点知识一、考试范围:1~9,11、13章,每章都有一定量的题目。
二、习题中的选择题全部要求。
三、各章节的重点如下:第1章概述1.电子计算机的发展过程2.计算学科的根本问题3.计算机科学与技术学科的定义第2章计算机体系结构与组织1.计算机采用二进制的原因2.数制的表示及转换3.定点数及其表示方法4.数值数据的原码、反码、补码5.英文字符的计算机编码(ASCII码)6.简单的逻辑运算7.微型计算机硬件组成8.冯•诺依曼模型及特点9.CPU和主机的概念。
10.计算机软件11. 计算机系统的主要技术指标12.计算机的基本运行方式13. 输入输出系统的基本组成第3章程序设计语言1.程序的概念2. 常见的程序低级语言和高级语言有哪些3. 高级语言的共同特性4、语言处理的基本过程第4章程序设计基础1.结构化程序设计思想2. 结构化程序设计中常见的程序结构3. 好的程序设计风格有哪些4、数据结构的概念5、数据的逻辑与物理结构6、典型的几种数据结构运算及实现第5章算法与复杂性1.算法的定义及基本特征2.常用的算法描述工具3.算法设计的原则第6章1.信息的概念及特点2. 信息系统的要素3. 数据,数据库的基本概念4.DBMS的组成部分5.数据库系统的组成6.数据库SQL的特点及功能第7章软件工程1.软件的生命周期2.软件工程的概念3.软件复杂性的度量要素4.软件可靠性的含义及可靠性指标第8章操作系统1.操作系统的概念2.并发、进程、地址空间的概念3. 操作系统的基本组成4.操作系统的功能5. 主流操作系统有哪些第9章网络计算1.不同分类的数据通信方式2.数据传输方式3.计算机网络的概念4.资源子网和通信子网的组成5.链路与通路6.计算机网络的拓扑结构及其每种拓扑结构的特点7.网络协议的组成8.网络体系结构(OSI/RM模型)9.TCP/IP协议的体系结构10.IP地址的概念及其分类11.计算机网络安全技术中防火墙(Firewall)的基本功能及其技术分类第11、13章1.人机交互界面的主要形式2.人机界面的设计原则3.多媒体概念4.数学建模概念5. 计算机模拟的概念。
人教版必修二高中计算机科学笔记讲义一、计算机系统概述1. 计算机是什么?计算机是一种能按照程序运行并能自动、高效地进行数据处理和信息处理的电子设备。
2. 计算机的组成部分计算机由硬件和软件两部分组成。
硬件包括中央处理器、内存、硬盘、输入设备和输出设备等。
软件包括系统软件和应用软件。
3. 计算机的工作原理计算机通过执行程序来实现数据处理和信息处理的功能。
程序由一系列指令组成,计算机按照指令的要求执行相应的操作。
二、信息的表示和存储1. 位和字节计算机中最基本的存储单位是位(bit),每个位可以表示0或1。
8个位组成一个字节(byte),可以表示256种不同的字符。
2. 字符编码计算机中使用不同的字符编码标准来表示字符,常见的编码方式有ASCII码、Unicode和UTF-8等。
3. 存储介质计算机的数据可以存储在不同的存储介质上,常见的存储介质包括硬盘、固态硬盘和光盘等。
三、计算机网络1. 网络的概念计算机网络是指将多台计算机通过通信设备互连在一起,实现资源共享和信息传输的系统。
2. 网络的组成计算机网络由计算机、通信设备和通信线路等组成,其中计算机之间通过通信设备进行数据传输。
3. 网络的分类网络根据规模和覆盖范围的不同可以分为局域网、城域网、广域网和因特网等。
四、计算机安全与法律1. 计算机安全的概念计算机安全是指保护计算机系统和数据免受未经授权的访问、使用、修改或破坏。
2. 计算机病毒和网络攻击计算机病毒和网络攻击是常见的计算机安全问题,使用防病毒软件和网络防火墙可以提高计算机的安全性。
3. 计算机相关法律法规为了维护计算机安全和网络秩序,各国都制定了相关的计算机法律法规,如《计算机信息网络国际联网安全保护管理办法》等。
以上内容是人教版必修二高中计算机科学的笔记讲义概要,通过学习这些知识,可以初步了解计算机的基本概念、原理和安全问题。
计算机导论笔记概要计算机导论笔记概要零:基本知识(填空或简答)○1数字的两类表示系统○2冯·诺依曼体系1.成就:冯·洛依曼计算机结构(运算器,存储器,控制器,输入、输出设备);程序内存2.冯·洛依曼理论特点:○3数据的概念:对主体有用的概念一:缩写简称○1ACM(Assiociation for Computing Machinery)国际计算机组织○2第一台通用计算机ENIAC(宾夕法尼亚大学研制)○3冯·洛依曼的EDV AC方案,明确了计算机由5个部件组成(运算器,存储器,控制器,输入、输出设备)○4运算器ALU○5处理器CPU二:进制之整数部分○1二进制转十进制○2二进制转八进制二进制数转为十进制再转为八进制○3十进制转为八进制书上26页表1-1连除法,余数倒序排列得八进制数。
○4二进制转十六进制书上26页表1-2连除法,页数倒序排列得十六进制数。
注意十六进制用“0”~“9”这十个数字,加上“A”~“F”6个字母共十六个符号组成数字表示。
也可以转十进制再转十六进制。
○5十六进制转二进制(FD)16 =1111 1101F=15=8+4+2+1=23+22+21+20四位全为1 1111D=13=8+4+0+1=23+22+0+201101得1111 1101○6十进制转十六进制和十进制转八进制一样,连除法。
○7十进制转二进制○8十六进制转八、十进制先转二进制再转八、十进制○9八进制转十进制和二进制类似例:八进制170转二进制1201 7 082 81 80N=82×1+81×7+80×0=120三:进制之小数部分书上26页表格四:原、反、补码书上三十页例1-5五:硬件①计算机包括5大部件(运算器,控制器,存储器,输入、输出设备)②CPU的结构:运算器、控制器、寄存器(内部存储器)③CPU的功能:从存储器中取出指令和数据,将他们放入CPU内部的寄存器。
提取连接提取一个网址page =('<div id="top_bin"><div id="top_content" class="width960">''<div class="udacity float-left"><a href="">')#官方给的代码:start_link = page.find('<a href=')start_quote=page.find('"',start_link)end_quote=page.find('"',start_quote+1)#注意,此处如果是start_quote则返回值还是href=后的第一个引号,和上一行的代码相同。
结果就是url=”url=page[start_quote+1:end_quote]print url#拓展如果提取所有的网址呢?start_link = page.find('<a href=')start_quote=page.find('"',start_link)end_quote=page.find('"',start_quote+1)url=page[start_quote+1:end_quote]print url #第一个网址page=page[end_quote:]start_link = page.find('<a href=')start_quote=page.find('"',start_link)end_quote=page.find('"',start_quote+1)url=page[start_quote+1:end_quote]print url #第二个网址。
计算机科学技术导论学习笔记目录第一章计算机科学技术概述 (1)1.1 计算机主干课程 (1)第二章编码、数据和数据存储 (1)2.1 编码和数据34 (1)2.2 磁盘结构及读取顺序 (1)第三章计算机数据运算基础62 (2)3.1 数字电路分类(按工作原理分) (2)3.2 计算机工作原理 (2)3.3 总线 (3)3.4 微型计算机的基本结构78 (3)3.5 IO接口的作用78 (3)3.6 主板结构83 (4)3.7 并行处理90 (4)第四章程序设计语言96 (4)4.1 计算机语言96 (4)4.2 计算机语言的编译链接执行过程(补充) (5)4.2 数据类型100 (6)4.3 函数、过程和方法109 (6)4.4 程序实现过程112 (7)第五章数据组织与算法 (7)5.1 数据、数据元素、数据结构126 (7)5.2 数据的逻辑结构128 (8)5.3 数据的物理结构131 (8)5.4 算法137 (8)5.5 算法的框图描述140 (8)5.6 递归算法求解145 (10)第六章数学与计算机科学159 (10)6.1 公钥密码学174 (10)第七章软件工程180 (10)7.1 软件传统开发过程184 (10)7.2 软件开发过程模型(生命周期模型) (11)7.3 模块化188 (13)7.4 模块之间的联系189 (13)7.5 软件开发方法 (14)7.6 软件测试目的193 (14)7.7 软件测试方法194 (14)7.8 软件测试的过程196 (15)7.9 软件文档198 (15)7.10 CASE工具Computer Aided Software Engineering 200 (15)第八章计算机软件系统205 (16)8.1 计算机软件系统205 (16)8.2 操作系统的功能211 (16)8.3 CPU管理211 (16)8.4 存储器管理214 (17)8.5 文件管理216 (20)8.6 设备管理218 (22)8.7 信号量机制221 (22)第九章网络基础和技术248 (23)9.1 计算机网络 (23)9.2 域名270 (23)9.3 统一资源定位器URL (24)9.4 计算机网络主要内容274 (24)第十章数据库系统279 (24)10.1 数据库、数据处理279 (24)10.2 数据库技术的发展279 (24)10.3 数据库系统282 (25)10.4 数据模型282 (26)10.5 数据库系统结构284 (27)10.6 数据库的两级映象功能285 (28)10.7 关系模型285 (28)10.8 关系的性质286 (28)10.9 SQL概述286 (29)10.10 SQL语言的分类287 (29)10.11 数据库完整性288 (30)10.12 完整性约束条件289 (30)10.13 完整性控制289 (30)10.14 数据库安全性控制290 (31)10.15 面向对象数据库语言 (31)第十一章计算机应用基础301 (32)11.1 文件与文件夹309 (32)第一章计算机科学技术概述1.1 计算机主干课程第二章编码、数据和数据存储2.1 编码和数据34计算机编码指利用二进制数表示信息的机制。
计算机科学导论考试重点笔记一、计算机基础计算机的组成:CPU:中央处理器,负责执行程序中的指令。
内存:临时存储数据和指令,与CPU高速交换信息。
硬盘:长期存储数据的设备。
主板:连接各部件的中枢。
输入输出设备:如键盘、鼠标、显示器等。
二进制:计算机内部使用二进制进行计算,因为二进制只有0和1两种状态,易于表示和存储。
二、操作系统操作系统的功能:资源管理:分配硬件资源给应用程序。
程序调度:决定哪些程序在何时运行。
用户界面:提供用户与计算机交互的界面。
常见的操作系统:Windows、macOS、Linux。
三、编程语言与算法编程语言的分类:低级语言:如汇编语言和C语言,与硬件直接交互。
高级语言:如Python、Java,更接近于自然语言。
算法的重要性:算法是解决问题的步骤,好的算法可以提高程序的效率和准确性。
常见算法:排序(如冒泡排序、快速排序)、搜索(如二分搜索)、图算法等。
四、数据结构常见数据结构:数组、链表、栈、队列、树、图等。
每一种数据结构都有其特定的应用场景和优势。
数据结构的选择:根据问题的需求选择合适的数据结构,可以大大简化问题的解决难度。
五、数据库系统数据库的类型:关系型数据库(如MySQL)、非关系型数据库(如MongoDB)、面向对象数据库等。
数据库的基本操作:创建、查询、更新和删除数据。
SQL语言:用于操作关系型数据库的标准语言。
六、计算机网络与互联网TCP/IP协议:传输控制协议(TCP)和互联网协议(IP),是互联网的核心协议。
HTTP协议:超文本传输协议,用于浏览网页。
DNS系统:域名系统,将网址转换为IP地址。
计算机科学导论1 绪论图灵模型是一个可编程的数据处理器,在图灵模型中,输出数据依赖于两方面因素的结合作用:输入数据和程序。
通用图灵机是对现代计算机的首次描述,该机器只要提供了了合适的程序就能做任何运算。
基于冯・诺依曼模型建造的计算机分为4个子系统:存储器、算术运算单元(ALU)、控制单元和输入/输出单元。
存储器用来存储数据和程序;算术运算单元进行计算和逻辑运算;输入/输出单元负责从计算机外部接收数据和程序,并把计算机的处理结果输出到计算机外部,控制单元是对其他子系统进行控制操作。
冯・诺依曼模型中的程序和指令在计算机中都以二进制比特存储,在计算机中,指令按顺序执行。
计算机由3大部分组成:计算机硬件、数据和计算机软件。
硬件基于冯・诺依曼模型,且包含四部分。
数据以0/1比特进行存储。
图灵和冯・诺依曼模型的主要特征是程序的概念。
程序被存储在计算机的存储器中,且必须是有序的指令集。
指令集的作用实现重用。
算法是按步骤解决问题的办法,计算机语言可以提高编程的效率,软件工程是指结构化程序的设计和编写,它不仅包括要完成某一任务的应用程序,还包括程序设计要严格遵循的原理和规则。
而操作系统的诞生,是有一系列指令对所有程序来说是公用的,因此它是程序访问计算机部分提供方便的一种管理程序。
2 数字系统在将十进制数转换到其他底的数值时,分为两部分,整数部分是进行连除,余数作为本位的数值,商进行下一步计算;小数部分是进行连乘,整数值作为本位的数值,小数值进行下一步计算。
3 数据存储数据类型分为5种:数字、文本、音频、图像和视频。
所有的数据类型都转换为称作位模式的统一表现形式。
数字在存储到计算机内存中之前被转换成二进制系统。
有多种方法来处理符号。
有两种方法来处理小数点:定点和浮点。
整数可以被当作小数点位置固定的数字。
无符号整数是永远不会为负的整数。
存储有符号整数的方法之一是符号加绝对值格式。
这种格式中,最左边用于显示符号且其余位定义绝对值。
符号和绝对值互相分开。
几乎所有的计算机都使用*二进制补码表示法*来存储位于n位存储单元中的有符号整数。
在该方法中,无符号整数有有效范围被分为两个相等的子范围。
每一个子范围用来表示非负整数,每二个子范围用来表示负整数。
在二进制补码表示法中,最左边决定整数的符号。
但符号和绝对值互相分开。
实数是带有整数部分和小数部分的数字。
实数使用浮点表示法存储在计算机中。
在浮点表示法中数字由3部分组成:符号、位移量和定点数。
文本的片断是用来表示该语言中某个意思的一系列符号。
我们可用位模式来表示每一个符号。
不同的位模式集合被设计用于表示文本符号。
硬件和软件制造商联合进来共同设计了一种名为Unicode的代码,这种代码使用32位表示一个符号。
总督表示声音或音乐。
音频是模拟数据,我们不能够在一段时间记录无限数量的值,我们只能记录一些样本。
样本数依赖于模拟信号中变化的最大数量。
从每个样本测量得到的值是真实的数字。
量化指的是将样本的值截取为最接近的整数值的一种过程。
存储在计算机中的图像使用两种不同的技术:光栅图或适量图。
当我们需要存储模拟图像(如照片)时,就用到了光栅图。
图像被扫描(采样)然后存储像素。
用矢量图方法,图像被分解成几何图形的组合,诸如线段、矩形或圆形。
每个几何形状由数学公式表达。
视频是图像(称为帧)在时间上的表示。
一部电影就是一系列的帧逐个播放而形成运动的图像。
换言之,视频是随空间(单个图像)和时间(一系列图像)变化的信息表现。
需要注意的地方是:符号加绝对值的表示方法有两个0,分别是+0和-0,而二进制补码的表示法只有一个0。
因此范围也不一样。
科学户数法中的规范化表示存储该数的3部分信息:符号、指数和尾数。
小数点左边的1并没有存储,它们是隐含的。
尾数是带符号的小数部分,像以符号加绝对值表示法存储的整数那样对待。
在余码系统中,正的和负的都以无符号数存储,将正整数添加到每个数字中,,统一按偏移量把数向右移。
在IEEE标准中,单精度数用32位来存储,符号1位、指数8位(偏移量为127)、尾数为23位,也称为余127码。
双精度数彩共64位来存储,符号1位、指数11位(偏移量为1023)、尾数使用52位,也称为余1023码。
图像的表示中对像素的编码使用的是RGB数,共24位,称为真彩色,每个8位表示0~256之间的一个数;除了真彩色之外,另一种方法是用索引色,通常只有256个索引,只用8位来存储同样的像素。
JPEG格式使用的是真彩色模式,但压缩了图像,gif格式使用的是索引色模式。
4 数据运算数据运算分成三大类:逻辑运算、移位运算和算术运算。
NOT运算符的唯一应用是求反,AND运算符的一个应用是对指定位进行置位(置0),OR运算符的一个应用是对指定位置位(置1),XOR运算符可以对指定位进行翻转。
移位运算分为逻辑移位和算术移位,逻辑移位应用于不表示为符号数的模式,移动的空缺补0,其中循环移位会将移出的位补到空缺位。
;算术移位假定模式为二进制补码的符号整数,向右移符号位保留,向左移符号位删除,空位补0。
计算机中对整数的加减法使用的是二进制补码进行运算,减法转化为补码的加法进行运算,而用符号加绝对值的形式非常复杂,要考虑8种情况。
浮点数的实数的加减法简化为小数点对齐后的以符号加绝对值柳芽存储的两整数的加减法。
5 计算机组成计算机的组成分成三大类(或子系统):CPU、主存和输入/输出子系统。
中央处理单元(CPU)执行数据上的操作,它有三部分:算术运算单元(ALU)、控制单元和一系列寄存器。
算术逻辑单元(ALU)负责算术、移位和逻辑运算。
寄存器是快速独立的存储设备,它可暂时地保留数据。
控制单元控制CPU中每个部分的操作。
主存是存储单元的集合。
每一个单元有一个称为地址的标识符。
数据被传输到内存或从内存取出是以称为字的二进制位组的方式。
内存中唯一可标识的单元总数称为地址空间。
有两种内存可用:随机存取存储器(RAM)和只读存储器(ROM)。
输入输出(I/O)子系统的设备集合允许计算机与外界交流,存储程序和数据,即使在计算机已关机时也可以。
输入/输出设备分成两大类:非存储设备和存储设备。
非存储设备允许CPU/内存与外界通信;存储设备可以存储以后被检索的大量信息。
存储设备被分成磁的和光的。
计算机中三个子系统的连接起重要的作为,因为在这些子系统间需要进行信息的通信。
CPU和内存通常被三个连接连在一起(每个称为总线):数据总线、地址总线和控制总线。
输入/输出设备通过输入/输出控制器或接口与总线相连,使用的控制器有多种,如今最常见的有:SCSI、火线和USB。
有两种方法输入/输出设备的寻址:I/O独立寻址和I/O存储器映射寻址。
在I/O独立寻址方法中,用来从内存读/写的指令完全不同于用来从输入/输出设备的读写指令。
在I/O存储器映射寻址方法中,CPU把I/O控制器中的每个寄存器看成是内存中的字。
如今,通用计算机使用称为程序的一组指令来处理数据。
计算机执行程序,从输入数据创建输出数据。
程序和数据都存储在内存中,CPU使用重复的机器周期一条接一条,从头到尾执行程序中的指令。
简化的周期由三阶段组成:取指令、译码和执行。
有三种使CPU和输入/输出设备同步的方法:程序控制输入/输出、中断控制输入/输出和直接存储器存取(DMA)。
在最近向十年中,计算机的体系结构和组织经历了许多变化。
计算机体系结构分成两大类:CISC(复杂指令集计算机)和RISC(精简指令集计算机)。
现代计算机使用流水线技术来提高吞吐量。
这个理念允许控制单元同时执行两个或三个阶段,这意味着下一条指令的处理可以在前一条结束前开始。
计算机传统上有一个控制单元、一个算术逻辑单元和一个内存单元。
并行处理通过使用多指令流处理多数据流来改善吞吐量。
6 计算机网络计算机网络是把数据从一个地方传送到另一个地方的硬件和软件的组合。
网络的标准中最重要的是性能、可靠性和安全。
网络中有种连接:点对点连接和多点连接。
有四种常见的拓扑结构:网状型、星型、总线型和环型。
其中最常用的是星型。
网络可以分为三大类:局域网(LAN)、广域网(WAN)和城域网(MAN)。
互联网是能够互相通信的两个或多个网络,因特网是所有网络的总和。
控制因特网的协议集合称为TCP/IP协议族,由五层组成:应用层、传输层、网络层、数据链路层和物理层。
路由器只使用下三层。
应用层负责向用户提供服务。
应用层的地址是特定于应用程序的。
传输层负责整个消息的进程到进程的分发,意味着传输层的客户端与服务器间创建了一种逻辑连接。
传输层中用端口号来标识进程。
传输层的一个职责是多路复用和解多路复用。
服务器使用众所周知的端口号,计算机使用传输层分配的临时端口号。
另外,传输层负责拥塞控制、流量控制与差错控制。
在TCP/IP协议族的发展历程中,有三种传输层协议:UDP、TCP和SCTP。
UDP不提供属于单个消息的数据包间的逻辑连接,因此属于无连接协议。
TCP支持传输层所有职责的协议,也被称为面向连接的协议。
UDP速度最快,TCP速度最慢,不适合实时传输。
SCTP适合于实时传输。
网络层负责单个数据包从源主机到目的主机的发送,网络层有一个特殊的职责——路由选择。
网络层的协议主要是IP协议,另外还有辅助协议如ICMP、IGMP。
IP协议提供的是尽力而为服务,差错控制等功能由上层协议完成。
数据链路层负责数据帧的节点到节点的发送。
数据链路层还负责跳之间的差错控制和流量控制。
它使用物理或MAC地址来标识节点。
物理层完成在物理设备上的二进制比特的传输。
TCP/IP层从上到下进行封装,每一层都会在上一层的数据基础上加上头或尾。
因此实际上物理层传输的数据会远远多于应用层的数据。
电子邮件(E-mail)使用的主要协议是简单邮件传输协议(STMP)。
电子邮件使用的其他协议是POP和IMAP。
文件传输协议(FTP)是因特网上最常见任务的标准机制,用于计算机的文件传输。
FTP与其他客户/服务器应用的不同之处在于,它建立了两个连接:一个用于数据传输,另一个用于控制命令的交换。
TELNET是允许用户访问远程计算机上任何应用程序的通用客户/服务器程序。
换言之,它允许用户登录到远程的计算机上。
登录后,用户可以使用远程计算机上可用的服务,并把结果传回本地计算机上。
万维网(WWW)是分页在全球并连在一起的信息存储库。
为了使用WWW,我们需要三个组件:浏览器、Web服务器和超文本传输协议(HTTP)。
WWW上的文档可以分成三大类:静态、动态和活动。
静态文档是内容固定的文档,客户端只能得到文档的副本。
动态文档是浏览器请求文档时由Web服务器创建的。
通用网关接口(CGI)是创建和处理动态文档的技术。
活动文档是运行在客户端的一个程序。
7 操作系统计算机系统由部分组成:硬件和软件。