NOIP笔记Word格式.docx
《NOIP笔记Word格式.docx》由会员分享,可在线阅读,更多相关《NOIP笔记Word格式.docx(11页珍藏版)》请在冰豆网上搜索。
4.2进制使用0.1.+.-8进制使用0~7+.-10进制使用0~9+.-16进制使用0~9ABCDEF+.-
进制
基数
进位特点
二进制
0,1
逢二进一
八进制
0,1,2,3,4,5,6,7
逢八进一
十进制
0,1,2,3,4,5,6,7,8,9
逢十进一
十六进制
0,1,2,...,9,A,B,C,D,E,F
逢十六进一
5.进制的表达方法
表示方法一:
括号加下标。
(101)2表示二进制数
表示方法二:
括号加数字。
表示方法三:
无括号加大写字母。
101B表示二进制数(字母O表示8进制数、D表示十进制数、H表示十六进制数)
说明:
没有指明进制数一定为十进制数,只有十进制数可能省略表示。
读法:
读其数字音(十进制数可以按个十百来读)。
6.进制转换:
8.10.16—2进制2进制—8.10.168-10-16、
7.
(1)非十进制→
(2)十进制→
非十进制
(3)八进制
←→
二进制
←→十六进制
8.基本的ASCII字符集有128个(必须记住以下字符的ASCII码):
0-9:
30H-39H(即十进制数48-57);
A-Z:
41H-5AH(即十进制数65-90);
a-z:
61H-7AH(即十进制数97-122);
空格:
20H(即十进制数32)
9.当真值为正时:
原码、反码、补码数值位完全相同;
当真值为负时:
原码的数值位保持原样,反码的数值位是原码数值位的各位取反,补码则是反码的最低位加1。
计算机中的存储系统都是用2进制储存的,对我们输入的每一个信息它都会自动转变成二进制的形式,而二进制在存储的时候就会用到原码,反码和补码例如:
输入25原码是:
0000000000011001反码:
1111111111100110补码:
1111111111100111数值在计算机中表示形式为机器数,计算机只能识别0和1,使用的是二进制,而在日常生活中人们使用的是十进制,"
正如亚里士多德早就指出的那样,今天十进制的广泛采用,只不过我们绝大多数人生来具有10个手指头这个解剖学事实的结果.尽管在历史上手指计数(5,10进制)的实践要比二或三进制计数出现的晚."
(摘自<
<
数学发展史>
>
有空大家可以看看哦~,很有意思的).为了能方便的与二进制转换,就使用了十六进制(24)和八进制(23).下面进入正题.数值有正负之分,计算机就用一个数的最高位存放符号(0为正,1为负).这就是机器数的原码了.假设机器能处理的位数为8.即字长为1byte,原码能表示数值的范围为(-127~-0+0~127)共256个.有了数值的表示方法就可以对数进行算术运算.但是很快就发现用带符号位的原码进行乘除运算时结果正确,而在加减运算的时候就出现了问题,如下:
假设字长为8bits
(1)10-
(1)10=
(1)10+(-1)10=(0)10(00000001)原+(10000001)原=(10000010)原=(-2)显然不正确.因为在两个整数的加法运算中是没有问题的,于是就发现问题出现在带符号位的负数身上,对除符号位外的其余各位逐位取反就产生了反码.反码的取值空间和原码相同且一一对应.下面是反码的减法运算:
(1)10-
(1)10=
(1)10+(-1)10=(0)10(00000001)反+(11111110)反=(11111111)反=(-0)有问题.
(1)10-
(2)10=
(1)10+(-2)10=(-1)10(00000001)反+(11111101)反=(11111110)反=(-1)正确问题出现在(+0)和(-0)上,在人们的计算概念中零是没有正负之分的.(印度人首先将零作为标记并放入运算之中,包含有零号的印度数学和十进制计数对人类文明的贡献极大).于是就引入了补码概念.负数的补码就是对反码加一,而正数不变,正数的原码反码补码是一样的.在补码中用(-128)代替了(-0),所以补码的表示范围为:
(-128~0~127)共256个.注意:
(-128)没有相对应的原码和反码,(-128)=(10000000)补码的加减运算如下:
(1)10-
(1)10=
(1)10+(-1)10=(0)10(00000001)补+(11111111)补=(00000000)补=(0)正确
(1)10-
(2)10=
(1)10+(-2)10=(-1)10(00000001)补+(11111110)补=(11111111)补=(-1)正确所以补码的设计目的是:
⑴使符号位能与有效值部分一起参加运算,从而简化运算规则.⑵使减法运算转换为加法运算,进一步简化计算机中运算器的线路设计所有这些转换都是在计算机的最底层进行的,而在我们使用的汇编、C等其他高级语言用的都是原码
10.存储器:
(存储信息——数据和程序)。
①内存(主存):
是CPU能直接寻址的存储空间,由半导体器件制成。
包括随机存储器(RAM),只读存储器(ROM),以及高速缓存(CACHE)。
(备注:
CPU能自己编写的就是内存)
②外存(辅存):
硬盘、U盘、光盘、软盘。
11.系统总线上主要有三类信号线:
(1)数据总线:
负责传输数据的一组信号线。
(2)地址总线:
负责指出数据存储位置的一组信号线,地址线也可标识I/O设备控制器中的寄存器。
(3)控制总线:
在传输珮交换数据时起管理作用、控制作用的一组信号线。
12.计算机的软件主要分为系统软件和应用软件两类:
一、系统软件:
1、基本输入输出系统(BIOS)
2、操作系统(OS)——DOS、WINDOWS、OS/2、UNIX、LINUX等
3、程序设计语言——机器语言、汇编语言、高级语言
二、应用软件——为了某个应用目的而编写的软件:
1、文本类——记事本、WORD、WPS
2、图像/图形类——画图、Photoshop、corelDraw
3、声音类——录音机、GoldWave、暴风影音、会声会影、Edius
4、视频类——暴风影音、会声会影、Edius
5、动画类——Flash二维动画、3DMAX三维动画
6、杀毒类——电脑管家
7、工具类——U盘启动制作软件
13.面向对象程序设计语言中提供了类、继承等成分,有识认性、多态性、类别性和继承性四个主要特点。
一般认为,较典型的面向对象语言有:
simula67,支持单继承和一定含义的多态和部分动态绑定;
Smalltalk支持单继承、多态和动态绑定;
EIFFEL,支持多继承、多态和动态绑定;
C++,支持多继承、多态和部分动态绑定。
Java,支持单继承、多态和部分动态绑定。
五种语言涉及概念的含义虽然基本相同,但所用术语有别。
C#,也支持单继承,与Java和C++等有很多类似之处……
14.逻辑值只有true(真)、false(假)两种
15.非运算——取反。
(C++中使用!
表示/Basic、Pascal中使用not表示),初赛试题可能为~A 或┓A或A
与运算——1真3假。
可用物理上串联电路来实现。
(C++中使用&
&
表示/Basic、Pascal中使用and表示),初赛试题可能为A·
B
或A∧B或A∩B
或运算——1假3真(1+1=1)。
可用物理上并联电路来实现。
(C++中使用||表示/Basic、Pascal中使用or表示),初赛试题可能为A∨B
或A∪B
异或运算——同假异真【2真2假(1+1=0)】。
(C++中使用
^表示/Basic、Pascal中使用xor表示),初赛试题可能为A⊕B
16.在C++中通常用“%”求余
17.算法1:
欧几里德算法求a,b的最大公约数
//C++代码
intgcd【最大公约数缩写】
(inta,intb)
【形式参数】{
returnb==0?
a:
gcd(b,a%b)
【括号里的字母改为数字】;
}
18.最小公倍数
a*b/gcd(a,b)
19.重新排列1234使得每一个数字都不在原来的位置【数位排列题目,公式:
(n>
=3)是:
f[n]=(n-1)(f[n-2]+f[n-1])
20.排序
(1)冒泡排序(n<
10000)H(n*n)(不稳定)
C++编码:
for(i=1;
i++){
for(j=i+1;
j<
=n:
j++{
(f(a[i]>
a[j]){k=a[i];
a[i]=a[j];
a[j]=k;
}
(2)快排(快速排序)H(nlogn),查找时,最好O
(1)、最差O(n);
排序时,最好O(n)、平均最好O(nlogn)、最差O(n2)。
(不稳定)
(3)合并(归并)排序(稳定)H(n)
(4)插入排序(稳定)
(5)基数(桶)排序——非比较
(6)希尔排序:
希尔排序是插入排序的一种又称“缩小增量排序”,是直接插入排序算法的一种更高效的改进版本。
希尔排序是非稳定排序算法。
【ID=400答案】A
21.数据结构:
(1)集合结构:
结构中的数据元素除了同属于一种类型外,别无其它关系。
(0对0关系)
(2)线性结构:
有1个头,1个尾,其余只有1个前驱,1个后继(“首”没有前驱,“尾”没有后继,其它元素只有1个前驱、1个后继的数据结构。
简单概括为“1对1关系”结构中的数据元素之间存在一对一的关系。
(1对1关系)线性结构分:
数组、链表、串、队列、栈。
)
(3)树型结构:
结构中的数据元素之间存在一对多的关系。
(1对多关系)
(4)图状结构(网状结构):
结构中的数据元素之间存在多对多的关系。
(多对多关系)
【ID=407答案】14
【讲解】
本题等价:
凸7边形对角线有多少条?
显示结果为:
C(7,2)-7=14
22.【答案】
四种网络的缩写。
局域网Lan,城域网Man,广域网Wan,因特网/互联网Integer。
23.网络的分类
(1)按通信距离分:
局域网(LAN):
局限于某个范围(10公里左右)的网络连接
城域网(MAN):
局限于城市之间的网络连接广域网(WAN):
跨地区的局域网互联网/因特网(Internet):
是覆盖全球的广域网
(2)按网络的使用目的分:
共享资源网:
使用者可分享网络的各种资源(如Internet)。
数据处理网:
用于数据处理(企业经营管理用的网络)。
数据传输网:
用于数据的收集、交换和传输(情报检索网络)。
(3)按网络的拓扑结构分:
星形网:
以一台计算机为中心,以放射状连接若干台计算机。
环形网:
传输线路构成一个封闭的环,入网的计算机连到这个环形线路上。
总线网:
用一条通信线路作主干,入网的计算机通过相应接口连到线路上。
24.开放系统互联模型(OSI