当前位置:文档之家› 《数据结构与算法》课后习题答案

《数据结构与算法》课后习题答案

《数据结构与算法》课后习题答案
《数据结构与算法》课后习题答案

2.3 课后习题解答

2.3.2 判断题

1.线性表的逻辑顺序与存储顺序总是一致的。(×)

2.顺序存储的线性表可以按序号随机存取。(√)

3.顺序表的插入和删除操作不需要付出很大的时间代价,因为每次操作平均只有近一半的元素需要移动。(×)

4.线性表中的元素可以是各种各样的,但同一线性表中的数据元素具有相同的特性,因此属于同一数据对象。(√)

5.在线性表的顺序存储结构中,逻辑上相邻的两个元素在物理位置上并不一定相邻。(×)

6.在线性表的链式存储结构中,逻辑上相邻的元素在物理位置上不一定相邻。(√)7.线性表的链式存储结构优于顺序存储结构。(×)

8.在线性表的顺序存储结构中,插入和删除时移动元素的个数与该元素的位置有关。(√)

9.线性表的链式存储结构是用一组任意的存储单元来存储线性表中数据元素的。(√)10.在单链表中,要取得某个元素,只要知道该元素的指针即可,因此,单链表是随机存取的存储结构。(×)

11.静态链表既有顺序存储的优点,又有动态链表的优点。所以它存取表中第i个元素的时间与i无关。(×)

12.线性表的特点是每个元素都有一个前驱和一个后继。(×)

2.3.3 算法设计题

1.设线性表存放在向量A[arrsize]的前elenum个分量中,且递增有序。试写一算法,将x 插入到线性表的适当位置上,以保持线性表的有序性,并且分析算法的时间复杂度。【提示】直接用题目中所给定的数据结构(顺序存储的思想是用物理上的相邻表示逻辑上的相邻,不一定将向量和表示线性表长度的变量封装成一个结构体),因为是顺序存储,分配的存储空间是固定大小的,所以首先确定是否还有存储空间,若有,则根据原线性表中元素的有序性,来确定插入元素的插入位置,后面的元素为它让出位置,(也可以从高下标端开始一边比较,一边移位)然后插入x ,最后修改表示表长的变量。

int insert (datatype A[],int *elenum,datatype x) /*设elenum为表的最大下标*/ {if (*elenum==arrsize-1) return 0; /*表已满,无法插入*/

else {i=*elenum;

while (i>=0 && A[i]>x) /*边找位置边移动*/

{A[i+1]=A[i];

i--;

}

A[i+1]=x; /*找到的位置是插入位的下一位*/

(*elenum)++;

return 1; /*插入成功*/

}

}

时间复杂度为O(n)。

2.已知一顺序表A,其元素值非递减有序排列,编写一个算法删除顺序表中多余的值相同的元素。

【提示】对顺序表A,从第一个元素开始,查找其后与之值相同的所有元素,将它们删除;再对第二个元素做同样处理,依此类推。

void delete(Seqlist *A)

{i=0;

while(ilast) /*将第i个元素以后与其值相同的元素删除*/

{k=i+1;

while(k<=A->last&&A->data[i]==A->data[k])

k++; /*使k指向第一个与A[i]不同的元素*/ n=k-i-1; /*n表示要删除元素的个数*/

for(j=k;j<=A->last;j++)

A->data[j-n]=A->data[j]; /*删除多余元素*/

A->last= A->last -n;

i++;

}

}

3.写一个算法,从一个给定的顺序表A中删除值在x~y(x<=y)之间的所有元素,要求以较高的效率来实现。

【提示】对顺序表A,从前向后依次判断当前元素A->data[i]是否介于x和y之间,若是,并不立即删除,而是用n记录删除时应前移元素的位移量;若不是,则将A->data[i]向前移动n位。n用来记录当前已删除元素的个数。

void delete(Seqlist *A,int x,int y)

{i=0;

n=0;

while (ilast)

{if (A->data[i]>=x && A->data[i]<=y) n++; /*若A->data[i] 介于x和y之间,n自增*/

else A->data[i-n]=A->data[i]; /*否则向前移动A->data[i]*/

i++;

}

A->last-=n;

}

4.线性表中有n个元素,每个元素是一个字符,现存于向量R[n]中,试写一算法,使R中的字符按字母字符、数字字符和其它字符的顺序排列。要求利用原来的存储空间,元素移动次数最小。

【提示】对线性表进行两次扫描,第一次将所有的字母放在前面,第二次将所有的数字放在字母之后,其它字符之前。

int fch(char c) /*判断c是否字母*/

{if(c>='a'&&c<='z'||c>='A'&&c<='Z') return (1);

else return (0);

}

int fnum(char c) /*判断c是否数字*/

{if(c>='0'&&c<='9') return (1);

else return (0);

}

void process(char R[n])

{low=0;

high=n-1;

while(low

{while(low

while(low

if(low

{k=R[low];

R[low]=R[high];

R[high]=k;

}

}

low=low+1;

high=n-1;

while(low

{while(low

while(low

if(low

{k=R[low];

R[low]=R[high];

R[high]=k;

}

}

}

5.线性表用顺序存储,设计一个算法,用尽可能少的辅助存储空间将顺序表中前m个元素和后n个元素进行整体互换。即将线性表:

(a1, a2, … , a m, b1, b2, … , b n)改变为:

(b1, b2, … , b n , a1, a2, … , a m)。

【提示】比较m和n的大小,若m

void process(Seqlist *L,int m,int n)

{if(m<=n)

for(i=1;i<=m;i++)

{x=L->data[0];

for(k=1;k<=L->last;k++)

L->data[k-1]=L->data[k];

L->data[L->last]=x;

}

else for(i=1;i<=n;i++)

{x=L->data[L->last];

for(k=L->last-1;k>=0;k- -)

L->data[k+1]=L->data[k];

L->data[0]=x;

}

}

6.已知带头结点的单链表L中的结点是按整数值递增排列的,试写一算法,将值为x 的结点插入到表L中,使得L仍然递增有序,并且分析算法的时间复杂度。

LinkList insert(LinkList L, int x)

{p=L;

while(p->next && x>p->next->data)

p=p->next; /*寻找插入位置*/ s=(LNode *)malloc(sizeof(LNode)); /*申请结点空间*/

s->data=x; /*填装结点*/

s->next=p->next;

p->next=s; /*将结点插入到链表中*/

return(L);

}

7.假设有两个已排序(递增)的单链表A和B,编写算法将它们合并成一个链表C而不改变其排序性。

LinkList Combine(LinkList A, LinkList B)

{C=A;

rc=C;

pa=A->next; /*pa指向表A的第一个结点*/

pb=B->next; /*pb指向表B的第一个结点*/

free(B); /*释放B的头结点*/

while (pa && pb)/*将pa、pb所指向结点中,值较小的一个插入到链表C的表尾*/ if(pa->datadata)

{rc->next=pa;

rc=pa;

pa=pa->next;

}

else

{rc->next=pb;

rc=pb;

pb=pb->next;

}

if(pa) rc->next=pa;

else rc->next=pb; /*将链表A或B中剩余的部分链接到链表C的表尾*/

return(C);

}

8.假设长度大于1的循环单链表中,既无头结点也无头指针,p为指向该链表中某一结点的指针,编写算法删除该结点的前驱结点。

【提示】利用循环单链表的特点,通过s指针可循环找到其前驱结点p及p的前驱结点q,然后可删除结点*p。

viod delepre(LNode *s)

{LNode *p, *q;

p=s;

while (p->next!=s)

{q=p;

p=p->next;

}

q->next=s;

free(p);

}

9.已知两个单链表A和B分别表示两个集合,其元素递增排列,编写算法求出A和B 的交集C,要求C同样以元素递增的单链表形式存储。

【提示】交集指的是两个单链表的元素值相同的结点的集合,为了操作方便,先让单链表C 带有一个头结点,最后将其删除掉。算法中指针p用来指向A中的当前结点,指针q用来指向B中的当前结点,将其值进行比较,两者相等时,属于交集中的一个元素,两者不等时,将其较小者跳过,继续后面的比较。

LinkList Intersect(LinkList A, LinkList B)

{LNode *q, *p, *r, *s;

LinkList C;

C= (LNode *)malloc(sizeof(LNode));

C->next=NULL;

r=C;

p=A;

q=B;

while (p && q )

if (p->datadata) p=p->next;

else if (p->data==q->data)

{s=(LNode *)malloc(sizeof(LNode));

s->data=p->data;

r->next=s;

r=s;

p=p->next;

q=q->next;

}

else q=q->next;

r->next=NULL;

C=C->next;

return C;

}

10.设有一个双向链表,每个结点中除有prior、data和next域外,还有一个访问频度freq域,在链表被起用之前,该域的值初始化为零。每当在链表进行一次Locata(L,x)运算后,令值为x的结点中的freq域增1,并调整表中结点的次序,使其按访问频度的非递增序列排列,以便使频繁访问的结点总是靠近表头。试写一个满足上述要求的Locata(L,x)算法。【提示】在定位操作的同时,需要调整链表中结点的次序:每次进行定位操作后,要查看所查找结点的freq域,将其同前面结点的freq域进行比较,同时进行结点次序的调整。typedef struct dnode

{datatype data;

int freq;

struct DLnode *prior,*next;

}DLnode,*DLinkList;

DlinkList Locate(DLinkList L, datatype x)

{p=L->next;

while(p&&p->data!=x) p=p->next; /*查找值为x的结点,使p指向它*/ if(!p) return(NULL); /*若查找失败,返回空指针*/ p->freq++; /*修改p的freq域*/ while(p->prior!=L&&p->prior->freqfreq)/*调整结点的次序*/

{k=p->prior->data;

p->prior->data=p->data;

p->data=k;

k=p->prior->freq;

p->prior->freq=p->freq;

p->freq=k;

p=p->prior;

}

return(p); /*返回找到的结点的地址*/

}

3.3 课后习题解答##

3.3.1 选择题

1.向一个栈顶指针为Top的链栈中插入一个p所指结点时,其操作步骤为(C)。

A.Top->next=p; B.p->next=Top->next;Top->next=p;

C.p->next=Top;Top=p; D.p->next=Top;Top=Top->next;

2.对于栈操作数据的原则是(B)。

A.先进先出B.后进先出C.后进后出D.不分顺序

3.若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,p N,若p N是n,则p i是(D)。

A.i B.n-i C.n-i+1 D.不确定

4.表达式a*(b-c)+d的后缀表达式是(B)。

A.abcd*-+ B.abc-*d+ C.abc*-d+ D.+-*abcd

5.采用顺序存储的两个栈共享空间S[1..m],top[i]代表第i个栈( i=1,2)的栈顶,栈1的底在S[1],栈2的底在S[m],则栈满的条件是(B)。

A.top[2]-top[1]|=0 B.top[1]+1=top[2]

C.top[1]+top[2]=m D.top[1]=top[2]

6.一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是(C)。

A.edcba B.decba C.dceab D.abcde

7.在一个链队列中,若f,r分别为队首、队尾指针,则插入s所指结点的操作为(B)。

A.f->next=r;f=s; B.r->next=s;r=s;

C.s->next=r;r=s; D.s->next=f;f=s;

8.用不带头结点的单链表存储队列时,在进行删除运算时(D)。

A.仅修改头指针B.仅修改尾指针

C.头、尾指针都要修改D.头、尾指针可能都要修改

9.递归过程或函数调用时,处理参数及返回地址,要用一种称为(C)的数据结构。

A.队列B.静态链表C.栈D.顺序表

10.栈和队都是(C)。

A.顺序存储的线性结构B.链式存储的非线性结构

C.限制存取点的线性结构D.限制存取点的非线性结构

3.3.2 判断题

1.栈和队列的存储,既可以采用顺序存储结构,又可以采用链式存储结构。(√)2.任何一个递归过程都可以转换成非递归过程。(√)

3.若输入序列为1,2,3,4,5,6,则通过一个栈可以输出序列3,2,5,6,4,1。(√)

4.通常使用队列来处理函数的调用。(×)

5.循环队列通常用指针来实现队列的头尾相接。(×)

3.3.3 简答题

1.循环队列的优点是什么?如何判别它的空和满?

循环队列的优点是能够克服“假溢满”现象。

设有循环队列sq,队满的判别条件为:

(sq->rear+1)%maxsize==sq->front;或sq->num==maxsize。

队空的判别条件为:

sq->rear==sq->front。

2.栈和队列数据结构各有什么特点,什么情况下用到栈,什么情况下用到队列?

栈和队列都是操作受限的线性表,栈的运算规则是“后进先出”,队列的运算规则是“先进先出”。栈的应用如数制转换、递归算法的实现等,队列的应用如树的层次遍历等。

3.什么是递归?递归程序有什么优缺点?

一个函数在结束本函数之前,直接或间接调用函数自身,称为递归。例如,函数f在执行中,又调用函数f自身,这称为直接递归;若函数f在执行中,调用函数g,而g在执行中,又调用函数f,这称为间接递归。在实际应用中,多为直接递归,也常简称为递归。

递归程序的优点是程序结构简单、清晰,易证明其正确性。缺点是执行中占内存空间较多,运行效率低。

4.设有编号为1,2,3,4的四辆车,顺序进入一个栈式结构的站台,试写出这四辆车开出车站的所有可能的顺序(每辆车可能入站,可能不入站,时间也可能不等)。

1234,1243,1324,1342,1432,213,2143,2314,2341,2431,3214,3241,3421,4321

4.3 课后习题解答###

4.3.1 选择题

1.下面关于串的叙述错误的是(C)。

A.串是字符的有限序列

B.串既可以采用顺序存储,也可以采用链式存储

C.空串是由空格构成的串

D.模式匹配是串的一种重要运算

2.串的长度是指(B)。

A.串中所含不同字母的个数B.串中所含字符的个数

C.串中所含不同字符的个数D.串中所含非空格字符的个数

3.已知串S=‘aaab’,其Next数组值为(A)。

A.0123 B.1123 C.1231 D.1211

4.二维数组M的成员是6个字符(每个字符占一个存储单元)组成的串,行下标i的范围从0到8,列下标j的范围从1到10,则存放M至少需要(D)个字节;M的第8列和第5行共占(A)个字节;若M按行优先方式存储,元素M[8][5]的起始地址与当M按列优先方式存储时的(C)元素的起始地址一致。

(1)A.90 B.180 C.240 D.540

(2)A.108 B.114 C.54 D.60

(3)A.M[8][5] B.M[3][10] C.M[5][8] D.M[0][9]

5.数组A中,每个元素的存储占3个单元,行下标i从1到8,列下标j从1到10,从首地址SA开始连续存放在存储器内,存放该数组至少需要的单元个数是(C),若该数组按行存放,元素A[8][5]的起始地址是(D),若该数组按列存放,元素A[8][5]的起始地址是(B)。

(1)A.80 B.100 C.240D.270

(2)A.SA+141 B.SA+144 C.SA+222 D.SA+225

(3)A.SA+141 B.SA+180 C.SA+117 D.SA+225

6.稀疏矩阵采用压缩存储,一般有(C)两种方法。

A.二维数组和三维数组B.三元组和散列

C.三元组表和十字链表D.散列和十字链表

4.3.2 判断题

1.串相等是指两个串的长度相等。(×)

2.KMP算法的特点是在模式匹配时指示主串的指针不会变小。(√)

3.稀疏矩阵压缩存储后,必会失去随机存取功能。(√)

4.数组是线性结构的一种推广,因此与线性表一样,可以对它进行插入,删除等操作。(×)

5.若采用三元组存储稀疏矩阵,把每个元素的行下标和列下标互换,就完成了对该矩阵的转置运算。(×)

6.若一个广义表的表头为空表,则此广义表亦为空表。(×)

7.所谓取广义表的表尾就是返回广义表中最后一个元素。(×)

4.3.3 简答题

1.KMP算法较朴素的模式匹配算法有哪些改进?

KMP算法主要优点是主串指针不回溯。当主串很大不能一次读入内存且经常发生部分匹配时,KMP算法的优点更为突出。

2.设字符串S=‘aabaabaabaac',P=‘aabaac'。

(1)给出S和P的next值和nextval值;

(2)若S作主串,P作模式串,试给出利用KMP算法的匹配过程。

【解答】

(1)S的next与nextval值分别为012123456789和002002002009,p的next与nextval 值分别为012123和002003。

(2)利用BF算法的匹配过程:利用KMP算法的匹配过程:第一趟匹配:aabaabaabaac 第一趟匹配:aabaabaabaac

aabaac(i=6,j=6) aabaac(i=6,j=6)

第二趟匹配:aabaabaabaac 第二趟匹配:aabaabaabaac aa(i=3,j=2) (aa)baac

第三趟匹配:aabaabaabaac 第三趟匹配:aabaabaabaac a(i=3,j=1) (成功) (aa)baac 第四趟匹配:aabaabaabaac aabaac(i=9,j=6) 第五趟匹配:aabaabaabaac aa(i=6,j=2) 第六趟匹配:aabaabaabaac a(i=6,j=1) 第七趟匹配:aabaabaabaac

(成功) aabaac(i=13,j=7)

3.假设按行优先存储整数数组A[9][3][5][8]时,第一个元素的字节地址是100,每个整数占4个字节。问下列元素的存储地址是什么?

(1) a 0000 (2)a 1111 (3)a 3125 (4)a 8247

【解答】(1) LOC( a 0000)= 100

(2) LOC( a 1111)=100+(3*5*8*1+5*8*1+8*1+1)*4=776 (3) LOC( a 3125)=100+(3*5*8*3+5*8*1+8*2+5) *4=1784 (4) LOC( a 8247)= 100+(3*5*8*8+5*8*2+8*4+7) *4=4816 4.假设一个准对角矩阵:

按以下方式存储于一维数组B[4m]中(m 为一个整数):

写出下标转换函数k=f(i,j)。 【解答】

由题目可知,每一行有两个非0元素。

当i 为奇数时,第i 行的元素为:a i,i 、a i,(i+1),此时k=2*(i-1)+j-i=i+j-2 当i 为偶数时,第i 行的元素为:a i,(i-1)、a i,i ,此时k=2*(i-1)+j-I+1=i+j-1 综上所述,k=i+j-i%2-1。

5.设有n×n 的带宽为3的带状矩阵A ,将其3条对角线上的元素存于数组B[3][n]中,使得元素B[u][v]=a ij ,试推导出从(i,j )到 (u,v)的下标变换公式。 【解答】

u=j-i+1 v=j-1

a 11 a 12

a 21 a 22

a 33 a 34

a 43 a 44

….

a ij

a 2m-1,2m-1 a 2m-1,2m

a 2m,2m-1 a 2m,2m

6.现有如下的稀疏矩阵A (如图所示),要求画出以下各种表示方法。 (1)三元组表表示法 (2)十字链表法。

【解答】

(1)三元组表表示法:

(2)十字链表法:

0 0 0 22 0 -15 0 13 3 0 0 0 0 0 0 -6 0 0 0 0

0 0 0 91 0 0 0 0 0 0 0 28 0 0 0

0 1 2

3 4 5

7.画出下列广义表的头尾表示存储结构示意图。

(1)A=((a,b,c),d,(a,b,c))

(2)B=(a,(b,(c,d),e),f)

(1)

(2)

5.3 课后习题解答

5.3.1 选择题

1.下列说法正确的是(C)。

A.二叉树中任何一个结点的度都为2

B.二叉树的度为2

C.一棵二叉树的度可小于2

D.任何一棵二叉树中至少有一个结点的度为2

2.以二叉链表作为二叉树的存储结构,在具有n个结点的二叉链表中(n>0),空链域的个数为(C)。

A.2n-1 B.n-1 C.n+1D.2n+1

3.线索化二叉树中,某结点*p没有孩子的充要条件是(B)。

A.p->lchild=NULL B.p->ltag=1且p->rtag=1

C.p->ltag=0 D.p->lchild=NULL 且p->ltag=1

4.如果结点A有3个兄弟,而且B是A的双亲,则B的度是(B)。

A.3 B.4 C.5 D.1

5.某二叉树T有n个结点,设按某种顺序对T中的每个结点进行编号,编号值为1,2,...n。且有如下性质:T中任意结点v,其编号等于左子树上的最小编号减1,而v的右子树的结点中,其最小编号等于v左子树上结点的最大编号加1,这是按(B)编号的。

A.中序遍历序列B.先序遍历序列C.后序遍历序列D.层次顺序

6.设F是一个森林,B是由F转换得到的二叉树,F中有n个非终端结点,B中右指针域为空的结点有(C)个。

A.n-1 B.n C.n+1 D.n+2

7.一棵完全二叉树上有1001个结点,其中叶子结点的个数是(C)。

A.500 B.501 C.490 D.495

8.设森林F中有三棵树,第一,第二,第三棵树的结点个数分别为N1,N2和N3。与森林F对应的二叉树根结点的右子树上的结点个数是(D)。

A.N1 B.N1+N2 C.N2 D.N2+N3

9.任何一棵二叉树的叶结点在先序、中序、后序遍历序列中的相对次序(A)。

A.不发生改变B.发生改变C.不能确定D.以上都不对

10.若一棵二叉树的后序遍历序列为dabec,中序遍历序列为debac,则先序遍历序列为(D)。

A.cbed B.decab C.deabc D.cedba

11.若一棵二叉树的先序遍历序列为abdgcefh,中序遍历的序列为dgbaechf,则后序遍历的结果为(D)。

A.gcefha B.gdbecfha C.bdgaechf D.gdbehfca

12.一棵非空二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树一定满足(B)。

A.所有的结点均无左孩子B.所有的结点均无右孩子

C.只有一个叶子结点D.是一棵满二叉树

13.引入线索二叉树的目的是(A)。

A.加快查找结点的前驱或后继的速度

B.为了能在二叉树中方便的进行插入与删除

C.为了能方便的找到双亲

D.使二叉树的遍历结果唯一

14.设高度为h的二叉树上只有度为0和度为2的结点,则此类二叉树中所包含的结点数至少为(B)。

A.2*h B.2*h-1 C.2*h+1 D.h+1

15.一个具有567个结点的二叉树的高h为(D)。

A.9 B.10 C.9至566之间D.10至567之间

16.给一个整数集合{3,5,6,7,9},与该整数集合对应的哈夫曼树是(B)。

A.

5.3.2 判断题

1.二叉树是树的特殊形式。(√)

2.由树转换成二叉树,其根结点的右子树总是空的。(√)

3.先根遍历一棵树和先序遍历与该树对应的二叉树,其结果不同。(×)

4.先根遍历森林和先序遍历与该森林对应的二叉树,其结果不同。(×)

5.完全二叉树中,若一个结点没有左孩子,则它必是叶子。(√)

6.对于有N个结点的二叉树,其高度为?log2N?+1。(×)

7.若一个结点是某二叉树子树的中序遍历序列中的最后一个结点,则它必是该子树的

先序遍历序列中的最后一个结点。(√)

8.若一个结点是某二叉树子树的中序遍历序列中的第一个结点,则它必是该子树的后序遍历序列中的第一个结点。(√)

9.不使用递归也可实现二叉树的先序、中序和后序遍历。(√) 10.先序遍历二叉树的序列中,任何结点的子树的所有结点不一定跟在该结点之后。(×) 11.先序和中序遍历用线索树方式存储的二叉树,不必使用栈。(×)

12.在后序线索二叉树中,在任何情况下都能够很方便地找到任意结点的后继。(×) 13.哈夫曼树是带权路径长度最短的树,路径上权值较大的结点离根较近。(√) 14.在哈夫曼编码中,出现频率相同的字符编码长度也一定相同。(×) 15.用一维数组存放二叉树时,总是以先序遍历存储结点。(×) 16.由先序序列和后序序列能唯一确定一棵二叉树。(×) 17.由先序序列和中序序列能唯一确定一棵二叉树。(√) 18.对一棵二叉树进行层次遍历时,应借助于一个栈。(×)

19.完全二叉树可采用顺序存储结构实现存储,非完全二叉树则不能。(×) 20.满二叉树一定是完全二叉树,反之未必。(√)

5.3.3 简答题

1.一棵度为2的树与一棵二叉树有何区别?树与二叉树之间有何区别? 【解答】

①二叉树是有序树,度为2的树是无序树,二叉树的度不一定是2。

②二叉树是有序树,每个结点最多有两棵子树,树是无序树,且每个结点可以有多棵子树。 2.对于图1所示二叉树,试给出: (1)它的顺序存储结构示意图; (2)它的二叉链表存储结构示意图; (3)它的三叉链表存储结构示意图。 【解答】

(2)二叉链表存储结构示意图: (3)三叉链表存储结构示意图:

3.对于图2所示的树,试给出: (1)双亲数组表示法示意图; (2)孩子链表表示法示意图;

(3)孩子兄弟链表表示法示意图。 【解答】

(1)双亲数组表示法示意图: (2

(图 1)

(图 2)

(3)孩子兄弟链表表示法示意图:

4.画出图3所示的森林经转换后所对应的二叉树,并指出森林中满足什么条件的结点在二叉树中是叶子。

【解答】

在二叉树中某结点所对应的森林中结点为叶子结点的条件是该结点在森林中既没有孩

(图 3)

子也没有右兄弟结点。

5.将题

【解答】森林:

6.证明:在结点数多于1的哈夫曼树中不存在度为1的结点。 证明:

由哈夫曼树的构造过程可知,哈夫曼树的每一分支结点都是由两棵子树合并产生的新结点,其度必为2,所以哈夫曼树中不存在度为1的结点。

7.证明:若哈夫曼树中有n 个叶结点,则树中共有2n -1个结点。

证明:n 个叶结点,需经n-1次合并形成哈夫曼树,而每次合并产生一个分支结点,所以树中共有2n-1个结点。

8.证明:由二叉树的前序序列和中序序列可以唯一地确定一棵二叉树。

证明:给定二叉树结点的前序序列和对称序(中序)序列,可以唯一确定该二叉树。因为前序序列的第一个元素是根结点,该元素将二叉树中序序列分成两部分,左边(设l 个元素)表示左子树,若左边无元素,则说明左子树为空;右边(设r 个元素)是右子树,若为空,则右子树为空。根据前序遍历中“根—左子树—右子树”的顺序,则由从第二元素开始的l 个结点序列和中序序列根左边的l 个结点序列构造左子树,由前序序列最后r 个元素序列与中序序列根右边的r 个元素序列构造右子树。

9.已知一棵度为m 的树中有n 1个度为1的结点,n 2个度为2的结点,……,n m 个度为m 的结点,问该树中共有多少个叶子结点?有多少个非终端结点?

解:设树中共有n 个结点,n 0个叶结点,那么

n=n 0+n 1+…+n m (1)

树中除根结点外,每个结点对应着一个分支,而度为k 的结点发出k 个分支,所以: n=n 1+2*n 2+…+m*n m +1 (2)

由(1)、(2)可知n 0= n 2+2*n 3+3*n 4+…+(m -1)*n m +1

10.在具有n (n>1)个结点的树中,深度最小的那棵树其深度是多少?它共有多少叶子和非叶子结点?深度最大的那棵树其深度是多少?它共有多少叶子和非叶子结点?

2; n-1; 1; n; 1, n-1 11.设高度为h 的二叉树上只有度为0和度为2的结点,问该二叉树的结点数可能达到的最大值和最小值。

最大值:2h -1; 最小值:2h-1

12.求表达式: a +b*(c -d)-e/f 的波兰式(前缀式)和逆波兰式(后缀式)。 波兰式: - + a * b – c d / e f 逆波兰式:a b c d - * + e f / -

(题5图)

13.画出和下列已知序列对应的树T :

树的先根次序访问序列为:GFKDAIEBCHJ ; 树的后根访问次序为:DIAEKFCJHBG 。

【解答】对应的二叉树和树分别如下左、右图所示:

14.画出和下列已知序列对应的森林F :

森林的先根次序访问序列为:ABCDEFGHIJKL ; 森林的后根访问次序为:CBEFDGAJIKLH 。

15.画出和下列已知序列对应的树T :

二叉树的层次访问序列为:ABCDEFGHIJ ; 二叉树的中序访问次序为:DBGEHJACIF 。

【解答】

按层次遍历,第一个结点(若树不空)为根,该结点在中序序列中把序列分成左右两部分—左子树和右子树。若左子树不空,层次序列中第二个结点左子树的根;若左子树为空,则层次序列中第二个结点右子树的根。对右子树也作类似的分析。层次序列的特点是:从左到右每个结点或是当前情况下子树的根或是叶子。

16.假设用于通信的电文由字符集{a,b,c,d,e,f,g}中的字母构成。它们在电文中出现的频度分别为{0.31,0.16,0.10,0.08,0.11,0.20,0.04}, (1)为这7个字母设计哈夫曼编码。

(2)对这7个字母进行等长编码,至少需要几位二进制数?哈夫曼编码比等长编码使电文总长压缩多少?

(1)哈夫曼树:

a :10

b :110

c :010

d :1110

e :011

f :00

g :1111

(2)对这7个字母进行等长编码,至少需要3位二进制数。

等长编码的平均长度:0.31*3+0.16*3+0.10*3+0.08*3+0.11*3+0.20*3+0.04*3=3 哈夫曼编码:0.31*2+0.16*3+0.10*3+0.08*4+0.11*3+0.20*2+0.04*4=2.54 哈夫曼编码比等长编码使电文总长压缩了:1 - 2.54/3=15.33%

5.3.4 算法设计题

1.给定一棵用二叉链表表示的二叉树,其根指针为root ,试写出求二叉树结点的数目的算法。

【提示】采用递归算法实现。

int count(BiTree root)

{ if (root==NULL) r eturn (0); else

return (count(root->lchild)+count(root->rchild)+1);

} 2.请设计一个算法,要求该算法把二叉树的叶结点按从左至右的顺序链成一个单链表。二叉树按lchild-rchild 方式存储,链接时用叶结点的rchild 域存放链指针。

【提示】这是一个非常典型的基于二叉树遍历算法,通过遍历找到各个叶子结点,因为不论前序遍历、中序遍历和后序遍历,访问叶子结点的相对顺序都是相同的,即都是从左至右。而题目要求是将二叉树中的叶子结点按从左至右顺序建立一个单链表,因此,可以采用三种遍历中的任意一种方法遍历。这里使用中序递归遍历。设置前驱结点指针pre ,初始为空。第一个叶子结点由指针head 指向,遍历到叶子结点时,就将它前驱的rchild 指针指向它,最后叶子结点的rchild 为空。 LinkList head,pre=NULL; /*全局变量*/ LinkList InOrder(BiTree T)

/*中序遍历二叉树T ,将叶子结点从左到右链成一个单链表,表头指针为head*/ { if(T) { InOrder(T->lchild);

/*中序遍历左子树*/ if (T->lchild==NULL && T->rchild==NULL)

/*当前是叶子结点*/

if (pre==NULL) { head=T; pre=T; } /*处理第一个叶子结点*/ else { pre->rchild=T;

pre=T; }

/*将叶子结点链入链表*/ InOrder(T->rchild);

/*中序遍历右子树

*/

二叉树结点的数目=

当二叉树为空

左子树结点数目+右子树结点数目+1 当二叉树非空

pre->rchild=NULL ; /*设置链表尾结点*/

return(head); }

3.给定一棵用二叉链表表示的二叉树,其根指针为root ,试写出求二叉树的深度的算法。

【提示】采取递归算法。

int Height(BiTree root) { int hl,hr;

if (root==NULL) return(0); else { hl=Height(root->lchild);

hr=Height(root->rchild); if (hl>hr) return (hl+1); else return(hr+1); }

}

4.给定一棵用二叉链表表示的二叉树,其根指针为root ,试求二叉树各结点的层数。 【提示】采用先序递归遍历算法实现。

void fun (BiTree root, int n) { if (t==NULL) return;

else{ printf(―%d ‖,n);

fun(root->lchild,n+1); fun(root->rchild,n+1);

}

}

5.给定一棵用二叉链表表示的二叉树,其根指针为root ,试写出将二叉树中所有结点的左、右子树相互交换的算法。

【提示】设root 为一棵用二叉链表存储的二叉树,则交换各结点的左右子树的运算可基于后序遍历实现:交换左子树上各结点的左右子树;交换左子树上各结点的左右子树;再交换根结点的左右子树。

void Exchange(BiTree root) { BiTNode *p;

if (root)

{ Exchange(root->lchild);

Exchange(root->rchild); p=root->lchild;

root->lchild=root->rchild;

root->rchild=p; }

}

6.一棵具有n 个结点的完全二叉树采用顺序结构存储,试设计非递归算法对其进行先序遍历。

二叉树结点的层次数=

1

当结点为根结点 其双亲结点的层次数+1

当结点非根结点

【提示】二叉树的顺序存储是按完全二叉树的顺序存储格式按层次存储的,双亲结点与子女结点的下标间有确定的关系。对顺序存储结构的二叉树进行先序遍历,与二叉链表存放二叉树的遍历策略类似。但是在顺序存储结构下,判二叉树结点为空的条件为:结点下标大于n,或结点值为0(一般二叉树中的“虚结点”)。

void PreOrder (datatype data[n+1]) /*0号单元未用*/

{ int stack[n] ;

int top;

if(n<1) return;

t=1;

top=0;

while (t<=n||top>0)

{ while (t<=n&&data[t]!=0)

{ Visite(data[t]);

stack[top]=t; top++;

t=t*2; }

if (top<=0) return;

else { top--; t=stack[top];

t=t*2+1; }

}

}

7.二叉树中查找值为x的结点,试设计打印值为x 的结点的所有祖先结点算法。

【提示】对二叉树进行先序非递归遍历,查找值为x的结点。进入子树时,将子树的根压栈;从子树返回时,将栈顶元素出栈。当找到值为x的结点时,栈中存放的就是其祖先结点,依次打印各结点的值。

void PrintNode (BiTree T, datatype x)

{ Init_Stack(S); /*初始化空栈*/

p=T;

while (p|| !Empty_Stack(S)) /*若p非空,或栈非空*/

{ while (p)

{ if (p->data==x) /*若当前结点值为x,依次输出栈中元素的值*/ { while (!Empty_Stack(S))

{ Pop(S,q);

printf(q->data); }

return;

}

else{ Push_Stack(S,p);} /*若当前结点值不是x,压栈*/

p=p->lchild;

}

if(!Empty_Stack(S))

{ Pop_Stack(S,r); /*当栈非空,栈顶元素出栈,进入右子树*/

p=r->rchild; }

else return;

}

}

8.已知一棵二叉树的后序遍历序列和中序遍历序列,写出可以确定这棵二叉树的算法。【提示】根据后序遍历和中序遍历的特点,采用递归算法实现。

void InPost (char in [ ] , char post [ ] , int il , int ir, int pl, int pr, BiTree t)

/*数组in和数组post中存放着二叉树的中序遍历序列和后序遍历序列,il和ir表示中序遍历序列的左右端*/

/*点,pl和pr表示后序遍历序列的左右端点,t表示二叉树的根*/

{ t=(BiTNode *) malloc(sizeof(BiTNode));

t->data=post[pr];

m=il;

while (in[m]!=post [pr] ) m++;

if (m== il) t->lchild=NULL ;

else InPost ( in, post,il,m-1,pl,pl+m-1-il, t->lchild);

if (m==ir) t->rchild=NULL;

else InPost (in,post,m+1,ir,pr-ir+m,pr-1,t->rchild);

}

9.编写算法判断一棵二叉链表表示的二叉树是否是完全二叉树。

【提示】根据完全二叉树的定义可知,对完全二叉树按照从上到下,从左到右的次序遍历应满足:①若某结点没有左孩子,则一定无右孩子;②若某结点缺(左或右)孩子,则其所有后继一定无孩子。因此,可采用按层次遍历二叉树的方法依次对每个结点进行判断。这里增加一个标志以表示所有已扫描过的结点均有左、右孩子,将局部判断结果存入CM中,CM 表示整个二叉树是否是完全二叉树,B为1表示到目前为止所有结点均有左右孩子。

int CompleteBT(BiTree T)

{ Init_Queue(Q); /*初始化队列Q*/ B=1;

CM=1;

if (T!=NULL)

{ In_Queue(Q,T);

while(!Empty_Queue(Q)) /*当队列不为空时执行循环*/

{ p=Out_Queue(Q);

if(p->lchild==NULL)

{ B=0; /*B=0表示缺少左、右孩子*/ if(rchild!=NULL)

CM=0; /*CM=0表示不是完全二叉树*/

}

else {CM=B;

In_Queue(Q,p->lchild); /*左孩子入队列*/

if(p->rchild==NULL) B=0;

else In_Queue(Q,p->rchild); /*右孩子入队列*/

}

}

return(CM);

}

}

近代史纲要习题及答案

第三章作业及答案 一、单项选择题 1. 标志着以慈禧太后为首的清政府彻底放弃抵抗外国侵略者的事件是() A .《南京条约》的签订 B .《天津条约》的签订 C .《北京条约》的签订 D .《辛丑条约》的签订 2 .清末“预备立宪”的根本目的在于() A .仿效欧美政体 B .发展资本主义 C .延续反动统治 D .缓和阶级矛盾 3.1903年6月,()在上海《苏报》发表《驳康有为论革命书》,批驳康有为所谓“中国之可立宪,不可革命”的谬论 A.陈天华 B.邹容 C.章炳麟 D.梁启超 4.1903年邹容写的()是中国近代史上第一部宣传革命和资产阶级共和国思想的着作 A.《猛回头》 B.《警世钟》 C.《革命军》 D.《驳康有为论革命书》 5.中国近代第一个资产阶级革命的全国性政党是( ) A.强学会 B.兴中会 C.同盟会 D.国民党 6. 孙中山民权主义思想的主张是( ) A.驱除鞑虏 B.恢复中华 C.创立民国 D.平均地权 7.1905年11月,孙中山在《民报》发刊词中将中国同盟会的政治纲领概括为() A.创立民国、平均地权 B.驱除鞑虏、恢复中华、创立合众政府 C.民族主义、民权主义、民生主义 D.联俄、联共、扶助农工 8.武昌起义前同盟会领导的影响最大的武装起义是( )

A.浙皖起义 B.萍浏醴起义 C.镇南关起义 D.黄花岗起义 9.中国历史上第一部具有资产阶级共和国宪法性质的法典是() A.《钦定宪法大纲》 B.《中华民国临时约法》 C.《中华民国约法》 D.《试训政纲领》 10.南京临时政府中占领导和主体地位的派别是() A .资产阶级维新派 B .资产阶级保皇派 C .资产阶级立宪派 D .资产阶级革命派 11. 辛亥革命取得的最大成就是() A.推翻了封建帝制 B.促进了资本主义的发展 C.使人民获得了一些民主自由权利 D.打击了帝国主义的殖民势力 12.清帝被迫退位,在中国延续两千多年的封建帝制终于覆灭的时间是()。 A、1911年10月10日 B、1912年1月1日 C、1912年2月12日 D、1912年4月1日 13.中国第一次比较完全意义上的资产阶级民主革命是指()。 A、辛亥革命 B、国民革命 C、北伐战争 D、抗日战争 14.1915年,()在云南率先举起反袁护国的旗帜,发动护国战争 A.黄兴 B.段祺瑞 C.蔡锷 D.孙中山 15.资产阶级革命派开展护国运动的主要原因是 ( ) A.袁世凯指使刺杀宋教仁 B.袁世凯强迫国会选举他为正式大总统 C.袁世凯解散国会 D.袁世凯复辟帝制 16.袁世凯为复辟帝制不惜出卖主权,与日本签订了卖国的() A.中日共同防敌军事协定 B.承认外蒙自治

(完整版)微机原理课后习题参考答案

第一章 2、完成下列数制之间的转换。 (1)01011100B=92D (3)135D=10000111B (5)10110010B=262Q=B2H 3、组合型BCD码和非组合型BCD码有什么区别?写出十进制数254的组合型BCD数和非组合型数。 答:组合型BCD码用高四位和低四位分别对应十进制数的个位和十位,其表示范围是0~99;非组合型BCD码用一个字节的低四位表示十进制数,高四位则任意取值,表示范围为0~9。 组合型:254=(001001010100)BCD 非组合型:254=(00000010 00000101 00000100)BCD 7、计算机为什么采用补码形式存储数据?当计算机的字长n=16,补码的数据表示范围是多少? 答:在补码运算过程中,符号位参加运算,简化了加减法规则,且能使减法运算转化为加法运算,可以简化机器的运算器电路。+32767~ -32768。 9、设计算机字长n=8,求下列各式的[X+Y]补和[X-Y]补,并验证计算结果是否正确。 (1)X=18,Y=89 [X+Y]补=00010010+01011001=01101011B=107D 正确 [X-Y]补=10111001B=00010010+10100111=(-71D)补正确 (2)X=-23,Y=-11 [X+Y]补=11101001+11110101=11011110B=(-34D)补正确[X-Y]补=11101001+00001011=11110100B=(-12D)补正确 (3)X=18,Y=-15 [X+Y]补=00010010+11110001=00000011B=(3D)补正确 [X-Y]补=00010010+00001111=00100001B=(33D)补正确 (4)X=-18,Y=120 [X+Y]补=11101110+01111000=01100110B=(102D)补正确[X-Y]补=11101110+10001000=01110110B=(123D)补由于X-Y=-138 超出了机器数范围,因此出错了。 13、微型计算机的主要性能指标有哪些? 答:CPU字长、存储器容量、运算速度、CPU内核和IO工作电压、制造工艺、扩展能力、软件配置。 第二章 2、8086标志寄存器包含哪些标志位?试说明各标志位的作用。 答:进位标志:CF;奇偶校验:PF;辅助进位:AF;零标志:ZF;符号标志:SF;溢出标志:OF。 5、逻辑地址与物理地址有什么区别?如何将逻辑地址转换为物理地址? 答:物理地址是访问存储器的实际地址,一个存储单元对应唯一的一个物理地址。逻辑地址是对应逻辑段内的一种地址表示形式,它由段基址和段内偏移地址两部分组成,通常表示为段基址:偏移地址。 物理地址=段基址*10H+偏移地址。 6、写出下列逻辑地址的段基址、偏移地址和物理地址。 (1)2314H:0035H (2)1FD0H:000AH 答:(1)段基址:2314H;偏移地址:0035H;物理地址:23175H。 (2)段基址:1FD0H;偏移地址:000AH;物理地址:1FD0AH。 8、设(CS)=2025H,(IP)=0100H,则当前将要执行指令的物理地址是多少? 答:物理地址=(CS)*10H+(IP)=20350H 9、设一个16字的数据区,它的起始地址为70A0H:DDF6H(段基址:偏移地址),求这个数据区的首字单元和末字单元的物理地址。

中国近代史纲要复习题(含答案)aha

中国近代史纲要试题(含答案) 一、单项选择题 1.在维新派推动下实行“戊戌变法”的清帝是(C)。 A.咸丰皇帝 B.同治皇帝 C.光绪皇帝 D.宣统皇帝 2.最早向中国介绍西方进化论的是(A)。 A.严复 B.梁启超 C.康有为 D.谭嗣同 3.戊戌维新时期,梁启超的主要著述是(D) A.《日本变政考》 B.《仁学》 C.《新学伪经考》 D.《变法通议》 4.近代中国派遣第一批留学生是在( A )。 A.洋务运动时期 B.戊戌维新时期 C.清末“新政”时期 D.辛亥革命时期 5.洋务运动后期,洋务派官僚张之洞反复强调封建的纲常伦理不可变的著述是(A )。 A.《劝学篇》 B.《醒世恒言》 C.《盛世危言》 D.《天演论》 6.武昌起义胜利后成立湖北军政府,推举的都督是( B ) A.黄兴 B.黎元洪 C.孙中山 D.章太炎 7.清朝中央机构开始半殖民地化的标志是(A)。 A.总理衙门的建立

B.中国海关管理权被英国人控制 C.外国公使进驻北京 D.外国人代表中国去欧美办理外交 8.19世纪初,大肆向中国走私鸦片的国家是( B )。 A.美国 B.英国 C.日本 D.俄国 9.中国最早接受和宣传马克思主义的先进分子是(D) A、陈独秀 B、毛泽东 C、李达 D、李大钊 10.1894年11月喊出“振兴中华”这个时代的最强音的是( C )。 A.洪秀全 B.严复 C.孙中山 D.康有为 11.总理衙门设立时清朝在位的皇帝是(C)。 A.道光帝 B.咸丰帝 C.同治帝 D.光绪帝 12.在粉碎帝国主义列强瓜分中国的斗争中发挥了重大的历史作用的事件是(A)A.义和团运动 B.戊戌维新 C.太平天国运动 D.辛亥革命 13.标志着以慈禧太后为首的清政府已彻底放弃了抵抗外国侵略者的念头,甘为“洋人的朝廷”的不平等条约是( D ) A、《南京条约》 B、《北京条约》 C、《马关条约》 D、《辛丑条约》 14.五四新文化运动中通过白话小说抨击封建礼教的思想家是C

结构力学习题及答案(武汉大学)

结构力学习题 第2章平面体系的几何组成分析2-1~2-6 试确定图示体系的计算自由度。 题2-1图题2-2图 题2-3图题2-4图 题2-5图题2-6图 2-7~2-15 试对图示体系进行几何组成分析。若是具有多余约束的几何不变体系,则需指明多余约束的数目。

题2-7图 题2-8图题2-9图 题2-10图题2-11图 题2-12图题2-13图 题2-14图题2-15图

题2-16图题2-17图 题2-18图题2-19图 题2-20图题2-21图2-1 1 W = 2-1 9 W - = 2-3 3 W - = 2-4 2 W = - 2-5 1 = W - 2-6 4 = W - 2-7、2-8、2-12、2-16、2-17无多余约束的几何不变体系 2-9、2-10、2-15具有一个多余约束的几何不变体系 2-11具有六个多余约束的几何不变体系 2-13、2-14几何可变体系为

2-18、2-19 瞬变体系 2-20、2-21具有三个多余约束的几何不变体系 第3章静定梁和静定平面刚架的力分析3-1 试作图示静定梁的力图。 (a)(b) (c) (d) 习题3-1图 3-2 试作图示多跨静定梁的力图。 (a) (b)

(c) 习题3-2图 3-3~3-9 试作图示静定刚架的力图。 习题3-3图习题3-4图 习题3-5图习题3-6图 习题3-7图习题3-8图

习题3-9图 3-10 试判断图示静定结构的弯矩图是否正确。 (a) (b) (c) (d) 部分习题答案 3-1 (a )m kN M B ?=80(上侧受拉),kN F R QB 60=,kN F L QB 60-= (b )m kN M A ?=20(上侧受拉),m kN M B ?=40(上侧受拉),kN F R QA 5.32=, kN F L QA 20-=,kN F L QB 5.47-=,kN F R QB 20=

近代史课后习题答案

1、怎样理解鸦片战争是中国近代史的起点? 鸦片战争是中国近代史的开端,原因有四: 第一,战争后中国的社会性质发生了根本性变化,由一个落后封闭但独立自主的封建国家沦为一个半殖民地半封建社会。 第二,中国的发展方向发生变化,战前中国是一个没落的封建大国,封建制度已经腐朽,在缓慢地向资本主义社会发展;而鸦片战争后中国的民族资本主义不可能获得正常发展,中国也就不可能发展为成熟的资本主义社会,而最终选择了社会主义道路。 第三,社会主要矛盾发生变化,战前中国的主要矛盾是农民阶级与封建地主阶级的矛盾,而战后主要矛盾则包括农民阶级和地主阶级的矛盾及中华民族与外国殖民侵略者的矛盾,也就是社会主要矛盾复杂化。 第四,是革命任务发生变化,原先的革命任务是反对本国封建势力,战后则增加了反对外国殖民侵略的任务,革命的性质也由传统的农民战争转为旧民族主义革命。 2、怎样认识近代中国的主要矛盾、社会性质及其基本特征? (1)近代中国的主要矛盾 帝国主义和中华民族的矛盾;封建主义和人民大众的矛盾是近代中国的主要矛盾。 (2)社会性质:半殖民地半封建的性质。 中国社会的半殖民地半封建社会,是近代以来中国在外国资本主义势力的入侵及其与中国封建主义势力相结合的条件下,逐步形成的一种从属于资本主义世界体系的畸形的社会形态。(3)基本特征 第一,资本——帝国主义侵略势力日益成为支配中国的决定性力量。 第二,中国的封建势力日益衰败并同外国侵略势力相勾结,成为资本——帝国主义压迫、奴役中国人民的社会基础和统治支柱。 第三,中国的自然经济基础虽然遭到破坏,但是封建剥削制度的根基——封建地主的土地所有制成为中国走向近代化和民主化的严重障碍。 第四,中国新兴的民族资本主义经济虽然已经产生,但是发展很缓慢,力量很软弱,且大部分与外国资本——帝国主义和本国封建主义都有或多或少的联系。 第五,由于近代中国处于资本——帝国主义列强的争夺和间接统治之下,近代中国各地区经济、政治和文化的发展是极不平衡的,中国长期处于不统一状态。 第六,在资本——帝国主义和封建主义的双重压迫下,中国的广大人民特别是农民日益贫困化以致大批破产,过着饥寒交迫和毫无政治权力的生活。 3、如何理解近代中国的两大历史任务及其相互关系? (1)近代中国的两大历史任务: 第一,争取民族独立,人民解放;第二,实现国家富强,人民富裕。 (2)近代中国的两大历史任务的相互关系: 争取民族独立,人民解放和实现国家富强,人民富裕这两个历史任务,是互相区别又互相紧密联系的。 第一,由于腐朽的社会制度束缚着生产力的发展,阻碍着经济技术的进步,必须首先改变这种制度,争取民族独立和人民解放,才能为实现国家富强和人民富裕创造前提,开辟道路。第二,实现国家富强和人民富裕是民族独立,人民解放的最终目的和必然要求。 第一章 1、资本-帝国主义侵略给中国带来了什么?

微机原理课后习题答案

李伯成《微机原理》习题第一章 本章作业参考书目: ①薛钧义主编《微型计算机原理与应用——Intel 80X86系列》 机械工业出版社2002年2月第一版 ②陆一倩编《微型计算机原理及其应用(十六位微型机)》 哈尔滨工业大学出版社1994年8月第四版 ③王永山等编《微型计算机原理与应用》 西安电子科技大学出版社2000年9月 1.1将下列二进制数转换成十进制数: X=10010110B= 1*27+0*26+0*25+1*24+0*23+1*22+1*21 +0*21 =128D+0D+0D+16D+0D+0D+4D+2D=150D X=101101100B =1*28+0*27+1*26+1*25+0*24+1*23+1*22+0*21+0*20 =256D+0D+64D+32D+0D+16D+4D+0D=364D X=1101101B= 1*26+1*25+0*24+1*23+1*22+0*21 +1*20 =64D+32D+0D+8D+4D+0D+1D=109D 1.2 将下列二进制小数转换成十进制数: (1)X=0.00111B= 0*2-1+0*2-2+1*2-3+1*2-4+1*2-5= 0D+0D+0.125D+0.0625D+0.03125D=0.21875D (2) X=0.11011B= 1*2-1+1*2-2+0*2-3+1*2-4+1*2-5= 0.5D+0.25D+0D+0.0625D+0.03125D=0.84375D (3) X=0.101101B= 1*2-1+0*2-2+1*2-3+1*2-4+0*2-5+1*2-6= 0.5D+0D+0.125D+0.0625D+0D+0.015625D=0.703125D 1.3 将下列十进制整数转换成二进制数: (1)X=254D=11111110B (2)X=1039D=10000001111B (3)X=141D=10001101B 1.4 将下列十进制小数转换成二进制数: (1)X=0.75D=0.11B (2) X=0.102 D=0.0001101B (3) X=0.6667D=0.101010101B 1.5 将下列十进制数转换成二进制数 (1) 100.25D= 0110 0100.01H (2) 680.75D= 0010 1010 1000.11B 1.6 将下列二进制数转换成十进制数 (1) X=1001101.1011B =77.6875D

《结构力学习题集》(含答案)

第三章 静定结构的位移计算 一、判断题: 1、虚位移原理等价于变形谐调条件,可用于求体系的位移。 2、按虚力原理所建立的虚功方程等价于几何方程。 3、在非荷载因素(支座移动、温度变化、材料收缩等)作用下,静定结构不产生内力,但会有位移且位移只与杆件相对刚度有关。 4、求图示梁铰C 左侧截面的转角时,其虚拟状态应取: A. ; ; B. D. C. =1 =1 5、功的互等、位移互等、反力互等和位移反力互等的四个定理仅适用于线性变形体系。 6、已知M p 、M k 图,用图乘法求位移的结果为:()/()ωω1122y y EI +。 M k M p 2 1 y 1 y 2 * * ωω ( a ) M =1 7、图a 、b 两种状态中,粱的转角?与竖向位移δ间的关系为:δ=? 。 8、图示桁架各杆E A 相同,结点A 和结点B 的竖向位移均为零。 A a a 9、图示桁架各杆EA =常数,由于荷载P 是反对称性质的,故结点B 的竖向位移等于零。 二、计算题: 10、求图示结构铰A 两侧截面的相对转角?A ,EI = 常数。 q l l l /2 11、求图示静定梁D 端的竖向位移 ?DV 。 EI = 常数 ,a = 2m 。 a a a 10kN/m 12、求图示结构E 点的竖向位移。 EI = 常数 。 l l l /3 /3 q

13、图示结构,EI=常数 ,M =?90kN m , P = 30kN 。求D 点的竖向位移。 P 3m 3m 3m 14、求图示刚架B 端的竖向位移。 q 15、求图示刚架结点C 的转角和水平位移,EI = 常数 。 q 16、求图示刚架中D点的竖向位移。EI = 常数 。 l/2 17、求图示刚架横梁中D点的竖向位移。 EI = 常数 。 18、求图示刚架中D 点的竖向位移。 E I = 常数 。 q l l/2 19、求图示结构A、B两截面的相对转角,EI = 常数 。 l/3 l/3 20、求图示结构A 、B 两点的相对水平位移,E I = 常数。

中国近代史纲要课后习题答案

1.怎样认识近代中国的主要矛盾、社会性质及其基本特征? (1)近代中国的主要矛盾 帝国主义和中华民族的矛盾;封建主义和人民大众的矛盾是近代中国的主要矛盾。中国近代社会的两对主要矛盾是互相交织在一起的,而帝国主义和中华民族的矛盾,是最主要的矛盾。 (2)社会性质:半殖民地半封建的性质。 中国社会的半殖民地半封建社会,是近代以来中国在外国资本主义势力的入侵及其与中国封建主义势力相结合的条件下,逐步形成的一种从属于资本主义世界体系的畸形的社会形态。 鸦片战争前的中国社会是封建社会。鸦片战争以后,随着外国资本-帝国主义的入侵,中国社会性质发生了根本性变化:独立的中国逐步变成半殖民地的中国;封建的中国逐步变成半封建的中国。 (3)基本特征 第一,资本--帝国主义侵略势力不但逐步操纵了中国的财政和经济命脉,而且逐步控制了中国的政治,日益成为支配中国的决定性力量。 第二,中国的封建势力日益衰败并同外国侵略势力相勾结,成为资本--帝国主义压迫、奴役中国人民的社会基础和统治支柱。 第三,中国的自然经济基础虽然遭到破坏,但是封建剥削制度的根基--封建地主的土地所有制依然在广大地区内保持着,成为中国走向近代化和民主化的严重障碍。 第四,中国新兴的民族资本主义经济虽然已经产生,并在政治、文化生活中起了一定作用,但是在帝国主义封建主义的压迫下,他的发展很缓慢,力量很软弱,而且大部分与外国资本--帝国主义和本国封建主义都有或多或少的联系。 第五,由于近代中国处于资本--帝国主义列强的争夺和间接统治之下,近代中国各地区经济、政治和文化的发展是极不平衡的,中国长期处于不统一状态。 第六,在资本--帝国主义和封建主义的双重压迫下,中国的广大人民特别是农民日益贫困化以致大批破产,过着饥寒交迫和毫无政治权力的生活。 中国半殖民地半封建社会及其特征,是随着帝国主义侵略的扩大,帝国主义与中国封建势力结合的加深而逐渐形成的。 2.如何理解近代中国的两大历史任务及其相互关系? (1)近代中国的两大历史任务: 第一,争取民族独立,人民解放;第二,实现国家富强,人民富裕。 (2)近代中国的两大历史任务的相互关系: 争取民族独立,人民解放和实现国家富强,人民富裕这两个历史任务,是互相区别又互相紧

微机原理与接口技术(第二版)课后习题答案完整版

习题1 1.什么是汇编语言,汇编程序,和机器语言? 答:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。 汇编语言是面向及其的程序设计语言。在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。这种用符号代替机器语言的二进制码,就把机器语言编程了汇编语言。 使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序。 2.微型计算机系统有哪些特点?具有这些特点的根本原因是什么? 答:微型计算机的特点:功能强,可靠性高,价格低廉,适应性强、系统设计灵活,周期短、见效快,体积小、重量轻、耗电省,维护方便。 这些特点是由于微型计算机广泛采用了集成度相当高的器件和部件,建立在微细加工工艺基础之上。 3.微型计算机系统由哪些功能部件组成?试说明“存储程序控制”的概念。答:微型计算机系统的硬件主要由运算器、控制器、存储器、输入设备和输出设备组成。 “存储程序控制”的概念可简要地概括为以下几点: ①计算机(指硬件)应由运算器、存储器、控制器和输入/输出设备五大基本部件组成。 ②在计算机内部采用二进制来表示程序和数据。 ③将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作,使计算机在不需要人工干预的情况下,自动、高速的从存储器中取出指令加以执行,这就是存储程序的基本含义。 ④五大部件以运算器为中心进行组织。 4.请说明微型计算机系统的工作过程。 答:微型计算机的基本工作过程是执行程序的过程,也就是CPU自动从程序存放

的第1个存储单元起,逐步取出指令、分析指令,并根据指令规定的操作类型和操作对象,执行指令规定的相关操作。如此重复,周而复始,直至执行完程序的所有指令,从而实现程序的基本功能。 5.试说明微处理器字长的意义。 答:微型机的字长是指由微处理器内部一次可以并行处理二进制代码的位数。它决定着计算机内部寄存器、ALU和数据总线的位数,反映了一台计算机的计算精度,直接影响着机器的硬件规模和造价。计算机的字长越大,其性能越优越。在完成同样精度的运算时,字长较长的微处理器比字长较短的微处理器运算速度快。 6.微机系统中采用的总线结构有几种类型?各有什么特点? 答:微机主板常用总线有系统总线、I/O总线、ISA总线、IPCI总线、AGP总线、IEEE1394总线、USB总线等类型。 7.将下列十进制数转换成二进制数、八进制数、十六进制数。 ①(4.75) 10=(0100.11) 2 =(4.6) 8 =(4.C) 16 ②(2.25) 10=(10.01) 2 =(2.2) 8 =(2.8) 16 ③(1.875) 10=(1.111) 2 =(1.7) 8 =(1.E) 16 8.将下列二进制数转换成十进制数。 ①(1011.011) 2=(11.6) 10 ②(1101.01011) 2=(13.58) 10 ③(111.001) 2=(7.2) 10 9.将下列十进制数转换成8421BCD码。 ① 2006=(0010 0000 0000 0110) BCD ② 123.456=(0001 0010 0011.0100 0101 0110) BCD 10.求下列带符号十进制数的8位基2码补码。 ① [+127] 补 = 01111111

中国近代史纲要题库试题及答案

中国近现代史纲要题库 说明:为使学生复习方便,期末考试规范,本题库基本以章为单位设定一个代码,其中将上编综述与第一章合并,代码为A,计22题;第二章代码为B,计12题;第三章代码为C,计13题;中编综述与第四章合并,代码为D,计15题;第五章代码为E,计14题;第六章代码为F,计15题;第七章代码为G,计15题;下编综述与第八章合并,代码为H,计18题。第九章、第十章因与《毛泽东思想和中国特色社会主义理论体系概论》课程内容重叠,故略。总计124 题。 A.1、中国半殖民地半封建社会形成的原因是什么 1、外国资本主义势力入侵 2、中国封建势力的压迫 A.2、鸦片战争后中国社会发生了哪两个根本性变化 1、独立的中国逐步变成半殖民地的中国 2、封建的中国逐步变成半封建的中国 A.3、在近代,中国没有完全变成殖民地的原因是什么 1.中国长期以来一直是一个统一的大国2、中国人民的反抗3、帝国主义列强间争夺中国的矛盾无法协调 A.4、近代中国工人阶级的来源有哪些 1、城市贫民 2、手工业者 3、破产农民 A.5、中国工人阶级的优点有哪些 1、革命性最强 2、组织纪律性强 3、集中、团结 4、与广大农民有天然联系 A.6、中国资产阶级包括哪几部分 1、官僚资产阶级 2、民族资产阶级 A.7、简述中国民族资产阶级政治上的两面性 1、与外国资本主义和本国封建主义有矛盾、斗争的一面 2、与外国资本主义和本国封建主

义有依赖、妥协的一面 A.8、在近代中国社会的诸矛盾中,占支配地位的主要矛盾是什么 1、帝国主义和中华民族的矛盾 2、封建主义和人民大众的矛盾 A.9、近代以来中华民族面临的历史任务是什么 1、争取民族独立、人民解放 2、实现国家繁荣富强、人民共同富裕 A.10、为什么说鸦片战争是中国近代史的起点 1、鸦片战争前,中国是一个领土完整、主权独立的封建国家;鸦片战争后,中国逐步沦入半殖民地的地位 2、鸦片战争前,中国是一个经济上自给自足的封建国家;鸦片战争后,中国从一个完全的封建社会转变为半封建社会 3、鸦片战争前,中国社会的主要矛盾是封建主义与人民大众的矛盾;鸦片战争后资本—帝国主义和中华民族的矛盾成为中国社会的另一个主要矛盾 A.11、怎样认识近代中国的主要矛盾 1、帝国主义与中华民族的矛盾,封建主义和人民大众的矛盾,是近代中国社会的基本矛盾 2、而帝国主义与中华民族的矛盾,乃是各种矛盾中最主要的矛盾 A.12、怎样认识近代中国的社会性质 1、鸦片战争后,由于帝国主义列强的侵略,中国的社会性质逐步演变为半殖民地半封建社会 2、半殖民地,是指由于外国资本主义的侵入,使中国沦为表面上独立、实际上受帝国主义列强共同支配的半殖民地国家 3、半封建是指由于外国资本主义的侵入,中国由一个完全的封建社会变成有一定资本主义成分的半封建社会。 A.13、如何理解近代中国的两大历史任务及其相互关系 1、近代中国人民始终面临两大历史任务:一是求得民族独立和人民解放;二是实现国家的繁荣和人民的共同富裕 2、在两大历史任务中,首先必须完成的历史任务是求得民族独立和人民解放,结束半殖民地半封建社会,才能使国家繁荣富强和人民共同富裕成为可能 3、近代中国社会的两大历史任务是互相联系的。前一个任务为后一个任务扫清障碍,创造必要的前提;后一个任务是前一个任务的最终目的与必然要求 A.14、近代中国,列强对华军事侵略采取的主要方式是什么 1、发动侵略战争,屠杀中国人民 2、侵占中国领土、划分势力范围 3、勒索赔款,抢夺财富 A.15、近代中国,列强对华政治控制的主要方式是什么 1、控制中国的内政外交 2、镇压中国人民的反抗 3、扶植、收买代理人 A.16、近代中国,列强对华经济掠夺的主要手段是什么 1、控制中国通商口岸 2、剥夺中国的关税自主权 3、实行商品倾销和资本输出 4、操纵中国的经济命脉 A.17、近代中国,列强对华文化渗透主要表现是什么

结构力学课后习题答案1

习题 7-1 试确定图示结构的位移法基本未知量数目,并绘出基本结构。 (a) (b) (c) 1个角位移3个角位移,1个线位移4个角位移,3个线位移 (d) (e) (f) 3个角位移,1个线位移2个线位移3个角位移,2个线位移 (g) (h) (i) 一个角位移,一个线位移一个角位移,一个线位移三个角位移,一个线位移7-2 试回答:位移法基本未知量选取的原则是什么?为何将这些基本未知位移称为关键位移?是否可以将静定部分的结点位移也选作位移法未知量? 7-3 试说出位移法方程的物理意义,并说明位移法中是如何运用变形协调条件的。 7-4 试回答:若考虑刚架杆件的轴向变形,位移法基本未知量的数目有无变化?如何变化? 7-5 试用位移法计算图示结构,并绘出其内力图。 (a) 解:(1)确定基本未知量和基本结构 有一个角位移未知量,基本结构见图。 l 7- 32

7- 33 Z 1M 图 (2)位移法典型方程 11110 p r Z R += (3)确定系数并解方程 i ql Z ql iZ ql R i r p 24031831 ,82 12 12 111= =-∴-== (4)画M 图 M 图 (b) 解:(1)确定基本未知量 1个角位移未知量,各弯矩图如下 4m 4m 4m

7- 34 1Z =1M 图 3 EI p M 图 (2)位移法典型方程 11110 p r Z R += (3)确定系数并解方程 1115 ,35 2p r EI R ==- 15 3502 EIZ -= 114Z EI = (4)画M 图 () KN m M ?图 (c) 解:(1)确定基本未知量 一个线位移未知量,各种M 图如下 6m 6m 9m

微机原理课后答案

1.2 课后练习题 一、填空题 1.将二进制数1011011.1转换为十六进制数为__5B.8H_____。 2.将十进制数199转换为二进制数为____ 11000111____B。 3.BCD码表示的数,加减时逢__10____进一,ASCII码用来表示数值时,是一种非压缩的BCD 码。 4.十进制数36.875转换成二进制是___100100.111____________。 5.以_微型计算机____为主体,配上系统软件和外设之后,就构成了__微型计算机系统____。6.十进制数98.45转换成二进制为__1100010.0111_B、八进制__142.3463________Q、十六进制__62.7333________H。(精确到小数点后4位) 二、选择题 1.堆栈的工作方式是__B_________。 A)先进先出B)后进先出C)随机读写D)只能读出不能写入 2.八位定点补码整数的范围是____D_________。 A)-128-+128 B)-127-+127 C)-127-+128 D)-128-+127 3.字长为16位的数可表示有符号数的范围是___B___。 A)-32767-+32768 B)-32768-+32767 C)0-65535 D)-32768-+32768 三、简答题 1.微型计算机系统的基本组成? 微型计算机,系统软件,应用软件,输入输出设备 2.简述冯.诺依曼型计算机基本思想? ●将计算过程描述为由许多条指令按一定顺序组成的程序,并放入存储器保存 ●指令按其在存储器中存放的顺序执行; ●由控制器控制整个程序和数据的存取以及程序的执行; ●以运算器为核心,所有的执行都经过运算器。 3.什么是微型计算机? 微型计算机由CPU、存储器、输入/输出接口电路和系统总线构成。 4.什么是溢出? 运算结果超出了计算机所能表示的范围。 2.2 一、填空题 1. 8086/8088的基本总线周期由___4____个时钟周期组成,若CPU主频为10MHz,则一个时钟周期的时间为___0.1μs_____。 2. 在8086CPU的时序中,为满足慢速外围芯片的需要,CPU采样___READY_________信号,若未准备好,插入___TW__________时钟周期。 3. 8086系统总线形成时,须要用_____ALE__________信号锁定地址信号。 4. 对于8086微处理器,可屏蔽中断请求输入信号加在_____INTR__________引脚。

结构力学课后习题答案

习题及参考答案 【习题2】【习题3】【习题4】【习题5】【习题6】【习题8】【习题9】【习题10】【习题11】【习题12】【习题13】【习题14】【参考答案】 习题2 2-1~2-14试对图示体系进行几何组成分析,如果是具有多余联系的几何不变体系,则应指出多余联系的数目。 题2-1图 题2-2图 题2-3图题2-4图题2-5图 题2-6图题2-7图题2-8图 题2-9图题2-10图题2-11图

题2-12图 题2-13图 题2-14图 习题3 3-1 试作图示多跨静定梁的M 及Q 图。 (b) (a) 20kN 40kN 20kN/m 40kN 题3-1图 3-2 试不计算反力而绘出梁的M 图。 (b) 5kN/m 40kN (a) 题3-2图 习题4 4-1 作图示刚架的M 、Q 、N 图。 (c) (b)(a)20kN /m 2kN /m 题4-1图 4-2 作图示刚架的M 图。

P (e) (d) (a) (b) (c) 20k N /m 4kN 题4-2图 4-3 作图示三铰刚架的M 图。 (b) (a) 题4-3图 4-4 作图示刚架的M 图。 (a) 题4-4图 4-5 已知结构的M 图,试绘出荷载。 (b) (a) 题4-5图

4-6 检查下列刚架的M 图,并予以改正。 (e)(g)(h) P (d) (c)(a)(b) (f) 题4-6图 习题5 5-1 图示抛物线三铰拱轴线方程x x l l f y )(42-= ,试求D 截面的力。 题5-1图 5-2 带拉杆拱,拱轴线方程x x l l f y )(42-= ,求截面K 的弯矩。 C 题5-2图 题5-3图 5-3 试求图示带拉杆的半圆三铰拱截面K 的力。 习题 6 6-1 判定图示桁架中的零杆。

近代史纲要 上篇综述 习题及答案

上篇综述作业及答案 一、单项选择题 1.中国封建社会的基本生产结构是:() A.手工业 B.农业经济 C.工业 D.小农经济 2.19世纪初,大肆向中国走私鸦片的国家是( ) A.美国 B.英国 C.日本 D.俄国 3.中国近代史上的第一个不平等条约是:() A.《望厦条约》B.《南京条约》C.《辛丑条约》 D.《马关条约》 4.《南京条约》中割让的中国领土是:() A.香港岛 B.九龙 C.新界 D.台湾 5.第一次鸦片战争中,美国强迫清政府签订的不平等条约是() A.《黄埔条约》 B.《虎门条约》 C.《望厦条约》 D.《瑷珲条约》 6.中国近代史的起点是:() A. 第一次鸦片战争 B. 第二次鸦片战争 C. 中日甲午战争 D. 八国联军侵华战争 7. 第一次鸦片战争后,中国逐步演变为:() A. 封建主义性质的国家 B. 半殖民地半资本主义性质的国家 C. 资本主义性质的国家 D. 半殖民地半封建性质的国家 8.标志着中国半殖民地半封建社会起点的事件是() A.英国的鸦片走私 B. 林则徐的虎门禁烟 C.1840年第一次鸦片战争 D.第二次鸦片战争 9.鸦片战争后,中国社会最主要的矛盾是:() A.地主阶级和农民阶级的矛盾B.资本—帝国主义和中华民族的矛盾C.封建主义和人民大众的矛盾D.清朝统治和汉族的矛盾 10.鸦片战争前,中国社会经济中占统治地位的是:() A.商品经济B.封建经济C.半殖民地经济D.资本主义经济 11.近代中国的历史表明,要争取争得民族独立和人民解放必须首先进行:() A. 反对帝国主义侵略的斗争 B. 反帝反封建的资产阶级民主革命 C. 反对封建主义压迫的斗争 D. 反对资产阶级的社会主义革命 12.在近代中国,实现国家富强和人民富裕的前提条件是:() A. 反对帝国主义的侵略 B. 争得民族独立和人民解放 C. 推翻封建主义的统治 D. 建立资本主义制度 13.中国工人阶级最早出现于:() A.十九世纪四、五十年代 B.十九世纪六十年代 C.十九世纪六、七十年代 D.十九世纪七十年代 14.近代中国产生的新的被压迫阶级是:() A农民阶级B工人阶级C资产阶级 D民族资产阶级 15.中国的资产阶级出现于:() A.十九世纪四、五十年代 B.十九世纪六十年代 C.十九世纪六、七十年代 D.十九世纪七十年代 单项答案1. D 2.B 3. B 4. A 5. C 6. A 7.D 8. C 9. B 10. B 11.B 12. B 13. A 14. B 15. C

微机原理及接口技术课后习题答案

《微机原理与接口技术》 复习题 第1章 1.简述名词的概念:微处理器、微型计算机、微型计算机系统。 答: (1)微处理器:微处理器(Microprocessor)简称μP或MP,或CPU。CPU是采用大规模和超大规模集成电路技术将算术逻辑部件ALU(Arithmetic Logic Unit)、控制部件CU (Control Unit)和寄存器组R(Registers)等三个基本部分以及部总线集成在一块半导体芯片上构成的电子器件。 (2)微型计算机:微型计算机(Microcomputer)是指以微处理器为核心,配上由大规模集成电路制作的存储器、输入/输出接口电路及系统总线等所组成的计算机,简称微机。 (3)微型计算机系统:微型计算机系统由硬件与软件两大部分组成,分别称为硬件(Hardware)系统与软件(Software)系统。其中,硬件(Hardware)系统由CPU、存储器、各类I/O接口、相应的I/O设备以及连接各部件的地址总线、数据总线、控制总线等组成。 软件(Software)系统:计算机软件(Software)是指为运行、维护、管理、应用计算机所编制的程序及程序运行所需要的数据文档资料的总和。一般把软件划分为系统软件和应用软件。其中系统软件为计算机使用提供最基本的功能,但是并不针对某一特定应用领域。而应用软件则恰好相反,不同的应用软件根据用户和所服务的领域提供不同的功能。 2.简述名词的概念:指令寄存器、地址寄存器、标志寄存器。 答: (1)指令寄存器:指令寄存器(Instruction Register,IR)用来保存计算机当前正在执行或即将执行的指令。当一条指令被执行时,首先,CPU从存取出指令的操作码,并存入IR中,以便指令译码器进行译码分析。 (2)地址寄存器:地址寄存器(Address Register,AR)被动地接受IP传送给它的地址值(二进制地址),AR的作用是保持IP送来的地址,并且以并行方式连接输出到CPU的地址引脚上,以便CPU访问指定的存单元。 (3)标志寄存器:标志寄存器(Flags,F)是CPU中不可缺少的程序状态寄存器,因此,也称程序状态字寄存器(PSW),所谓状态是指算术或逻辑运算后,结果的状态以二进制的0或1在标志寄存器中标识出来,例如,运算结果有进位,则进位标志位CF=1,否则为0。 3.何谓IA-32处理器? 答:

中国近代史纲要试题及答案(全套).

1.简析五四运动爆发的原因 五四运动是中国近现代史上的一个划时代的事件,它是在新的时代条件和社会历史条件下发生的。第一,中国资产阶级和工人阶级的成长、壮大,为运动的爆发准备了新的社会力量。 第二,新文化运动掀起的思想解放的潮流。受到这个潮流影响的年轻一代知识界,尤其是那些具有初步共产主义思想的知识分子,为五四运动准备了最初的群众队伍和骨干力量。 第三,俄国十月革命对中国的影响。 第四,巴黎和会上中国外交的失败,激起了各阶层人民的强烈愤慨,成为五四运动的直接导火索。巴黎和平上,中国政府代表提出废除外国在华势力范围、撤退外国在华驻军等七项希望和取消日本强加的“二十一条”及换文的陈述书,遭到拒绝。和会竟规定德国应将在中国山东获得的一切特权转交给日本。消息传到国内,激起了各阶层人民的强烈愤怒。五四运动由此爆发。 2.试比较五四运动与辛亥革命的不同之处 第一,从领导力量来看,辛亥革命是资产阶级革命派领导的,由于中国资产阶级的软弱性和妥协性,不可能提出彻底的反帝反封建的革命纲领,他们对帝国主义抱有幻想。五四爱国运动是由具有初步共产主义思想的知识分子领导的,工人阶级以独立的政治力量登上历史舞台,显示了伟大力量,他们强烈地反对帝国主义分赃的巴黎和会,反对军阀政府卖国。 第二,从运动规模和群众发动的广泛性上看,辛亥革命虽有许多群众参加,但资产阶级由于阶级局限性不敢发动广大人民群众。五四爱国运动的规模是空前的,遍及了中国城乡。从卷入阶层看,工学商等都行动起来了。其规模之大,在反帝反封建斗争方面的彻底性,是前所未有的。 第三,从结果和影响看,辛亥革命虽然结束了封建君主专制制度,但被军阀袁世凯窃取了革命成果,没爱莫能助改变中国半殖民地半封建社会性质。五四运动则取得了反帝反封建的初步胜利,特别是促进了马克思主义在中国的传播,以及和中国工人运动相结合,为中国共产党的成立准备了条件。从此开始了中国新民主主义革命的新时期。 4.中国共产党成立后,中国革命呈现了哪些新面貌 中国共产党一经成立,中国革命就展现了新的面貌: 第一,第一次提出了反帝反封建的民主革命纲领,为中国人民指出了明确的斗争目标。 第二,发动工农群众开展革命斗争,在中国掀起了第一次工人运动高潮,同时,中国共产党也开始从事发动农民的工作,农民的运动蓬勃发展。 第三,实行国共合作,并在合作中发挥主导作用,掀起大革命高潮,推翻了北洋军阀的统治。5.试论中国共产党对于1924至1927年大革命的重要作用。 大革命是在国共合作的条件下进行的,在这场革命中,中国共产党起着独特的、不可替代的作用。第一,大革命是在反对帝国主义、反对军阀的政治口号下进行的,而提出这个口号的正是中国共产党。 第二,大革命是在以国共合作为基础的统一战线的组织形式下进行的。而中国共产党正是国共合作的倡导者和统一战线的组织者。 第三,大革命是近代中国历史上空前广泛而深刻的群众运动,而中国共产党正是人民群众的主要发动者和组织者。为国民革命的发展、广东战争和北伐战争的胜利奠定了群众基础。 第四,大革命的主要斗争形式是革命战争。共产党人不仅帮助和推动了国民革命军的建立,而且在军队中进行了卓有成效的政治工作,积极提高国民革命军的素质,增强它的凝聚力和战斗力;共产党员在战斗中更是身先士卒,起着先锋作用和表率作用。此外,共产党人还建立了一定数量的工农武装,配合正规军作战,而上海工人的起义武装更是充当了解放上海的主力。 中国共产党对于大革命所作出的独特的、重大的贡献,是当时人们所公认的。 1.中国的先进分子为什么和怎样选择了马克思主义? 第一,斗争实践——中国选择马克思主义是近代以来先进中国人向西方探索救国救民真理历史发展的必然结果。农民阶级、洋务派、维新派、革命派的努力先后失败。 第二,思想启蒙——五四新文化运动思想启蒙的结果;三次大论战,最终确立了马克思主义在中国革命的指导思想地位。 第三,阶级基础——五四前后工人阶级的壮大及其斗争为中国选择马克思主义提供了阶级基础和实践需求。

近代史课后题答案整理

中国近代史纲要课后习题答案 1怎样认识近代中国的主要矛盾、社会性质? (1)近代中国的主要矛盾 帝国主义和中华民族的矛盾;封建主义和人民大众的矛盾是近代中国的主要矛盾。中国近代社会的两对主要矛盾是互相交织在一起的,而帝国主义和中华民族的矛盾,是最主要的矛盾。(2)社会性质:半殖民地半封建的性质。 中国社会的半殖民地半封建社会,是近代以来中国在外国资本主义势力的入侵及其与中国封建主义势力相结合的条件下,逐步形成的一种从属于资本主义世界体系的畸形的社会形态。鸦片战争前的中国社会是封建社会。鸦片战争以后,随着外国资本-帝国主义的入侵,中国社会性质发生了根本性变化:独立的中国逐步变成半殖民地的中国;封建的中国逐步变成半封建的中国。 2.如何理解近代中国的两大历史任务及其相互关系? (1)近代中国的两大历史任务: 第一,争取民族独立,人民解放;第二,实现国家富强,人民富裕。 (2)近代中国的两大历史任务的相互关系: 争取民族独立,人民解放和实现国家富强,人民富裕这两个历史任务,是互相区别又互相紧密联系的。 第一,由于腐朽的社会制度束缚着生产力的发展,阻碍着经济技术的进步,必须首先改变这种制度,争取民族独立和人民解放,才能为实现国家富强和人民富裕创造前提,开辟道路。近代以来的历史表明,争得争取民族独立和人民解放,必须进行反帝反封建的民主革命。第二,实现国家富强和人民富裕是民族独立,人民解放的最终目的和必然要求。 第一章反对外国侵略的斗争 3.中国近代历次反侵略战争失败的根本原因是什么? 第一,近代中国社会制度的腐败是反侵略战争失败的根本原因。 在1840年以后中国逐渐沦为半殖民地半封建社会的过程中,清王朝统治者从皇帝到权贵,大都昏庸愚昧,不了解世界大势,不懂得御敌之策。由于政治腐败、经济落后和文化保守,一方面使清朝统治阶级封闭自守,妄自尊大,骄奢淫逸,盲目进攻;另一方面又使统治者和清军指挥人员在战争面前完全没有应变的能力和心态,不适应于近代战争,不少将帅贪生怕死,临阵脱逃,有的甚至出卖国家和民族的利益。清政府尤其害怕人民群众,担心人民群众动员起来会危及自身统治,所以不敢发动和依靠人民群众的力量。 清朝统治集团在对外战争中妥协退让求和投降的一系列做法,已经使他失去在中国存在的理由,不推翻他是不能取得反侵略战争胜利的。 第二,近代中国经济技术的落后是反侵略战争失败的另一个重要原因。 当时的英国已经历过工业革命,资本主义生产力获得突飞猛进的发展,而中国仍停留在封建的自然经济水平上。经济技术的落后直接造成军事装备的落后,军队指挥员不了解近代军事战术,从而造成军队素质和战斗力的低下。 经济技术落后是反侵略战争失败的重要原因,但并不表明经济技术落后就一定在反侵略战争中失败。正是因为当时的中国政府不能很好地组织反侵略战争,不能发动和利用人民群众的力量,甚至压制人民群众,其失败是不可避免的。 第二章对国家出路的早期探索 4、如何认识太平天国农民战争的意义和失败的原因、教训? (1)太平天国农民战争的意义 太平天国起义虽然失败了,但它具有不可磨灭的历史功绩和重大的历史意义。 第一,太平天国起义沉重打击了封建统治阶级,强烈震撼了清政府的统治根基,加速了清王

相关主题
文本预览
相关文档 最新文档