计算机02275总结.docx
《计算机02275总结.docx》由会员分享,可在线阅读,更多相关《计算机02275总结.docx(47页珍藏版)》请在冰豆网上搜索。
![计算机02275总结.docx](https://file1.bdocx.com/fileroot1/2023-2/6/2ce06c41-c769-4b96-bdba-ad6255a03726/2ce06c41-c769-4b96-bdba-ad6255a037261.gif)
计算机02275总结
第一章计算机及程序设计基础知识
一、计算机系统组成与工作原理
计算机的基本结构
代表数据流代表控制流
(1)冯·诺依曼结构有3条重要的设计思想:
①计算机应由运算器、控制器、存储器、输入设备和输出设备5大部分组成;
②以二进制的形式表示数据和指令;
③程序和数据预先存入存储器中,使计算机在工作中能自动地从存储器中取出程序指令。
(2)计算机的工作原理
指令:
是能被计算机识别并执行的二进制代码,它规定了计算机能完成的某一种操作。
一条指令通常由如下两个部分组成:
①操作码:
它是指明该指令要完成的操作。
②操作数:
它指操作对象的内容或者所在的单元格地址。
指令系统:
某一台计算机所能识别的所有指令的集合。
程序:
一系列指令的有序集合。
二、计算机系统组成
1.中央处理器(CPU)是计算机的核心部件,由运算器和控制器构成。
运算器又称算术逻辑部件,主要功能是完成对数据的算术运算、逻辑运算和逻辑判断等操作。
控制器是整个计算机的指挥中心,发出各种控制信号,指挥计算机各部分工作。
2.存储器(Memory)用来存储程序和数据,存储器可分为两大类:
内存储器和外存储器
(1)内存储器简称内存,可以与CPU直接交换数据,特点是:
容量小、速度快,但价格贵。
内存一般分为ROM和RAM。
ROM:
只读存储器,一种只能读取数据不能写入数据的存储器,断电后,ROM中的信息不会全丢失。
RAM:
随机访问存储器,一种既能读取数据又能能写入数据的存储器,断电后,RAM中的信息不会全丢失。
用户直接使用的内存是RAM,通常说的内存大小也是指RAM。
有关存储器的概念
地址:
存储器由若干单元组成,每个单元有一个唯一的编号,成为地址。
位(bit):
二进制数据中的一个位,简写为b,音译为比特,是计算机存储数据的最小单位。
字节(Byte):
是计算机数据处理的最基本单位,简记为B,每个字节由8个二进制位组成,即1B=8bit。
字(Word):
一个字通常由一个或若干个字节组成。
字(Word)是计算机进行数据处理时,一次存取、加工和传送的数据长度。
字长越长,计算机性能越好。
数据的换算关系:
1Byte=8bit1KB=1024B=210B1MB=1024KB=220B
1GB=1024MB=230B1TB=1024GB=240B
(2)外存储器(简称外存)又称辅助存储器,主要用于保存暂时不用但又需长期保留的程序或数据。
如软盘、硬盘、光盘等
3.输入设备:
键盘、鼠标、扫描仪、条形码读入器等。
4.输出设备:
显示器、打印机、绘图仪等。
三、微型计算机的结构组成
1.总线:
是计算机各种功能部件之间传送信息的公共信号线和相关的控制逻辑电路。
计算机的总线可以划分为数据总线、地址总线和控制总线,分别用来传输数据、数据地址和控制信号。
输入输出设备(I/O设备)需要通过I/O接口与系统总线再与CPU相连。
四、各种进制数之间的转换
1.二、八、十六进制数转换为十进制数
(1)二进制数转换成十进制数:
以2为基数按权展开并相加。
例:
(1101100.111)2=1×26+1×25+1×23+1×22+1×2-1+1×2-2+1×2-3
=64+32+8+4+0.5+0.25+0.125
=(108.875)10
(2)八进制数转换为十进制数:
以8为基数按权展开并相加。
例:
(652.34)8=6×82+5×81+2×80+3×8-1+4×8-2
=384+40+2+0.375+0.0625
=(426.4375)10
(3)十六进制数转换为十进制数:
以16为基数按权展开并相加。
例:
(19BC.8)16=1×163+9×162+B×161+C×160+8×16-1
=4096+2304+176+12+0.5
=(6588.5)10
2.十进制转换为二进制数
(1)整数部分的转换:
采用的是除2取余法。
结果为:
(126)10=(1111110)2
(2)小数部分的转换:
采用乘2取整法。
例:
将十进制数(0.534)10转换成相应的二进制数。
结果为:
(0.534)10=(0.10001)2
分析:
对于这种既有整数又有小数部分的十进制数,可将其整数和小数分别转换成二进制数,然后再把两者连接起来即可。
十进制整数转换为八进制方法:
除8取余。
十进制整数转换为十六进制方法:
除16取余。
3.八进制与二进制数之间的转换
(1)八进制转换为二进制数
转换原则是“一位拆三位”,即把一位八进制数对应于三位二进制数,然后按顺序连接即可。
例:
将(64.54)8转换为二进制数。
64.54
↓↓↓↓↓
110100.101100
结果为:
(64.54)8=(110100.101100)2
(2)二进制数转换成八进制数
转换原则是“三位并一位”,即从小数点开始向左右两边以每三位为一组,不足三位时补0,然后每组改成等值的一位八进制数即可。
例:
将(110111.11011)2转换成八进制数。
110111.110110
↓↓↓↓↓
67.66
结果为:
(110111.11011)2=(67.66)8
4.二进制数与十六进制数的相互转换
(1)二进制数转换成十六进制数
二进制数转换成十六进制数的转换原则是“四位并一位”,即以小数点为界,整数部分从右向左每4位为一组,若最后一组不足4位,则在最高位前面添0补足4位,然后从左边第一组起,将每组中的二进制数按权数相加得到对应的十六进制数,并依次写出即可;小数部分从左向右每4位为一组,最后一组不足4位时,尾部用0补足4位,然后按顺序写出每组二进制数对应的十六进制数。
例:
将(1111101100.0001101)2转换成十六进制数。
001111101100.00011010
↓↓↓↓↓↓
3 EC.1A
结果为:
(1111101100.0001101)2=(3EC.1A)16
(2)十六进制数转换成二进制数
转换原则是“一位拆四位”,即把1位十六进制数写成对应的4位二进制数,然后按顺序连接即可。
例:
将(C41.BA7)16转换为二进制数。
C41.BA7
↓↓↓↓↓↓↓
110001000001.101110100111
结果为:
(C41.BA7)16=(110001000001.101110100111)2
五、带符号数在计算机中的表示
1.原码的表示
一个数X的原码表示为:
符号位用0表示正,用1表示负;数值部分为X的绝对值的二进制形式。
例如:
当X=+1100001时,则[X]原=01100001。
当X=-1110101时,则[X]原=11110101。
在原码中,0有两种表示方式:
当X=+0000000时,[X]原=00000000。
当X=-0000000时,[X]原=10000000。
2.反码的表示
一个数X的反码表示方法为:
若X为正数,则其反码和原码相同;若X为负数,在原码的基础上,符号位保持不变,数值位各位取反。
例如:
当X=+1100001时,则[X]原=01100001,[X]反=01100001。
当X=-1100001时,则[X]原=11100001,[X]反=10011110。
在反码表示中,0也有两种表示形式:
当X=+0时,则[X]反=00000000。
当X=-0时,则[X]反=10000000。
3.补码的表示
一个数X的补码表示方式为:
当X为正数时,则X的补码与X的原码相同;当X为负数时,则X的补码,其符号位与原码相同,其数值位取反加1。
例如:
当X=+1110001,[X]原=01110001,[X]补=01110001。
当X=-1110001,[X]原=11110001,[X]补=10001111。
在补码表示中,0有唯一的编码:
则[0]补=00000000。
在微型计算机中,带符号数一般以补码形式存储。
六、程序设计语言
程序设计语言包括机器语言、汇编语言和高级语言。
1.机器语言:
以二进制指令代码表示的指令集合,是计算机能直接识别和执行的语言。
2.汇编语言:
用助记符来表示指令的符号语言。
用汇编语言编写的程序要经汇编程序翻译后得到的机器语言的目标程序后才能执行。
3.高级语言:
是一种接近于人们自然语言与数学语言的程序设计语言。
高级语言程序的翻译方式有两种:
(1)编译方式
结果
(2)解释方式:
对源程序按语句执行的动态顺序进行逐句分析,边翻译边执行,直至程序结束,不生成目标程序。
七、算法:
用计算机解决一个实际问题的方法和步骤的描述。
算法应具备的五个性质:
(可能出多选题)
1.算法应在有限步骤内结束。
2.组成算法的规则必须是清楚、准确、无误的,没有二义性。
3.有零个或多个输入,有一个或多个输出。
4.算法的每一步骤都应当有效地执行,并得到确定的结果。
5.算法应是一套描述规则所组成的准确完整的过程。
八、结构化程序设计思想
1.使用顺序结构、选择结构、循环结构以及他们的组合来组织一个程序,各个结构之间只有一个人口一个出口。
2.采用自顶向下逐步求精的方法编写程序。
第二章关于C语言的基本知识
第一节C语言概述
一、C程序构成的特点:
(教材P22-24)
1.C程序是由若干个函数构成的。
每个C程序有且仅有一个主函数。
2.C程序的执行总是从主函数开始,并在主函数中结束。
主函数和其它函数的位置是任意的。
其它函数总是通过函数调用语句被执行。
3.主函数可以调用任何其它函数;任何其它函数都可以相互调用,但不能调用主函数。
二、TurboC2.0上机步骤
第二节C语言的数据类型
一、C语言的数据类型与变量
1.C语言的数据类型
2.变量
变量的基本数据类型
数据类型
数据类型符
占用字节数
数值范围
整型
int
2(或4)
同短整型(或长整型)
短整型
short
2
-32768~+32767(-215~215-1)
长整型
long
4
-2147483648~+2147483647
(-231~231-1)
无符号整型
unsigned[int]
2(或4)
同无符号短整型(或长整型)
无符号短整型
unsignedshort
2
0~65535(0~216-1)
无符号长整型
unsignedlong
4
0~4294967295(0~232-1)
单精度实型
float
4
-1038~1038(保留7位有效数字)
双精度实型
double
8
-10308~10308(保留11位有效数字)
字符型
char
1
-128~+127
二、C程序中的常量
1.整型常量
在C语言中,整型常量有三种书写形式:
(1)十进制整数:
由数字0~9和正负号表示。
如:
0、-111、+15、21等。
(2)八进制整数(在前面0).00、-0111、+015、021。
(3)十六进制整数(在前面0x)。
例如0x0、-0x111、+0xff、0x2d。
说明:
2、整型常量在一般微型机中占用2个字节,数值范围都是十进制的-32768+32767。
长整型常量(在整数的末尾字母“L”):
例如0L(十进制)、-0111L(八进制)、+0x15L(十六进制)
2.实型常量
实型常量只使用十进制,它的书写形式有两种:
(1)十进制数形式:
(必须有小数点)如0.123,.123,123.0,0.0,123.
(2)指数形式:
(e或E之前必须有数字;指数必须为整数)如12.3e3,123E2,1.23e4,e-5,1.2E-3.5
说明:
实型常量在一般的微型机中占用4个字节数值范围都是-1038~1038。
3.字符常量
字符常量用两个单引号(’)前后括住的单个字符来表示。
例如,’a’、’1’、’%’、’A’、’\n’、’\101’。
说明:
(1)C语言规定,字母是区分大小写的。
(2)在内存中,每个字符常量都占用一个字节,具体存放的是该字符对应的ASCII代码值。
(3)在C语言中,一个字符常量也可以看成是“整型常量”,其值就是该字符的ASCII代码值。
例如,’a’,可以看作是97。
’a’+5等于整数值102。
(4)oid)___________________________________________________________________________________________________________________________如果其值在0~127之间,整型常量也可以将其看成一个字符型常量.例如97,可以当成字符常量’a’来使用。
转义字符
\n
\t
\v
\b
\r
\f
\0
回车换行符号
Tab符号
垂直制表符号
左退一格符号
回车符号
换页符号
空操作字符,字符串结束标记
\a
\"
\’
\\
\ddd
\xhh
响铃符号
双引号
单引号
反斜杠
1~3位8进制数ddd对应的符号
1~2位16进制数hh对应的符号
4.字符串常量
字符串常量简称为“字符串”。
字符串就是用两个双引号(")前后括住的一串字符。
例如,"abc"、"12345"、"a"、"A"、"\101\n\x43"都是字符串。
空字符串:
没有字符的字符串称为“空字符串”。
例如,""。
字符串的长度:
一个字符串中所有字符的个数称为该字符串的长度
第三节C的运算符和表达式
一、算术运算符和算术表达式(每年必考)
算术运算符(+、-;+、-、*、/、%)
说明:
1.除运算(/)和运算对象的数据类型有关。
例如,14/5=21/2=01/2.0=0.51.0/2=0.5。
2.模运算(%)的对象必须是整型数据,结果是整除后的余数,运算结果的符号必须与被除数相同。
例如,14%5=414%-5=4-14%5=-4-14%-5=-4。
二、赋值运算符和赋值表达式
赋值运算符(=)
复合赋值运算符(+=-=*=/=%=&=|=>>=<<=)
说明:
复合赋值运算符右边的表达式是自动加括号的。
其结合方向自右至左。
【例】“c%=a-3”不能理解为“c=c%a-3”,应理解为“c=c%(a-3)”。
三、增量运算符和增量表达式(++--)
说明:
1.++变量或--变量:
先加(或1)再使用该变量的新值;变量++或变量--:
先使用该变量的值再加给该变量加1(或1)。
2.自加、自减运算符的运算对象是整型、字符型、指针型等变量,不能是常量或表达式。
四、关系运算符(>=、>、<=、<==、!
=)和逻辑运算符(&&||!
)
说明:
1.关系运算和逻辑运算的结果是整型数据0或1。
2.用&&对两个表达式进行计算时,若第一个表达式的值为“假”,则运算结果与第二个表达式的值无关,结果肯定为“假”,所以C语言规定此时第二个表达式将不再计算。
同样用||对两个表达式进行计算时,若第一个表达式的值为“真”,则运算结果与第二个表达式的值无关,结果肯定为“真”,所以C语言规定此时第二个表达式也不再计算。
五、逗号运算符(,)
逗号表达式的一般形式为:
表达式l,表达式2,……,表达式n
说明:
1.由逗号运算符组成的式子也是表达式,其值等于最右边表达式的值。
2.任何运算符都优先于逗号运算符
六、条件运算符(?
:
)
表达式1?
表达式2:
表达式3
说明:
运算规则:
表达式1的值为1,则表达式2的值为整个表达式的值;否则,表达式3的值为整个表达式的值。
七、运算符的优先级
见教材附录Ⅲ
常见运算符优先级由高到底:
()[]→单目→算术→关系→逻辑(!
除外)→条件→赋值→逗号运算符。
历年真题
29.将下面的各种运算符按优先级从高到低排列出来。
(要同优先级的用“、”号分隔,不同优先级的由高向低用“→”号分隔)
,、<=、>=、[]、++、%、+、&&、/
【答案】[]→++→%、/→+→<=、>=→&&→,
【解析】本题考查运算符的优先级,见教材附录Ⅲ
第四节关于类型转换
一、表达式计算中数据类型的自动转换规则
说明:
必定的转,运算对象类型不同时转
二、运算结果存入变量时数据类型的自动转换规则
先将运算结果的数据类型自动转换成左边变量的数据类型,然后再赋予该变量。
【例】设变量定义如下:
inta;
计算表达式a=2*1.7后a的值为3,而不是3.4。
三、运算结果的强制性数据类型转换规则
命令格式如下:
(数据类型符)(表达式)
当被转换的表达式是一个简单表达式时,外面的一对圆括号可以缺省。
第三章C的基本语句及顺序结构程序设计
一、格式输出函数(每年必考)
printf(输出格式字符串,输出表达式表)
要熟练掌握的输出格式字符串:
%d以十进制带符号形式输出整数
%o以八进制形式输出整数
%x以十六进制形式输出整数
%u以十进制无符号形式输出整数(多次考到)
%c以字符形式输出单个字符
%s输出字符串
%f以小数形式输出实数
%e以指数形式输出实数
%g自动选取%f或%e中宽度较小的格式,不输出无意义的0
%%输出一个%
%m.nf输出实数,格式是n位小数,总宽度为m,超过m位,按实际位数输出,不足m位,用空格补足m位。
二、格式输入函数(每年必考)
scanf(输入格式字符串,输入变量地址表)
%d用于输入十进制整数
%o用于输入八进制整数
%x用于输入十六进制整数
%c用于输入单个字符
%s用于输入字符串
%f,%e用于输入实数
注意:
(1)如果多个整型或实型数据输入时,中间要用一个或多个空格隔开,也可以用键或回车键隔开。
(2)如果连续多个字符输入时,中间不能用任何字符或键隔开。
(3)输入格式字符串中出现了格式字符外的其他字符,输入时必须原样将这些字符输入。
三、字符输入输出函数
1、输入函数getchar()从键盘读取单个字符。
2、符输出函数putchar(ch)将参数ch对应的字符输出到显示器上。
四、顺序结构程序设计
第四章条件语句与选择结构程序设计
一、if语句
1.if语句形式之一
【格式】if(表达式)语句;
【功能】计算表达式的值。
如果为真(非0),则执行“语句”;否则不执行语句。
说明:
(1)表达式可以是能求值的任何类型的表达式,常用的是关系表达式或逻辑表达式。
2.if语句形式之二
【格式】if(表达式)语句1;
else语句2;
【功能】计算表达式的值。
如果为真(非0)则执行“语句1”,否则执行“语句2”。
3.if语句的嵌套与if语句形式之三
【格式】if(表达式)内嵌if语句1;
else内嵌if语句2;
【功能】计算表达式的值。
如果为真(非0)则执行“内嵌if语句1”,否则执行“内嵌if语句2”。
执行内嵌if语句的原则与前面两种形式一样。
注意:
在分析嵌套的“if语句”和“if-else语句”时,要特别注意else是和上面最近的if配对。
二、switch语句
【格式】switch(表达式)
{case常量表达式1:
语句1;break;
case常量表达式2:
语句2;break;
...
case常量表达式n:
语句n;break;
default:
语句n+1;
}
说明
(1)表达式可以是任何类型的表达式,常用的是字符型或整型表达式。
(2)常量表达式是由常量或符号常量组成的表达式,不能有变量,所有常量表达式值必须互不相同。
(3)break在switch语句中的作用是:
执行完某个语句组后,将退出该switch语句。
如果省略了break语句,则执行完某个语句组后,将连续执行其后的所有语句组,直到有break语句出现或switch语句结束。
(4)default及其后的语句组可以省略。
省略时,若表达式的值和n个常量表达式值均不相同,则该语句什么也不做。
第五章循环语句与循环结构程序设计
一、循环结构语句
说明
(1)dowhile循环至少执行1次。
(2)for语句主要用来实现次数型循环结构。
表达式1、2、3都可以是任何类型的,都可以省略。
但两个分号不可以省略。
控制循环结束的表达式2省略时,是“死循环”。
二、break语句、continue语句和goto语句
1、break语句
【格式】break;
【功能】强制结束当前的循环,不再执行循环体中break后面的语句。
说明
(1)break语句只能用在三条循环语句的循环体中或switch语句中。
(2)通常break语句是和单分支语句配合使用,从而构成第二个结束循环的条件。
2、continue语句
【格式】continue;
【功能】跳过continue之后的语句,重新判断循环控制条件,决定是否继续循环。
【说明】
(1)continue语句只能用在三条循环语句的循环体中。
(2)通常continue语句是和if语句配合使用,从而构成其后的部分循环体是否执行的单分支结构。
3、goto语句
【格式】goto标识符;
【功能】无条件转到标识符所指的语句去执行。
【说明】
(1)goto语句一般和if语句构成循环结构。
(2)goto语句也可用于退出多重循环。
三、循环嵌套
所谓循环嵌套就是一个循环体内包含另一个完整的循环结构。
设计多重循环结构时,要注意内层循环语句必须完整地包含在外层循环的循环体中,不得出现内外层循环体交叉现象。
但是允许在外层循环体中包含多个并列的循环语句。
第六章数组
一、一维数组的定义与应用
1.一维数组的定义语句格式:
数据类型符数组名[常量表达式];
例如:
inta[6];
2.一维数组元素的引用方法:
数组名[下标]
3.一维是数组的初始化
说明:
(1)对数组所有元素赋初值,此时数组定义中数组长度可以省略。
例如:
inta[5]={1,2,3,4,5};或inta[]={1,2,3,4,5};
(2)对数组部分元素赋初值,此时数组长度不能省略。
例如:
inta[5]={1,2};
a[0]=1,a[1]=2,其余元素为编译系统指定的默认值0。
二、二维数组的定义与应用(教材P88-97)
1.二维数组的定义:
数据类型数组名[行长度][列长度];
例如:
inta[3][4];
2.二维数组元素的引用:
数组名[行下标][列下标]
0~行长度-1
0~列长度-1
说明:
(1)二维数组的存放规律是“按行排列”,即先顺序存放第一行的元素,再存放第二行,以此类推。
(2)一个二维数组可以看成若干个一维数组。
二维数组a[3][4]理解为:
有三个元素a[0]、a[1]、a[2],每一个元素是一个包含4个元素的数组。
3、二维数组的不同初始化方法。
(1)分行给二维数组所有元素赋初值。
例如:
inta[2][3]={{1,2,3},{