文档库 最新最全的文档下载
当前位置:文档库 › 第2章_数据表示和寻址习题答案

第2章_数据表示和寻址习题答案

第2章_数据表示和寻址习题答案
第2章_数据表示和寻址习题答案

第2章数据表示和寻址

2.1 简答题

(2)字符“'F'”和数值46H作为MOV指令的源操作数有区别吗?

没有,因为字符“'F'”的ASCII码就是数值46H

(3)为什么可以把指令“MOV EAX, (34+67H)*3”中的数值表达式看成是常量?

汇编程序在汇编过程中对数值表达式计算,得到一个确定的数值,故称数值表达式为常量(4)汇编语言为什么规定十六进制数若以A~F开头,需要在前面加个0?

以便与标识符区别,因为标识符要求以字母(或特殊符号)开头

(7)为什么将查找操作数的方法称为数据寻“址”方式?

指令的操作数需要通过存储器地址或I/O地址,才能查找到数据本身,故称数据寻址方式(8)为什么变量V AR在指令“MOV EAX, V AR”中表达直接寻址?

因为这里的变量名V AR实际上表达了从变量所存放的主存单元,即[地址]

2.2 判断题

(1)对一个正整数,它的原码、反码和补码都一样,也都与无符号数的编码一样。

(2)常用的BCD码为8421 BCD码,其中的8表示D3位的权重。

(3)排序一般按照ascii码值大小,从小到大升序排列是,小写字母排在大写字母之前。错

(4)用“BYTE”和“DWORD”定义变量,如果初值相同,则占用的存储空间也一样多。错。用BYTE只占一个存储单元,而DWORD要占4个存储单元

(5)TYPE DX的结果是一个常量,等于2。

(6)IA-32处理器采用小端方式存储多字节数据。

(7)某个双字变量存放于存储器地址0403H ~ 0406H中,对齐了地址边界。

(8)立即数寻址只会出现在源操作数中。

(9)存储器寻址方式的操作数当然在主存了。

(10)指令“MOV EAX, V AR+2”与“MOV EAX, V AR[2]”功能相同。

对,仅是不同的形式罢了

2.3 填空题

(1)计算机中有一个“01100001”编码。如果把它认为是无符号数,它是十进制数___________;如果认为它是BCD码,则表示真值_____________;又如果它是某个ASCII 码,则代表字符__________。

97,61,小写字母a

(2)C语言用“\n”表示让光标回到下一行首位,在汇编语言中需要输出两个控制字符:一个是回车,其ASCII码是_____________,它将光标移动到当前所在行的首位;另一个是换行,其ASCII码是_____________,它将光标移到下一行。

0DH(13),0AH(10)

(3)定义字节变量的伪指令助记符是______,获取变量名所具有的偏移地址的操作符是

_______。

BYTE,OFFSET

(4)数据段有语句“H8843 Dword 99008843h”,代码段指令“mov cx,word ptr h8843”执行后,cx=()。

8843

(5)用DWORD定义一个变量XYZ,它的类型是(),用“type XZY”会得到数值为()。如果将其以字变量使用,应该用()说明。

双字,4,word ptr

(6)数据段有语句“ABC BYTE 1,2,3”,代码段指令“mov cl,abc+2”执行后,cl = ( ). 3

(7)除外设数据外的数据寻址方式有3类,分别称为(),()和()。

立即寻址,寄存器寻址,存储器寻址

(8)指令“MOV EAX, OFFSET MSG”的目的操作数和源操作数分别采用______和_______寻址方式。

寄存器寻址,立即数寻址

(9)已知ESI=04000H,EBX=20H,指令“MOV EAX, [ESI+EBX*2+8]”中访问的有效地址是__________。

04000H+20H×2+8=04048H

(10)用EBX作为及地址指令,默认采用()段寄存器指向的数据段,如果采用BP、EBP 或SP、ESP作为基地址指针,默认使用()段寄存器指向堆栈。

DS,SS

习题2.10

按照如下要求定义变量或符号常量:

(1)my1b为字符串变量:Personal Computer

my1b byte 'Personal Computer'

(2)my2b为用十进制数表示的字节变量:20

my2b byte 20

(3)my3b为用十六进制数表示的字节变量:20

my3b byte 14h

(4)my4b为用二进制数表示的字节变量:20

my4b byte 00010100b

按照如下要求定义变量或符号常量:

(5)my5w为20个未赋值的字变量

my5w word 20 dup(?)

(6)my6c为100的常量

my6c = 100

(7)my7c表示字符串:Personal Computer

my7c equ

习题2.14

按照如下输出格式,在屏幕上显示ASCII表

编程在数据段直接构造这样的表格、填写相应ASCII代码值(不是字符本身),然后使用字符串显示子程序DISPMSG实现显示

.data

Table byte 3 dup(20h),’ |0 1 2 3 4 5 6 7 8 9 A B C D E F', 13,10

byte dup(‘-’),’+’,31 dup (‘-’), 13,10

Byte'20|',20h,20h,21h,20h,22h,20h,23h,20h,

24h,20h,25h,20h,26h,20h,27h,20h,28h,20h,29h,20h

byte 2ah,20h,2bh,20h,2ch,20h,2dh,20h,2eh,20h, 2fh,20h,13,10

byte '30 |',30h,20h,31h,20h,32h,20h,33h,20h, 34h,20h,35h,20h,36h,20h,37h,20h,38h,20h,39h,20h

byte 3ah,20h,3bh,20h,3ch,20h,3dh,20h,3eh,20h, 3fh,20h,13,10

……

byte 0

……

ca ='2'

cas =20h

byte ca,'0 |',cas,20h,cas+1,20h,cas+2,20h, cas+3,20h,cas+4,20h,cas+5,20h,cas+6,20h,cas+7,20h

byte cas+8,20h,cas+9,20h,cas+0ah,20h,cas+0bh,20h, cas+0ch,20h,cas+0dh,20h,cas+0eh,20h,cas+0fh,20h,13,10

cas =cas+10h

ca =ca+1

byte ca,'0 |',cas,20h,cas+1,20h,cas+2,20h, cas+3,20h,cas+4,20h,cas+5,20h,cas+6,20h,cas+7,20h

byte cas+8,20h,cas+9,20h,cas+0ah,20h,cas+0bh,20h, cas+0ch,20h,cas+0dh,20h,cas+0eh,20h,cas+0fh,20h,13,10

习题2.15

数据段有如下定义:

var dword 12345678h

现以字节为单位按地址从低到高的顺序,写出这个变量内容。

var变量的内容:78H、56H、34H、12H

并说明如下指令的执行结果:

mov eax,var ;EAX=12345678H

mov bx,word ptr var ;BX=5678H

mov cx,word ptr var+2 ;CX=1234H

mov dl,byte ptr var ;DL=78H

mov dh,byte ptr var+3 ;DH=12H

习题2.17

说明源操作数的寻址方式

(1)mov edx,1234h 立即数

(2)mov edx,vard直接

(3)mov edx,ebx 寄存器

(4)mov edx,[ebx] 寄存器间接

(5)mov edx,[ebx+1234h] 寄存器相对

(6)mov edx,vard[ebx] 寄存器相对

(7)mov edx,[ebx+edi] 基址变址

(8)mov edx,[ebx+edi+1234h] 相对基址变址

(9)mov edx,vard[esi+edi] 相对基址变址(10)mov edx,[ebp*4] 带比例寻址

第三章

3.1 简答题

(1)如何修改“MOV ESI, WORD PTR 250”语句使其正确?

删除“WORD PTR”即可

(2)为什么说“XCHG EDX,CX”是一条错误的指令?

源、目标寄存器位数不同,不能用该指令进行数据交换

(3)说IA-32处理器的堆栈“向下生长”是什么意思?

入栈时堆栈指针寄存器做减法操作,指向低地址;出栈时堆栈指针寄存器做加法操作,指向高地址

(4)都是获取偏移地址,为什么指令“LEA EBX,[ESI]”正确,而指令“mov ebx,offset [ESI]”就错误?

LEA指令时运行时计算地址,OFFSET是汇编时取地址。

(5)执行了一条加法指令后,发现ZF=1,说明结果是什么?

表明运算结果为0

(6)INC、DEC、NEG和NOT都是单操作数指令,这个操作数应该是源操作数还是目的操作数?

既是源操作数,也是目的操作数

(7)大小写字母转换使用了什么规律?

大小写字母转换利用它们的ASCII码相差20H

(9)除法指令“DIV ESI”的被除数是什么?

被除数64位,在EDX和EAX中,EDX保存高32位、EAX保存低32位

(10)逻辑与运算为什么也称为逻辑乘?

运算规则类似于2进制乘法。

3.2 判断题

(1)指令“MOV EAX,0”使EAX结果为0,所以标志ZF=1。

错,MOV指令不影响标志

(2)空操作NOP指令其实根本没有指令。

错,

(3)堆栈的操作原则是“先进后出”,所以堆栈段的数据除了PUSH和POP指令外,不允许其他方式读写。

(4)虽然ADD指令和SUB指令执行后会影响标志状态,但执行前的标志并不影响它们的执行结果。

(5)80减90(80-90)需要借位,所以执行结束后,进位标志CF=1。

对,减法时借位也用CF标志反映

(6)指令“INC ECX”和“ADD ECX,1”实现的功能完全一样,可以互相替换。

错,INC 不影响CF位。

(7)无符号数在前面加零扩展,数值不变;有符号数前面进行符号扩展,位数加长一位、数值增加一倍。

错,符号扩展也不改变数值大小

(8)CMP 指令是目的操作数减去源操作数,与SUB指令功能相同

(9)逻辑运算没有进位或溢出问题,此时CF和OF没有作用,所以逻辑运算指令将CF和OF设置为0

(10)SHL指令左移一位,就是乘10。

错,左移一位,相当于乘2。这里的位是二进制比特位

3.3 填空题

(1)指令“PUSH DS”执行后,ESP会____________.

减2

(2)指令“POP EDX”的功能也可以用MOV和ADD指令实现,依次应该是__________和__________指令。

MOV EDX,[ESP],ADD ESP,4

(3)例子3-3 的TAB定义如果是1234567890,则显示结果是_______________ 78894111

(4)进行8位二进制数加法:BAH+6CH,8位结果是__________,标志PF=__________。如果进行16位二进制数加法:45BAH+786CH,16位结果是__________,标志PF=__________。

26H,0,BE26H,0

(5)已知AX=98H,执行“NEG AX”指令后,AX=____,标志SF=___。

68H,0

(6)假设CL=98H,执行“MOVZX DX,CL”后,DX = ______,这称为__________。

0098h,零位

(7)假设CL=98H,执行“MOVSX DX,CL”后,DX = ______,这称为__________。

ff98h,符号

(8)指令“XOR EAX, EAX”和“SUB EAX, EAX”执行后,EAX=___,CF=OF=___。而指令“MOV EAX, 0”执行后,EAX=___,CF和OF没有变化。

0,0,0

(9)例子3-9 的程序执行结束后,变量qvar的内容是_______

0123456788765432

(10)欲将EDX内的无符号数除以16,使用指令“SHR EDX, ____”,其中后一个操作数是一个立即数。

4

习题3.4

请给每种组合各举一个实例

(1)mov reg, imm

(2)mov mem, imm

(3)mov reg, reg

(4)mov mem, reg

(5)mov seg, reg

(6)mov reg, mem

(7)mov seg, mem

(8)mov reg, seg

(9)mov mem, seg

习题3.5

操作数的组合通常符合逻辑,但是不能任意,指出下列指令的错误原因

(1) mov ecx,dl 位数不同

(2)mov eip,ax eip为专用寄存器

(3)mov es,1234h 段寄存器不能直接用imm赋值

(4)mov es,ds 段寄存器间不能相互赋值

(5)mov al,300h 位数不同

(6)mov [esi],45h 类型不明确

(7)mov eax,ebx+edi 无该种寻址方式

(8) mov 20h,al 立即数不能做操作数

习题3.6

使用MOV指令实现交换指令“XCHG EBX,[EDI]”功能。

解答:

mov eax,ebx

mov ebx,[edi]

mov [edi],eax

习题3.7

什么是堆栈,它的工作原则是什么,它的基本操作有哪两个,对应指令是什么。主存储器中的以“先进后出”规则访问的内存区,入栈、出栈,push ,pop

习题3.11

执行如下程序片断,说明每条指令的执行结果

(1)

mov eax,80h

add eax,3

add eax,80h

adc eax,3

(2)

mov eax,100

add ax,200

(3)

mov eax,100

add al,200

(包含256的进位含义:256+44=300)

(4)

mov al,7fh

sub al,8

sub al,80h

sbb al,3

解答:

(1)

mov eax,80h ;EAX=80H

add eax,3 ;EAX=83H,CF=0,SF=0

add eax,80h ;EAX=103H,CF=0,OF=0

adc eax,3 ;EAX=106H,CF=0,ZF=0

(2)

mov eax,100 ;EAX=100(64H)

add ax,200 ;EAX=300(12CH),CF=0

(3)

mov eax,100 ;EAX=100(64H)

add al,200 ;EAX=44(2CH),CF=1

(包含256的进位含义:256+44=300)

(4)

mov al,7fh ;AL=7FH

sub al,8 ;AL=77H,CF=0,SF=0

sub al,80h ;AL=F7H,CF=1,OF=1

sbb al,3 ;AL=F3H,CF=0,ZF=0

习题3.12

给出下列各条指令执行后al的值,以及CF、ZF、SF、OF和PF的状态。

Mov al,89h

Add al,al

Add al,9dh

Cmp al,0bch

Sub al,al

Dec al

Inc al

解答:

Mov al,89h ;89h,不影响标志位

Add al,al ;12h,cf=1,zf=0,sf=0,of=1,pf=1

Add al,9dh ;0afh,cf=0,zf=0,sf=1,of=0,pf=1

Cmp al,0bch ;0afh,cf=1,zf=0,sf=1,of=0,pf=1

Sub al,al ;0,cf=0,zf=1,sf=0,of=0,pf=1

Dec al ;ffh,cf=0,zf=0,sf=1,of=0,pf=1

Inc al ;0h,cf=0,zf=1,sf=0,of=0,pf=1

习题3.13

如下两段程序执行后,EDX.EAX寄存器对的值各是多少?

(1)加法程序

Mov edx,11h

Mov eax,0b0000000h

Add eax,040000000h

Adc edx,0

(2)减法程序

Mov edx,100h

Mov eax,64000000h

Sub eax,84000000h

Sbb edx,0

解答:

(1)

EDX=11

EAX=0f0000000h

(2)

0ffh,0e00000000h

习题3.14

请分别用一条汇编语言指令完成如下功能:

(1)把EBX寄存器和EDX寄存器的内容相加,结果存入EDX寄存器。

(2)用寄存器EBX和ESI的基址变址寻址方式把存储器的一个字节与AL寄存器的内容相加,并把结果送到AL中。

(3)用EBX和位移量0B2H的寄存器相对寻址方式把存储器中的一个双字和ECX寄存器的内容相加,并把结果送回存储器中。

(4)将32位变量V ARD与数3412H相加,并把结果送回该存储单元中。

(5)把数0A0H与EAX寄存器的内容相加,并把结果送回EAX中。

解答:

(1)把EBX寄存器和EDX寄存器的内容相加,结果存入EDX寄存器。

add edx,ebx

(2)用寄存器EBX和ESI的基址变址寻址方式把存储器的一个字节与AL寄存器的内容相加,并把结果送到AL中。

add al,[ebx+esi]

(3)用EBX和位移量0B2H的寄存器相对寻址方式把存储器中的一个双字和ECX寄存器的内容相加,并把结果送回存储器中。

add [bx+0b2h],cx

(4)将32位变量V ARD与数3412H相加,并把结果送回该存储单元中。

add varw,3412h

(5)把数0A0H与EAX寄存器的内容相加,并把结果送回EAX中。

add eax,0a0h

习题3.15

有两个64位无符号整数分别存放在变量buffer1和buffer2中,定义数据并编写代码完成edx.eax<- buufer1 - buffer2的功能。

解答:

.data

Buffer1 qword ?

Buffer2 qword ?

.code

Mov eax,dword ptr buffer1

Mov edx,dword ptr buffer2 + 4

Add eax,dword ptr buffer2

Adc edx,dword ptr buffer2 + 4

习题3.16

执行如下程序片断,说明每条指令的执行结果

(1)

mov esi,10011100b ;ESI=_____H

and esi,80h ;ESI=_____H

or esi,7fh ;ESI=_____H

xor esi,0feh ;ESI=_____H

(2)

mov eax,1010b ;EAX=_____B(可有前导0)

shr eax,2 ;EAX=_____B,CF=___

shl eax,1 ;EAX=_____B,CF=___

and eax,3 ;EAX=_____B,CF=___

(3)

mov eax,1011b ;EAX=______B(可有前导0)

rol eax,2 ;EAX=______B,CF=_____

rcr eax,1 ;EAX=______B,CF=_____

or eax,3 ;EAX=______B,CF=_____

(4)

xor eax,eax ;EAX=____,CF=____,OF=____

;ZF=_____,SF=_____,PF=___

解答:

(1)

mov esi,10011100b ;ESI=9CH

and esi,80h ;ESI=80H

or esi,7fh ;ESI=FFH

xor esi,0feh ;ESI=01H

(2)

mov eax,1010b ;EAX=1010B(可有前导0)

shr eax,2 ;EAX=0010B,CF=1

shl eax,1 ;EAX=0100B,CF=0

and eax,3 ;EAX=0000B,CF=0

(3)

mov eax,1011b ;EAX=1011B(可有前导0)

rol eax,2 ;EAX=101100B,CF=0

rcr eax,1 ;EAX=10110B,CF=0

or eax,3 ;EAX=10111B,CF=0

(4)

xor eax,eax ;EAX=0,CF=0,OF=0

;ZF=1,SF=0,PF=1

习题3.17

给出下列各条指令执行后ax的结果,以及状态标志CF、OF、SF、ZF、PF的状态。

Mov ax,1470h

And ax,ax

Or ax,ax

Xor ax,ax

Not ax

Test ax,0f0f0h

解答:

Ax=1470h flags 不变

Ax=1470h cf=of=0 sf=0 zf=0 pf=0

Ax=1470h cf=of=0 sf=0 zf=0 pf=0

Ax=0 cf=of=0 sf=0 zf=1 pf=1

Ax=ffffh flags 不变

Ax=ffffh cf=of=0 sf=1 zf=0 pf=1

习题3.18

举例说明逻辑运算指令怎样实现复位、置位和求反功能。

解答:

复位使用逻辑与指令and ,例如将al寄存器D0位复位,指令and al,0feh

置位使用逻辑或指令or ,例如将al寄存器D0位置位,指令or al,01

求反使用not指令,例如将ebx寄存器内容求反,指令not ebx

习题3.19

编程将一个压缩BCD码变量(如92h)转换为对应的ASCII码,然后调用dispc字程序(在输入输出字程序中)显示。

解答:

.data

Bcd1 byte 92h

Mov al,bcd1

Shr al,4

Or al,30h

Call dispc

Mov al,bcd1

And al,0fh

Or al,30h

Call dispc

习题3.20

有4个32位有符号数,分别保存在var1,var2,var3,var4变量中,阅读如下程序片段,得出运算公式,并说明运算结果存于何处。

Mov eax,var1

Imul var2

Mov ebx,var3

Mov ecx,ebx

Sar ecx,32

Add eax,ebx

Adc edx,ecx

Sub eax,540

Sbb edx,0

Idiv var4

解答:

((var1*var2)+var3-540)/var4,结果存于edx,eax中

习题3.21

如下程序片段实现EAX乘以某个数X的功能,请判断X=?请使用一条乘法指令实现上述功能。

mov ecx, eax

shl eax, 3

lea eax, [eax+eax*8]

sub eax, ecx

解答:

8*8+8-1=71

imul eax, 71

习题3.22

请使用移位和加减法指令编写一个程序片段计算:EAX×21,假设乘积不超过32位。提示:21=24+22+20。

解答:

mov ebx,eax ;EBX=EAX×20

shl ebx,2 ;EBX=EAX×22

add eax,ebx ;EAX=EAX×(22+20)

shl ebx,2 ;EBX=EAX×24

add eax,ebx ;EAX=EAX×(24+22+20)

习题3.23

阅读如下程序,为每条指令添加注释,指出其功能或作用,并说明这个程序运行后显示的结果。如果将程序中的寄存器间接寻址替换为寄存器相对寻址,如何修改程序?

.data

Num byte 6,7,7,8,3,0,0,0

Tab byte ‘67783000’

.code

Mov ecx,lengthof num ;

Mov esi,offset num ;

Mov edi,offset tab ;

Again:

Mov al,[esi] ;

Xchg al,[edi] ;

Mov [esi],al ;

Call dispc

Add esi,1 ;

Add edi,1 ;

Loop again

解答:

.data

Num byte 6,7,7,8,3,0,0,0

Tab byte ‘67783000’

.code

Mov ecx,lengthof num ;ecx赋值为num数组长度

Mov esi,offset num ;esi赋值为num偏移地址

Mov edi,offset tab ;edi赋值为tab字符串偏移地址

Again:

Mov al,[esi] ;读取num元素到a1

Xchg al,[edi] ;互换al与tab元素

Mov [esi],al ;al存入num数组相应单元

Call dispc

Add esi,1 ;指向num下一元素

Add edi,1 ;指向下一字符

Loop again

结果:67783000

修改程序:

Mov ecx,lengthof num

Xor esi,esi

Mov edi,offset tab

Again:

Mov al,num[esi]

Xchg al,num[edi]

Mov tab[esi],al

Call dispc

Add esi,1

Add edi,1

Loop again

习题3.24

说明如下程序执行后的现实结果:

.data

Msg byte ‘WELLDONE’,0

.code

Mov ecx,(lengthof msg) -1

Mov ebx, offset msg

Again:

Mov al,[ebx]

Add al,20h

Mov [ebx],al

Add ebx,1

Loop again

Mov eax,offset msg

Call dispmsg

如果将其中的语句“mov ebx,offset msg”改为“xor ebx,ebx”,则利用ebx间接寻址的两个语句如何修改成ebx寄存器相对寻址,就可以实现同样功能?

解答:

修改后程序:

Xor ebx,ebx

Again:

Mov al,msg[ebx]

Add al,20h

Mov msg[ebx],al

Add ebx,1

Loop again

习题3.25

下面程序的功能是将数组array1的每个元素加固定值(8000h),将和保存在数组array2中。在空白处填入适当的语句或语句的一部分。

.data

Array1 dword 1,2,3,4,5,6,7,8,9,10

Array2 dword 10 dup(?)

.code

Mov ecx, lengthof array1

Mov ebx,0

Again:

Mov eax,array[ebx*4]

Add eax,8000h

Mov _______(1)_______

Add ebx,___(2)_________

Loop again

解答:

(1) array2[ebx*4],eax

(2) 1

数据结构书面作业练习题

习题六树和二叉树6.1 单项选择题 (A) (B) (C) (D) 图8.7 4棵二叉树 1. 如图8.7所示的4棵二叉树,_ _不是完全二叉树。 图8.8 4棵二叉树 2. 如图8.8所示的4棵二叉树,__B_是平衡二叉树。 3. 在线索化二叉树中,t所指结点没有左子树的充要条件是B__o A. t —> left二NULL B. t —> ltag=1 C. t —> ltag=1 且t —> left=NULL D. 以上都不对 4. 二叉树按某种顺序线索化后,任一结点均有指向其前驱和后续的线索,这种说 法_B__ o

A.正确 B. 错误 5. 二叉树的前序遍历序列中,任意一个结点均处在其子女结点的前面,这种说法 _A__。 A.正确 B. 错误 6. 由于二叉树中每个结点的度最大为2,所以二叉树是一种特殊的树,这种说法 _B_o A.正确 B. 错误 7. 设高度为h的二叉树上只有度为0和度为2的结点,则此类二叉树中所包含的结点数至少为—B__o A. 2h B. 2h-1 C. 2h+1 D. h+1 a 8. 如图8.9所示二叉树的中序遍历序列 B o 图8.9 一棵二叉树 A. abcdgef B. dfebagc C. dbaefcg D. defbagc 9. 已知某二叉树的后序遍历序列是d abec,中序遍历序

列是debac,它的前序遍历 序列是D ___ 。 A. acbed B. decab C. deabc D. cedba 10. 设a,b为一棵二叉树上的两个结点,在中序遍历时,a在b前的条件是 B 。 A. a在b的右方 B. a在b的左方 C. a是b的祖先 D. a是b的子孙 11?假定在一棵二叉树中,双分支结点数为15,单分支结点数为30个,则叶子结 点数为个。B A. 15 B. 16 C. 17 D. 47 12. 某二叉树的前序遍历结点访问顺序是abdgcefh,中序遍历的结点访问顺序是 dgbaechf,则其后序遍历的结点访问顺序是D _____ 。 A. bdgcefha B. gdbecfha C. bdgaechf D. gdbehfca 13. 二叉树为二叉排序树的充分必要条件是其任一结点的值均大于其左孩子的值、 小于其右孩子的值。这种说法__B__ o A.正确 B. 错误 14. 按照二叉树的定义,具有3个结点的二叉树有_。__种。 A. 3 B. 4 C. 5 D. 6 15. 一棵二叉树如图8.10所示,其中序遍历的序列为

实验7 寻址方式在结构化数据访问中的应用

计算机学院实验报告 课程汇编语言 实验名称实验7 寻址方式在结构化数据访问中的应用 专业计算机科学与技术 2018年 12 月 24 日 一、实验目的 1.定位内存单元的寻址方式汇总 2.寻址方式的综合应用

3.转移指令的分类和原理 4.熟悉在显存中编程的方法 二、实验内容及要求 ( 一) 寻址方式的汇总及综合应用 1.定位内存单元的寻址方式有几种,并举例说明。 2.寻址方式在结构化数据访问中的应用。 Power idea 公司从 1975 年成立一直到 1995 年的基本情况如下。 年份收入 ( 千美元 )雇员人均收入 ( 千美元 ) 1975163? 1976227? 19773829? 1978135613? 1979239028? 1980800038? 1995593700017800? 下面的程序中,已经定义好了这些数据: assume cs:codesg data segment db '1975','1976','1977','1978','1979','1980','1981','1982','1983' db '1984','1985','1986','1987','1988','1989','1990','1991','1992' db '1993','1994','1995' ;年份 dd16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514 dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000 ; 公司总收入 dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226 dw 11542,14430,15257,17800 ;公司雇员人数 data ends table segment db 21 dup('year summ ne ??') table ends

数据库课后练习及答案

第一章:一、单选题 1.以下的英文缩写中表示数据库管理系统的是( B)。 A. DB B.DBMS C.DBA D.DBS 2.数据库管理系统、操作系统、应用软件的层次关系从核心到外围分别是(B )。 A. 数据库管理系统、操作系统、应用软件 B. 操作系统、数据库管理系统、应用软件 C. 数据库管理系统、应用软件、操作系统 D. 操作系统、应用软件、数据库管理系统 3.DBMS是(C )。 A. 操作系统的一部分B.一种编译程序 C.在操作系统支持下的系统软件 D.应用程序系统 4.数据库系统提供给用户的接口是(A )。A.数据库语言 B.过程化语言 C.宿主语言D.面向对象语 5.(B )是按照一定的数据模型组织的,长期存储在计算机内,可为多个用户共享的数据的聚集。 A.数据库系统 B.数据库C.关系数据库D.数据库管理系统 6. ( C)处于数据库系统的核心位置。 A.数据模型 B.数据库C.数据库管理系统D.数据库管理员 7.( A)是数据库系统的基础。 A.数据模型B.数据库C.数据库管理系统D.数据库管理员 8.( A)是数据库中全部数据的逻辑结构和特征的描述。 A.模式B.外模式 C.内模式 D.存储模式 9.(C )是数据库物理结构和存储方式的描述。 A.模式 B.外模式 C.内模式D.概念模式 10.( B)是用户可以看见和使用的局部数据的逻辑结构和特征的描述》 A.模式B.外模式C.内模式D.概念模式 11.有了模式/内模式映像,可以保证数据和应用程序之间( B)。 A.逻辑独立性B.物理独立性C.数据一致性D.数据安全性 12.数据管理技术发展阶段中,文件系统阶段与数据库系统阶段的主要区别之一是数据库系统( B)。 A.有专门的软件对数据进行管理 B.采用一定的数据模型组织数据 C.数据可长期保存 D.数据可共享 13.关系数据模型通常由3部分组成,它们是(B )。 A. 数据结构、数据通信、关系操作 B. 数据结构、关系操作、完整性约束 C. 数据通信、关系操作、完整性约束 D. 数据结构、数据通信、完整性约束 14.用户可以使用DML对数据库中的数据进行(A )操纵。 A.查询和更新B.查询和删除 C.查询和修改D.插入和修改 15.要想成功地运转数据库,就要在数据处理部门配备( B)。 A.部门经理B.数据库管理员 C.应用程序员 D.系统设计员 16.下列说法不正确的是(A )。 A.数据库避免了一切数据重复 B.数据库减少了数据冗余 C.数据库数据可为经DBA认可的用户共享 D.控制冗余可确保数据的一致性 17.所谓概念模型,指的是( D)。 A.客观存在的事物及其相互联系 B.将信息世界中的信息数据化 C.实体模型在计算机中的数据化表示 D.现实世界到机器世界的一个中间层次,即信息世界 18.数据库的概念模型独立于( A)。 A.具体的机器和DBMS B.E-R图C.数据维护 D.数据库 19.在数据库技术中,实体-联系模型是一种( C)。 A. 逻辑数据模型 B. 物理数据模型 C. 结构数据模型 D. 概念数据模型 20.用二维表结构表示实体以及实体间联系的数据模型为(C )。 A.网状模型 B.层次模型 C.关系模型 D.面向对象模型 二、填空题 1.数据库领域中,常用的数据模型有(层次模型)、网状模型和(关系模型)。 2.关系数据库是采用(关系数据模型)作为数据的组织方式。 3.数据库系统结构由三级模式和二级映射所组成,三级模式是指(内模式、模式、外模式),二级映射是指 (模式/内模式映射、外模式/模式映射)。 4.有了外模式/模式映像,可以保证数据和应用程序之间的(逻辑独立性)。 5.有了模式/内模式映像,可以保证数据和应用程序之间的(物理独立性)。 6.当数据的物理存储改变了,应用程序不变,而由DBMS处理这种改变,这是指数据的(物理独立性)。 三、简答题 1.在一个大型公司的账务系统中,哪种类型的用户将执行下列功能? a)响应客户对他们账户上的各种查询;b)编写程序以生成每月账单;c)为新类型的账务系统开发模式。 答:a)最终用户;b)应用程序员;c)该部门的DBA或其助手。 2.用户使用DDL还是DML来完成下列任务? a)更新学生的平均成绩;b)定义一个新的课程表;c)为学生表格加上一列。 答:a——DML,更新是在操作具体数据;b和c——DDL,建立和修改表结构属于数据定义。 第二章:一、单选题

数据库系统基础教程(第二版)课后习题答案

Database Systems: The Complete Book Solutions for Chapter 2 Solutions for Section 2.1 Exercise 2.1.1 The E/R Diagram. Exercise 2.1.8(a) The E/R Diagram Kobvxybz Solutions for Section 2.2 Exercise 2.2.1 The Addresses entity set is nothing but a single address, so we would prefer to make address an attribute of Customers. Were the bank to record several addresses for a customer, then it might make sense to have an Addresses entity set and make Lives-at a many-many relationship. The Acct-Sets entity set is useless. Each customer has a unique account set containing his or her accounts. However, relating customers directly to their accounts in a many-many relationship conveys the same information and eliminates the account-set concept altogether. Solutions for Section 2.3 Exercise 2.3.1(a) Keys ssNo and number are appropriate for Customers and Accounts, respectively. Also, we think it does not make sense for an account to be related to zero customers, so we should round the edge connecting Owns to Customers. It does not seem inappropriate to have a customer with 0 accounts;

数据结构第二章课后习题题解

2.4已知顺序表L递增有序,试写一算法,将X插入到线性表的适当位置上,以保持线性表的有序性。 解: int InsList(SeqList *L,int X) { int i=0,k; if(L->last>=MAXSIZE-1) { printf("表已满无法插入!"); return(ERROR); } while(i<=L->last&&L->elem[i]last;k>=I;k--) L->elem[k+1]=L->elem[k]; L->elem[i]=X; L->last++; return(OK); } 2.5写一算法,从顺序表中删除自第i个元素开始的k个元素。 解: int LDel(Seqlist *L,int i,int k) { if(i=1||(i+k>L->last+1)) { printf("输入的i,k值不合法"); return(ERROR); } else if(i+k==L->last+2) { L->last=i-2; return OK; } else { j=i+k-1; while(j<=L->last) { elem[j-k]=elem[j]; j++; } L->last=L->last-k+1; return OK;

} } 2.6已知线性表中的元素(整数)以递增有序排列,并以单链表作存储结构。试写一高效算法,删除表中所有大于mink且小于maxk的元素(若表中存在这样的元素),分析你的算法的时间复杂度(注意:mink和maxk是给定的两个变量,他们的值为任意的整数)。 解: int Delete(Linklist,int mink,int maxk) { Node *p,*q; p=L; while(p->next!=NULL) p=p->next; if(mink>=maxk||L->next->data>=maxk||mink+1=maxk) { printf("参数不合法!"); return ERROR; } else { while(p->next->data<=mink) p=p->next; q=p->next; while(q->datanext=q->next; free(q); q=p->next; } return OK; } } 2.7试分别以不同的存储结构实现线性表的就地逆置算法,即在原表的储存空间将线性表(a1,a1,…,an)逆置为(an,an-1,…,a1)。 (1)以顺序表作存储结构。 解: int ReversePosition(SpList L) { int k,temp,len; int j=0; k=L->last; len=L->last+1; for(j;j

数据库系统实现课后习题答案

6.1.2 如果OUTPUT动作顺序恰当,即使在事务执行过程中发生故障,一致性仍能得到保持。

6.2.3 答案1 若题目是:; ; ….则答案是 a)首先扫描日志,发现事务T和U都未commit,将其连接到未完成事务列.按照未完成事务列,从后往前逐步扫描日志并执行undo操作,按照将磁盘中A值写为10,将写入日志中并刷新日志。 b)首先扫描日志,发现事务T已经commit,将其连接到已完成事务列,事务U未完成,将其连接到未完成事务列。按照未完成事务列,从后往前扫描日志执行undo操作,按照将磁盘中C值写为30,将磁盘A值写为10。将写入日志中并刷新日志。 c)首先扫描日志,发现事务T已经commit,将其连接到已完成事务列,事务U未完成,将其连接到未完成事务列。按照未完成事务列从后往前扫描日志执行undo操作,按照将磁盘中E值写为50,将磁盘中C值写为30,将磁盘A值写为10。将写入日志中并刷新日志。 d)首先扫描日志,发现事务T、U已经commit,将其连接到已完成列,未完成列为空,不做任何操作。答案2 a) 事务T、U未提交,要被撤销。向后扫描日志,遇到记录,于是将A在磁盘上的值存为10。最后,记录被写到日志中且日志被刷新。 b) 事务T已提交,U未提交,要被撤销。向后扫描日志,首先遇到记录,于是将C在磁盘上的值存为30。接着遇到记录,并将A在磁盘上的值置为10。最后,记录被写到日志中且日志被刷新。 c) 事务T已提交,U未提交,要被撤销。向后扫描日志,首先遇到记录,将E在磁盘上的值存为50。接着遇到记录,于是将C在磁盘上的值存为30。再遇到记录,并将A在磁盘上的值置为10。最后,记录被写到日志中且日志被刷新。 d) 事务T、U均被提交。什么都不做。 6.2.4

数据库技术与应用(第二版)课后答案

第1章习题参考答案 1.思考题 (1)什么是数据库、数据库管理系统、数据库系统?它们之间有什么联系? 答:数据库是存贮在计算机的有结构的数据集合;数据库管理系统是一个软件,用以维护数据库、接受并完成用户对数据库的一切操作;数据库系统指由硬件设备、软件系统、专业领域的数据体和管理人员构成的一个运行系统。 (2)当前,主要有哪几种新型数据库系统?它们各有什么特点?用于什么领域,试举例说明?答:主要有:分布式数据库、面向对象数据库、多媒体数据库、数据仓库技术、空间数据库。 (3)什么是数据模型?目前数据库主要有哪几种数据模型?它们各有什么特点? 答:数据模型是一组描述数据库的概念。这些概念精确地描述数据、数据之间的关系、数据的语义和完整性约束。很多数据模型还包括一个操作集合。这些操作用来说明对数据库的存取和更新。数据模型应满足3方面要求:一是能真实地模拟现实世界;二是容易为人们理解;三是便于在计算机上实现。目前在数据库领域,常用的数据模型有:层次模型、网络模型、关系模型以及最近兴起的面向对象的模型。 (4)关系数据库中选择、投影、连接运算的含义是什么? 答: 1)选择运算:从关系中筛选出满足给定条件的元组(记录)。选择是从行的角度进行运算,选择出的记录是原关系的子集。 2)投影运算:从关系中指定若干个属性(字段)组成新的关系。投影是从列的角度进行运算,得到的新关系中的字段个数往往比原关系少。 3)连接运算:将两个关系按照给定的条件横向拼接成新的关系。连接过程是通过两个关系中公有的字段名进行的。 (5)关键字段的含义是什么?它的作用是什么? 答:一个关系中可以确定一个字段为关键字段,该字段的值在各条记录中不能有相同的值。(如:门牌);关键字段的作用主要是为建立多个表的关联和进行快速查询。 (6)什么是E-R图?E-R 图是由哪几种基本要素组成?这些要素如何表示? 答:E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。构成E-R图的基本要素有3种,即实体、属性和联系。其表示方法为:用矩形框表示现实世界中的实体,用菱形框表示实体间的联系,用椭圆形框表示实体和联系的属性,实体名、属性名和联系名分别写在相应框。 ABAAC ABCAA 第2章习题解答 1. 思考题 (1)在SQL Server 2008中的数据库中包含哪些对象?其中什么对象是必不可少的?其作用又是什么? 答:SQL Server 2008中的数据库对象主要包括数据库关系图、表、视图、同义词、可编程性、Service Broker、存储和安全性等。其中表对象是必不可少的。表是由行和列构成的集合,用来存储数据。 (2)SQL Server提供的系统数据库master它的作用是什么?用户可以删除和修改吗?为什么?答:master 数据库记录SQL Server 系统的所有系统级信息。主要包括实例围的元数据、端点、服务器和系统配置设置以及记录了所有其他数据库的存在、数据库文件的

数据结构第2章基础习题 作业

第二章习题 一判断题 1.线性表的逻辑顺序与存储顺序总是一致的。× 2.顺序存储的线性表可以按序号随机存取。 3.顺序表的插入和删除操作不需要付出很大的时间代价,因为每次操作平均只有近一半的元素需要移动。× 4.线性表中的元素可以是各种各样的,但同一线性表中的数据元素具有相同的特性,因此是属于同一数据对象。 5.在线性表的顺序存储结构中,逻辑上相邻的两个元素在物理位置上并不一定紧邻。× 6.在线性表的链式存储结构中,逻辑上相邻的元素在物理位置上不一定相邻。 7.线性表的链式存储结构优于顺序存储结构。 8.在线性表的顺序存储结构中,插入和删除时,移动元素的个数与该元素的位置有关。×9.线性表的链式存储结构是用一组任意的存储单元来存储线性表中数据元素的。 10.在单链表中,要取得某个元素,只要知道该元素的指针即可,因此,单链表是随机存取的存储结构。× 11.线性表中每个元素都有一个直接前驱和一个直接后继。(×) 12.线性表中所有元素的排列顺序必须由小到大或由小到小。(×) 13.静态链表的存储空间在可以改变大小。(×) 14.静态链表既有顺序存储结构的优点,又有动态链表的优点。所以它存取表中第i个元素的时间与i无关。(×) 15.静态链表中能容纳元素个数的最大数在定义时就确定了,以后不能增加。() 16.静态链表与动态链表的插入、删除操作类似,不需要做元素的移动。() 17.线性表的顺序存储结构优于链式结构。(×) 18.在循环单链表中,从表中任一结点出发都可以通过前后的移动操作扫描整个循环链表。(×) 19.在单链表中,可以从头结点开始查找任何一个结点。() 20.在双链表中,可以从任何一结点开始沿同一方向查找到任何其他结点。(×) 二单选题 (请从下列A,B,C,D选项中选择一项) 1.线性表是( ) 。 (A) 一个有限序列,可以为空; (B) 一个有限序列,不能为空; (C) 一个无限序列,可以为空; (D) 一个无序序列,不能为空。 ,在任何位置上插入或删除操作都是等概率的。插n.对顺序存储的线性表,设其长度为2. 入一个元素时平均要移动表中的()个元素。 (A) n/2 (B) n+1/2 (C) (n -1)/2 (D) n

实验报告答案

实验2:MIPS指令系统和MIPS体系结构 一.实验目的 (1)了解和熟悉指令级模拟器 (2)熟悉掌握MIPSsim模拟器的操作和使用方法 (3)熟悉MIPS指令系统及其特点,加深对MIPS指令操作语义的理解 (4)熟悉MIPS体系结构 二. 实验内容和步骤 首先要阅读MIPSsim模拟器的使用方法,然后了解MIPSsim的指令系统和汇编语言。(1)、启动MIPSsim(用鼠标双击MIPSsim.exe)。 (2)、选择“配置”->“流水方式”选项,使模拟器工作在非流水方式。 (3)、参照使用说明,熟悉MIPSsim模拟器的操作和使用方法。 可以先载入一个样例程序(在本模拟器所在的文件夹下的“样例程序”文件夹中),然后分别以单步执行一条指令、执行多条指令、连续执行、设置断点等的方式运行程序,观察程序的执行情况,观察CPU中寄存器和存储器的内容的变化。 (4)、选择“文件”->“载入程序”选项,加载样例程序 alltest.asm,然后查看“代码”窗口,查看程序所在的位置(起始地址为0x00000000)。 (5)、查看“寄存器”窗口PC寄存器的值:[PC]=0x00000000。 (6)、执行load和store指令,步骤如下: 1)单步执行一条指令(F7)。 2)下一条指令地址为0x00000004,是一条有 (有,无)符号载入字节 (字节,半字,字)指令。 3)单步执行一条指令(F7)。 4)查看R1的值,[R1]= 0xFFFFFFFFFFFFFF80 。 5)下一条指令地址为0x00000008,是一条有 (有,无)符号载入字 (字节,半字,字)指令。 6)单步执行1条指令。 7)查看R1的值,[R1]=0x0000000000000080 。 8)下一条指令地址为0x0000000C ,是一条无 (有,无)符号载入字节 (字节,半字,字)指令。 9)单步执行1条指令。 10)查看R1的值,[R1]= 0x0000000000000080 。 11)单步执行1条指令。 12)下一条指令地址为0x00000014 ,是一条保存字 (字节,半字,字)指令。 13)单步执行一条指令。

数据库系统原理(2018年版)课后习题参考答案解析

答案仅供参考 第一章数据库系统概述 选择题 B、B、A 简答题 1.请简述数据,数据库,数据库管理系统,数据库系统的概念。 P27 数据是描述事物的记录符号,是指用物理符号记录下来的,可以鉴别的信息。 数据库即存储数据的仓库,严格意义上是指长期存储在计算机中的有组织的、可共享的数据集合。 数据库管理系统是专门用于建立和管理数据库的一套软件,介于应用程序和操作系统之间。数据库系统是指在计算机中引入数据库技术之后的系统,包括数据库、数据库管理系统及相关实用工具、应用程序、数据库管理员和用户。 2.请简述早数据库管理技术中,与人工管理、文件系统相比,数据库系统的优点。 数据共享性高 数据冗余小 易于保证数据一致性 数据独立性高 可以实施统一管理与控制 减少了应用程序开发与维护的工作量 3.请简述数据库系统的三级模式和两层映像的含义。 P31 答: 数据库的三级模式是指数据库系统是由模式、外模式和内模式三级工程的,对应了数据的三级抽象。 两层映像是指三级模式之间的映像关系,即外模式/模式映像和模式/内模式映像。 4.请简述关系模型与网状模型、层次模型的区别。 P35 使用二维表结构表示实体及实体间的联系 建立在严格的数学概念的基础上 概念单一,统一用关系表示实体和实体之间的联系,数据结构简单清晰,用户易懂易用 存取路径对用户透明,具有更高的数据独立性、更好的安全保密性。

第二章关系数据库 选择题 C、C、D 简答题 1.请简述关系数据库的基本特征。P48 答:关系数据库的基本特征是使用关系数据模型组织数据。 2.请简述什么是参照完整性约束。 P55 答:参照完整性约束是指:若属性或属性组F是基本关系R的外码,与基本关系S的主码K 相对应,则对于R中每个元组在F上的取值只允许有两种可能,要么是空值,要么与S中某个元组的主码值对应。 3.请简述关系规范化过程。 答:对于存在数据冗余、插入异常、删除异常问题的关系模式,应采取将一个关系模式分解为多个关系模式的方法进行处理。一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式,这就是所谓的规范化过程。 第三章数据库设计 选择题 B、C、C 简答题 1. 请简述数据库设计的基本步骤。 P66 需求分析设计;概念结构设计;逻辑结构设计;物理结构设计;数据库设计;数据库的运行和维护。 2. 请分别举例说明实体之间联系的三种表现情形。 P74 一对一联系:对于实体集A中的每个实体,实体集B中最多只有一个实体与之联系,反之亦然。举例:班级与班长,每个班只有一个班长,每个班长也只在一个班内任职。 一对多联系:对于实体集A中的每个实体,实体集B中有N个实体与之联系,反之,对于实体集B中的每个实体,实体集A中最多只有一个实体与之联系。举例:班级与班级成员,每个班级对应多个班级成员,每个班级成员只对应一个班级。 多对多联系:对于实体集A中的每个实体,实体集B中有N个实体与之联系,反之,对于实体集B中的每个实体,实体集A中有M个实体与之联系。举例:授课班级与任课教师,每个

(完整版)数据结构课后习题及解析第二章

第二章习题 1.描述以下三个概念的区别:头指针,头结点,首元素结点。 2.填空: (1)在顺序表中插入或删除一个元素,需要平均移动元素,具体移动的元素个数与有关。 (2)在顺序表中,逻辑上相邻的元素,其物理位置相邻。在单链表中,逻辑上相邻的元素,其物理位置相邻。 (3)在带头结点的非空单链表中,头结点的存储位置由指示,首元素结点的存储位置由指示,除首元素结点外,其它任一元素结点的存储位置由指示。3.已知L是无表头结点的单链表,且P结点既不是首元素结点,也不是尾元素结点。按要求从下列语句中选择合适的语句序列。 a. 在P结点后插入S结点的语句序列是:。 b. 在P结点前插入S结点的语句序列是:。 c. 在表首插入S结点的语句序列是:。 d. 在表尾插入S结点的语句序列是:。 供选择的语句有: (1)P->next=S; (2)P->next= P->next->next; (3)P->next= S->next; (4)S->next= P->next; (5)S->next= L; (6)S->next= NULL; (7)Q= P; (8)while(P->next!=Q) P=P->next; (9)while(P->next!=NULL) P=P->next; (10)P= Q; (11)P= L; (12)L= S; (13)L= P; 4.设线性表存于a(1:arrsize)的前elenum个分量中且递增有序。试写一算法,将X插入到线性表的适当位置上,以保持线性表的有序性。 5.写一算法,从顺序表中删除自第i个元素开始的k个元素。 6.已知线性表中的元素(整数)以值递增有序排列,并以单链表作存储结构。试写一高效算法,删除表中所有大于mink且小于maxk的元素(若表中存在这样的元素),分析你的算法的时间复杂度(注意:mink和maxk是给定的两个参变量,它们的值为任意的整数)。 7.试分别以不同的存储结构实现线性表的就地逆置算法,即在原表的存储空间将线性表(a1, a2..., an)逆置为(an, an-1,..., a1)。 (1)以一维数组作存储结构,设线性表存于a(1:arrsize)的前elenum个分量中。 (2)以单链表作存储结构。 8.假设两个按元素值递增有序排列的线性表A和B,均以单链表作为存储结构,请编写算法,将A表和B表归并成一个按元素值递减有序排列的线性表C,并要求利用原表(即A 表和B表的)结点空间存放表C。

汇编实验报告一 熟悉7种寻址方式

电子信息工程学系实验报告——适用于计算机课程课程名称:IBM-PC汇编语言程序设计 实验项目名称:熟悉7种寻址方式实验时间: 班级:姓名:学号: 一、实验目的: 掌握debug命令,熟悉7种寻址方式。 二、实验环境: ASM轻松汇编 三、实验内容: 1、上机输入以下程序: data segment x db 01,02 y db ?,? z db ?,? w dw 1234h data ends code segment main proc far assume cs:code,ds:data start: push ds xor ax,ax push ax mov ax,data mov ds,ax mov dx,1234h -----无有效地址 mov cl,ds:[0000h] -----0000h mov si,0000h mov di,0002h mov al,[si] ----0000h mov [di],al ----无有效地址 add si,1 add di,1 mov al,[si] mov [di],al mov si,0000h mov di,0000h mov al,x[si] mov y[di],al 成绩: 指导教师(签名):

add si,1 add di,1 mov al,x[si] -----0001h mov y[di],al mov si,0000h mov di,0000h mov bx,0000h mov bp,0004h mov al,[bx][si] ----0000h mov ds:[bp][di],al add si,1 add di,1 mov al,[bx][si] mov ds:[bp][di],al ret main endp code ends end start 2、写出上面汇编程序中字体为红色的指令的源操作数的寻址方式以及源操作数的有效地址。 指令寻址方式有效地址mov dx,1234h立即寻址方式无有效地址mov cl,ds:[0000h]直接寻址方式0000h mov al,[si]寄存器间接寻址方式0000h mov [di],al寄存器寻址方式无有效地址 mov al,x[si] 寄存器相对寻址方式0001h mov al,[bx][si]基址变址寻址方式0000h 画图说明数据段中变量所分配的存储空间及初始化的数据值。 14F2:0000 0001 0002 0003 0004 0005 0006 0007 01 02 01 02 00 00 34 12

数据库原理课后习题答案

第1章绪论 2 .使用数据库系统有什么好处? 答:使用数据库系统的优点是很多的,既便于数据的集中管理,控制数据冗余,提高数据的利用率和一致性,又有利于应用程序的开发和维护。 6 .数据库管理系统的主要功能有哪些? 答:( l )数据库定义功能;( 2 )数据存取功能; ( 3 )数据库运行管理;( 4 )数据库的建立和维护功能。 8 .试述概念模型的作用。 答:概念模型实际上是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。 12 .学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人各带若干研究生;每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修。请用 E 一R 图画出此学校的概念模型。 答:实体间联系如下图所示,联系-选修有一个属性:成绩。 各实体需要有属性说明,需要画出各实体的图(带属性)或在下图中直接添加实体的属性,比如:学生的属性包括学号、姓名、性别、身高、联系方式等,此略。 13 .某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。这些零件由不同的原材料制成,不同零件所用的材料可以相同。这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。请用 E 一R 图画出此工厂产品、零件、材料、仓库的概念模型。 答:各实体需要有属性,此略。 联系组成、制造、储存、存放都有属性:数量。

20 .试述数据库系统三级模式结构,这种结构的优点是什么? 答:数据库系统的三级模式结构由外模式、模式和内模式组成。 外模式,亦称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。 模式,亦称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。模式描述的是数据的全局逻辑结构。外模式涉及的是数据的局部逻辑结构,通常是模式的子集。 内模式,亦称存储模式,是数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述。 数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMs 管理,使用户能逻辑抽象地处理数据,而不必关心数据在计算机中的表示和存储。数据库系统在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像,这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。 22 .什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据库系统具有数据与程序的独立性? 答:数据与程序的逻辑独立性是指用户的的应用程序与数据库的逻辑结构是相互独立的。 数据与程序的物理独立性是指用户的的应用程序与存储在磁盘上的数据库中数据是相互独立的。 当模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式/模式的映像做相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。 当数据库的存储结构改变了,由数据库管理员对模式/内模式映像做相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性。数据库管理系统在三级模式之间提供的两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。

数据库原理及应用(第2版)习题参考答案..

第1章数据概述 一.选择题 1.下列关于数据库管理系统的说法,错误的是C A.数据库管理系统与操作系统有关,操作系统的类型决定了能够运行的数据库管理系统的类型 B.数据库管理系统对数据库文件的访问必须经过操作系统实现才能实现 C.数据库应用程序可以不经过数据库管理系统而直接读取数据库文件 D.数据库管理系统对用户隐藏了数据库文件的存放位置和文件名 2.下列关于用文件管理数据的说法,错误的是D A.用文件管理数据,难以提供应用程序对数据的独立性 B.当存储数据的文件名发生变化时,必须修改访问数据文件的应用程序 C.用文件存储数据的方式难以实现数据访问的安全控制 D.将相关的数据存储在一个文件中,有利于用户对数据进行分类,因此也可以加快用户操作数据的效率 3.下列说法中,不属于数据库管理系统特征的是C A.提供了应用程序和数据的独立性 B.所有的数据作为一个整体考虑,因此是相互关联的数据的集合 C.用户访问数据时,需要知道存储数据的文件的物理信息 D.能够保证数据库数据的可靠性,即使在存储数据的硬盘出现故障时,也能防止数据丢失 5.在数据库系统中,数据库管理系统和操作系统之间的关系是D A.相互调用 B.数据库管理系统调用操作系统 C.操作系统调用数据库管理系统 D.并发运行 6.数据库系统的物理独立性是指D A.不会因为数据的变化而影响应用程序 B.不会因为数据存储结构的变化而影响应用程序 C.不会因为数据存储策略的变化而影响数据的存储结构 D.不会因为数据逻辑结构的变化而影响应用程序 7.数据库管理系统是数据库系统的核心,它负责有效地组织、存储和管理数据,它位于用户和操作系统之间,属于A A.系统软件B.工具软件 C.应用软件D.数据软件 8.数据库系统是由若干部分组成的。下列不属于数据库系统组成部分的是B A.数据库B.操作系统 C.应用程序D.数据库管理系统 9.下列关于客户/服务器结构和文件服务器结构的描述,错误的是D A.客户/服务器结构将数据库存储在服务器端,文件服务器结构将数据存储在客户端 B.客户/服务器结构返回给客户端的是处理后的结果数据,文件服务器结构返回给客户端的是包含客户所需数据的文件 C.客户/服务器结构比文件服务器结构的网络开销小 D.客户/服务器结构可以提供数据共享功能,而用文件服务器结构存储的数据不能共享

数据结构课程作业

数据结构课程作业_A 交卷时间:2017-08-09 10:08:51 一、单选题 1. (7分)设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置脚注(10)表示用10进制表示。 A. 688 B. 678 C. 692 D. 696 纠错 得分: 7 知识点:第五章 展开解析 答案 C 解析第五章第二节综合题目 2. (7分)若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( ) A. 1,2,3 B. 9,5,2,3 C. 9,5,3 D. 9,4,2,3 纠错 得分: 0 知识点:第九章 展开解析 答案 D 解析第九章第一节有序表的查找

(7分)设某完全无向图中有n个顶点,则该完全无向图中有()条边。 A. n(n-1)/2 B. n(n-1) C. n2 D. n2-1 纠错 得分: 7 知识点:第七章 展开解析 答案 A 解析第七章第一节综合题目 4. (7分)若在任意一棵二叉树中,有n0个叶子结点,有n2个度为2的结点,则:n0=_____ A. n2+1 B. n2-1 C. n2+2 D. n2-2 纠错 得分: 7 知识点:第六章 展开解析 答案 A 解析第六章第二节二叉树的性质 5. (7分)栈的插入和删除操作在()进行。 A. 栈顶 B. 栈底 C. 任意位置 D. 指定位置

得分: 7 知识点:第三章 展开解析 答案 A 解析第三章第一节栈的表示和实现 6. (7分)设有序表中有1000个元素,则用二分查找查找元素X最多需要比较()次。 A. 25 B. 10 C. 7 D. 1 纠错 得分: 7 知识点:第九章 展开解析 答案 B 解析第九章第一节有序表的查找 7. (7分)设某棵二叉树的高度为10,则该二叉树上叶子结点最多有()。 A. 20 B. 256 C. 512 D. 1024 纠错 得分: 7 知识点:第六章 展开解析 答案 C 解析第六章第六节二叉树的性质

汇编实验报告..

合肥工业大学计算机与信息学院 实验报告 课程:汇编语言程序设计专业班级: 学号: 姓名:

实验一Debug程序的使用 一.实验目的 1、熟悉DEBUG程序中的命令,学会在DEBUG下调试运行汇编语言源程序。 2、掌握8086/8088的寻址方式及多字节数据的处理方法。 二.实验内容 1、利用DEBUG程序中的“E”命令,将两个多字节数“003F1AE7H”和“006BE5C4H”分别送入起始地址为DS:0200H和DS:0204H两个单元中。 2、分别用直接寻址方式和寄存器间接寻址方式编写程序段,实现将DS:0200H 单元和DS:0204H单元中的数据相加,并将运算结果存放在DS:0208H单元中。要求: 本次实验的内容均在DEBUG下完成,实现数据的装入、修改、显示;汇编语言程序段的编辑、汇编和反汇编;程序的运行和结果检查。 三.实验过程和程序 1、启动DOS操作系统 2、运行https://www.wendangku.net/doc/b79127154.html,程序(若当前盘为C) C:>DEBUG↙ – ;(“–”为DEBUG提示符,仅当屏幕出现该提示符后,才可输入DEBUG命令) 3、用“A”命令编辑和汇编源程序 –A ↙ 186E:0100 MOV AX,[0200]↙ 186E:0103 MOV BX,[0202]↙ 186E:0107 ADD AX,[0204]↙ 186E:010B ADC BX,[0206]↙ 186E:010F MOV [0208],AX↙ 186E:0112 MOV [020A],BX↙ 186E:0116 ↙ 4、用“U”命令反汇编验证源程序 –U CS:0100↙ 186E:0100 A10002 MOV AX,[0200] 186E:0103 8B1E0202 MOV BX,[0202] 186E:0107 03060402 ADD AX,[0204] 186E:010B 131E0602 ADC BX,[0206] 186E:010F A30802 MOV [0208],AX 186E:0112 891E0A02 MOV [020A],BX 186E:0116 – 注意:

相关文档
相关文档 最新文档