文档库 最新最全的文档下载
当前位置:文档库 › 第四章 串 习题及答案

第四章 串 习题及答案

第四章 串 习题及答案
第四章 串 习题及答案

第四章串习题及答案

一、基础知识题

4.1 简述下列每对术语的区别:

空串和空白串;串常量和串变量;主串和子串;静态分配的顺序串和动态分配的顺序串;目标串和模式串;有效位移和无效位移。

4.2 假设有如下的串说明:

char s1[30]="Stocktom,CA", s2[30]="March 5 1999", s3[30], *p;

(1)在执行如下的每个语句后p的值是什么?

p=stchr(s1,'t'); p=strchr(s2,'9'); p=strchr(s2,'6');

(2)在执行下列语句后,s3的值是什么?

strcpy(s3,s1); strcat(s3,","); strcat(s3,s2);

(3)调用函数strcmp(s1,s2)的返回值是什么?

(4)调用函数strcmp(&s1[5],"ton")的返回值是什么?

(5)调用函数stlen(strcat(s1,s2))的返回值是什么?

4.3 设T[0..n-1]="adaabaabcaabaa",P[0..m-1]="aab".当用模式串匹配目标串T时,请给出所有的有效位移。算法NaiveStrMatch(T,P)返回的位移是哪一个位移。

二、算法设计题:

4.4 利用C的库函数strlen,strcpy和strcat写一算法void StrInsert(char *S, char *T, int i),将串T 插入到串S的第i个位置上。若i大于S的长度,则插入不执行。

4.5 利用C的库函数strlen 和strcpy(或strncpy)写一算法void StrDelete(char *S,int i, int m)删去串S中从位置i开始的连续m个字符。若i≥strlen(S),则没有字符被删除;若i+m≥strlen(S),则将S中从位置i开始直至末尾的字符均删去。

4.6 以HString为存储表示,写一个求子串的算法。

4.7 一个文本串可用事先给定的字母映射表进行加密。例如,设字母映射表为:

a b c d e f g h i j k l m n o p q r s t u v w x y z

n g z q t c o b m u h e l k p d a w x f y i v r s j

则字符串"encrypt"被加密为"tkzwsdf".试写一算法将输入的文本串进行加密后输出;另写一算法,将输入的已加密的文本串进行解密后输出。

4.8 写一算法void StrReplace(char *T, char *P, char *S),将T中首次出现的子串P替换为串S。注意:S和P的长度不一定相等。可以使用已有的串操作。

4.9 将NaveStrMatch改写为输出目标串中所有也模式串匹配的有效位移。

*4.10 利用4.9的结果写一算法void StrReplaceAll(char *T, char *P, char *S),将T中出现的所有与P相等的不重叠子串替换为S,这里S和P的长度不一定相等。

4.11 若S和T是用结点大小为1的单链表存储的两个串,试设计一个算法找出S中第一个不在T中出现的字符。

答案:

4.1 简述下列每对术语的区别:

空串和空白串;串常量和串变量;主串和子串;静态分配的顺序串和动态分配的顺序串;目标串和模式串;有效位移和无效位移。

答:空串是指不包含任何字符的串,它的长度为零。

空白串是指包含一个或多个空格的串,空格也是字符。

串常量是指在程序中只可引用但不可改变其值的串。

串变量是可以在运行中改变其值的。

主串和子串是相对的,一个串中任意个连续字符组成的串就是这个串的子串,而包含子串的串就称为主串。

静态分配的顺序串是指串的存储空间是确定的,即串值空间的大小是静态的,在编译时刻就被确定。

动态分配的顺序串是在编译时不分配串值空间,在运行过程中用malloc和free等函数根据需要动态地分配和释放字符数组的空间(这个空间长度由分配时确定,也是顺序存储空间)。目标串和模式串:在串匹配运算过程中,将主串称为目标串,而将需要匹配的子串称为模式串,两者是相对的。

有效位移和无效位移:在串定位运算中,模式串从目标的首位开始向右位移,每一次合法位移后如果模式串与目标中相应的字符相同,则这次位移就是有效位移(也就是从此位置开始的匹配成功),反之,若有不相同的字符存在,则此次位移就是无效位移(也就是从此位置开始的匹配失败)。

4、2

解:(1) stchr(*s,c)函数的功能是查找字符c在串s中的位置,若找到,则返回该位置,否则返回NULL。

因此:

执行p=stchr(s1,'t');后p的值是指向字符t的位置, 也就是p==&s1[5]。

执行p=strchr(s2,'9');后p的值是指向s2串中第一个9所在的位置,也就是p==&s2[9]。

执行p=strchr(s2,'6');之后,p的返回值是NULL。

(2)strcpy函数功能是串拷贝,strcat函数的功能是串联接。所以:

在执行strcpy(s3,s1); 后,s3的值是"Stocktom,CA"

在执行strcat(s3,","); 后,s3的值变成"Stocktom,Ca,"

在执行完strcat(s3,s2);后,s3的值就成了"Stocktom,Ca,March 5,1999"

(3) 函数strcmp(串1,串2)的功能是串比较,按串的大小进行比较,返回大于0,等于0或小于0的值以表示串1比串2 大,串1等于串2 ,串1小于串2。因此在调用函数strcmp(s1,s2)后,返回值是大于0的数(字符比较是以ascii码值相比的)

(4) 首先,我们要知道&s1[5]是一个地址,当放在函数strcmp中时,它就表示指向以它为首地址的一个字符串,所以在strcmp( &s1[5],"ton")中,前一个字符串值是"tom,CA",用它和"ton"比较,应该是后者更大,所以返回值是小于0的数。

(5)strlen是求串长的函数,我们先将s1,s2联接起来,值是"Stocktom,CAMarch 5,1999",数一数有几个字符?是不是23个(空格也是一个)? 所以返回值是23。

4、3解:所有的有效位移i的值如下:2,5,9。

算法NaveStrMatch(T,P)的返回值是第一个有效位移,因此是2。

二、算法设计题:

4.4

解:算法如下:

void StrInsert(char *S, char *T, int i)

{

//将串T插入到串S的第i个位置上

char *Temp;

Temp=(char *)malloc(sizeof(char[Maxsize]));// 设置一个临时串

if(i<=strlen(S))

{

strcpy(Temp,&S[i]);//将第i位起以后的字符拷贝到临时串中

strcpy(&S[i], T);//将串T拷贝到串S的第i个位置处,覆盖后面的字符

strcat(S,Temp);//把临时串中的字符联接到串S后面

free( Temp );

}

}

//以下提供验证程序

#include "string.h"

#include "stdio.h"

#include "malloc.h"

#define Maxsize 50 //假设静态顺序串的空间长度为100

void StrInsert(char *S, char *T, int i);

void main()

{

char A[Maxsize]="I am a boy.";

char B[Maxsize]="very cool ";

StrInsert( A,B,7);

printf("%s",A);

}

void StrInsert(char *S, char *T, int i)

{

//将串T插入到串S的第i个位置上

char *Temp;

Temp=(char *)malloc(sizeof(char[Maxsize]));// 设置一个临时串

if(i<=strlen(S))

{

strcpy(Temp,&S[i]);//将第i位起以后的字符拷贝到临时串中

strcpy(&S[i], T);//将串T拷贝到串S的第i个位置处,覆盖后面的字符strcat(S,Temp);//把临时串中的字符联接到串S后面

}

free( Temp );

}//程序结束

4.5

解:算法如下:

void StrDelete(char *S, int i ,int m)

{ //串删除

char Temp[Maxsize];//定义一个临时串

if(i+m

{

strcpy (Temp, &S[i+m]);//把删除的字符以后的字符保存到临时串中

strcpy( &S[i],Temp);//用临时串中的字符覆盖位置i之后的字符

}

else if(i+m>=strlen(S)&& i

{

strcpy(&S[i],"\0");//把位置i的元素置为'\0',表示串结束

}

}

//以下是验证程序

#include "string.h"

#include "stdio.h"

#define Maxsize 40

void StrDelete(char *S,int i, int m);

void main()

{

char A[Maxsize]="Are you a very beautiful girl?";

StrDelete( A, 40, 10);

printf("\n%s",A);

StrDelete( A, 10,15);

printf("\n%s",A);

StrDelete( A, 7,50);

printf("\n%s\n",A);

}

void StrDelete(char *S, int i ,int m)

{

char Temp[Maxsize];//定义一个临时串

if(i+m

{

strcpy (Temp, &S[i+m]);//把删除的字符以后的字符保存到临时串中

strcpy( &S[i],Temp);//用临时串中的字符覆盖位置i之后的字符

}

else if(i+m>=strlen(S)&& i

{

strcpy(&S[i],"\0");//把位置i的元素置为'\0',表示串结束

}

}

4.6

解:HString 是指以动态分配顺序串为存储表示,其定义为:

typedef struct {

char *ch;

int length;

}HString

/*要进行这个算法设计,我们考虑到字符串是以指针的形式表示的,匹配时,用双重循环来实现,外循环用于进行合法位移(即令一指针沿目标串的元素向右移位)内循环进行字符匹配(即令两指针同时沿着目标串和模式串的元素进行移动并比较。直到第一次匹配成功或最终匹配失败。*/

char* StringMatch( HString *T, HString *P)

{ //串匹配

char *t, *p;

int m, n;

for ( m=0; m<=T->length-P->length; m++)//进行合法位移

{

t=&(T->ch[m]);//指针t指向目标串的当前字符

p=&(P->ch[0]);//指针q指向模式串的第一个字符

for (n=0 ; nlength && p[n]==t[n]; n++ );

//进行匹配,若有不同字符则进行下一次位移

if (n==P->length)

{

return &(T->ch[m]);}//返回第一次有效位移的地址

}

return NULL; //匹配失败

}

//以下是验证程序

#include "stdio.h"

#include

typedef struct {

char *ch;

int length;

}HString;

char * StringMatch( HString *T, HString *P);

void main()

{

HString A={"I am your friend.",17};

HString B={"am",2};

printf("%s\n",A.ch);

printf("%s\n",B.ch);

printf("\n%s",StringMatch( &A,&B));

}

char* StringMatch( HString *T, HString *P)

{ //串匹配

char *t, *p;

int m, n;

for ( m=0; mlength-P->length; m++)//进行合法位移

{

t=&(T->ch[m]);//指针t指向目标串的当前字符

p=&(P->ch[0]);//指针q指向模式串的第一个字符

for (n=0 ; nlength && p[n]==t[n]; n++ );

//进行匹配,若有不同字符则进行下一次位移

if (n==P->length)

{

return &(T->ch[m]);}//返回第一次有效位移的地址

}

return NULL; //匹配失败

}

4.7解:加密算法可以用两个串中字符的一一对应关系来实现,当输入一个字符时,由算法在串1中查找其位置,然后用串2中相应位置的字符去替换原来的字符就可以了。解密算法则恰恰相返。

//包括含算法的测试程序如下:

#include

#include

typedef char SeqString[27];//定义串类型

int StrMatch(SeqString , char);

void Encrypt(SeqString, SeqString , char *);

void Decipher(SeqString, SeqString ,char *);

#define Maxlen 100

//以下两句设置加密及解密映射表////

SeqString Original="abcdefghijklmnopqrstuvwxyz"; SeqString Cipher ="ngzqtcobmuhelkpdawxfyivrsj";

void main( )

{

char In[Maxlen];

printf("\nEnter a String:(len < %d)",Maxlen);

scanf("%s", &In);

Encrypt(Original, Cipher, In);

printf("\nEnter a encrypted string:(len < %d)",Maxlen);

scanf("%s",&In);

Decipher(Original, Cipher,In);

}

int StrMatch( SeqString S,char c)

{

//串匹配(子串只有一个字符)

int i;

for (i=0; i< strlen(S); i++)

{if (c==S[i]) return i;}//匹配成功,返回位置

return NULL;//映射表中没有相应字符

}

/////////////以下是题目要求的算法//////////

void Encrypt( SeqString Original, SeqString Cipher, char *T) { //加密

int i,m;

printf("\n");

for (i=0; i < strlen(T); i++)

{

m=StrMatch( Original, T[i]);

if(m!=NULL) T[i]=Cipher[m];

}

printf("%s",T);

}

void Decipher(SeqString Original , SeqString Cipher, char* T) {

//解密

int i , m ;

printf("\n");

for (i=0; i < strlen(T); i++)

{

m=StrMatch(Cipher ,T[i]);

if(m!=NULL) T[i]=Original[m];

}

printf("%s",T);

}

4.8

解:由于S和P的长度不一定相等,所以在替换时可能要移动字符元素。我们可以用到前面设计的一系列算法。

//算法如下:

void StrReplace (char *T, char *P, char *S)

{

//串替换

int i , m;

m=strlen (P);//取得子串长度

i=StrMatch(T,P);//取得串匹配位置

StrDelete( T,i,m);//删除匹配处子串

StrInsert( T, S,i);//将S串插入到匹配位置处

}

4.9

解:书中第56页有明显提示,只要把相应的返回语句改为打印输出就可找到所有匹配位置。改写后如下:

void NaveStrMatch (SeqString T, SeqString P)

{

int i,j,k;

int m=P.lenth;//模式串长度

int n=T.length;//目标串长度

for (i=0; i

{

j=0; k=i;

while(j

{

k++;j++;

}

if(j==m) printf("\n%d",i);

}//endfor

printf("Search End.");

}

4.10

解:这个算法是具有实用性的,但是做起来比较难,简单的算法应是这样的,利用4.9的算法在串T中找到一个P的匹配成功,马上进行串替换,然后从替换后的下一个位置进行匹配,直到查找完所有的有效位移或者所有合法位移考查完毕也没有匹配成功。

算法如下:

void StrReplaceAll(char *T, char *P, char *S)

{

//全部替换

int i, j, k ;

int m=strlen(P); // 串P长度

int n=strlen(T); //串T长度

int l= strlen(S);

int x=n-m;

for(i=0; i<=x; i++) //合法位移

{

j=0; k=i;

while(T[k]==P[j]) //进行匹配

{k++;j++;}

if(j==m){ //匹配成功

StrDelete( T,i,m);//删除匹配处子串

StrInsert( T, S,i);//将S串插入到匹配位置处

i+=l; //将查找位置移到替换后的下一个字符处,避免重复替换

x+=l;}//endif

}//endfor

}//end

----------------------------------------

//以下给出验证程序

#include

#include

#include

#define Maxsize 100

void StrDelete(char* , int ,int);

void StrInsert(char* , char* , int );

void StrReplaceAll(char* , char* , char* );

void main( )

{

//验证程序

char A[Maxsize]="A good boy is a good comrade.";

char B[]="good";

char C[]="very cool";

printf("The original string is: %s",A);

printf("\n%s---%s",B,C);

StrReplaceAll( A,B,C);

printf("\nThe new String is:%s",A);

}

void StrDelete(char *S, int i ,int m)

{

char Temp[Maxsize];//定义一个临时串

if(i+m

{

strcpy (Temp, &S[i+m]);//把删除的字符以后的字符保存到临时串中

strcpy( &S[i],Temp);//用临时串中的字符覆盖位置i之后的字符

}

else if(i+m>=strlen(S)&& i

{

strcpy(&S[i],"\0");//把位置i的元素置为'\0',表示串结束

}

}

void StrInsert(char *S, char *T, int i)

{

//将串T插入到串S的第i个位置上

char *Temp;

Temp=(char *)malloc(sizeof(char[Maxsize]));// 设置一个临时串

if(i<=strlen(S))

{

strcpy(Temp,&S[i]);//将第i位起以后的字符拷贝到临时串中

strcpy(&S[i], T);//将串T拷贝到串S的第i个位置处,覆盖后面的字符strcat(S,Temp);//把临时串中的字符联接到串S后面

}

free( Temp );

}

void StrReplaceAll(char *T, char *P, char *S)

{

//全部替换

int i, j, k ;

int m=strlen(P); // 串P长度

int n=strlen(T); //串T长度

int l= strlen(S);

int x=n-m;

for(i=0; i<=x; i++) //合法位移

{

j=0; k=i;

while(T[k]==P[j]) //进行匹配

{k++;j++;}

if(j==m){ //匹配成功

StrDelete( T,i,m);//删除匹配处子串

StrInsert( T, S,i);//将S串插入到匹配位置处

i+=l; //将查找位置移到替换后的下一个字符处,避免重复替换

x+=l;}//endif

}//endfor

}//end

4.11 解:查找过程是这样的,取S中的一个字符(结点),然后和T中所有的字符一一比较,直到比完仍没有相同的字符时,查找过程结束,否则再取S中下一个字符,重新进行上述过程。算法如下:

char SearchNo( LinkString S, LinkString T)

{

//查找不在T中出现的字符

LinkStrNode *p,*q;

p=S;

q=T;

while (p)

{ //取S中结点字符

while(q&&p->data!=q->data)//进行字符比较

q=q->next;

if(q==NULL)return p->data;//找到并返回字符值

q=T; //指针恢复串T的开始结点

p=p->next;

}

printf("there's no such character.");

return NULL;

}

4.11 解:查找过程是这样的,取S中的一个字符(结点),然后和T中所有的字符一一比较,直到比完仍没有相同的字符时,查找过程结束,否则再取S中下一个字符,重新进行上述过程。算法如下:

char SearchNo( LinkString S, LinkString T)

{

//查找不在T中出现的字符

LinkStrNode *p,*q;

p=S;

q=T;

while (p)

{ //取S中结点字符

while(q&&p->data!=q->data)//进行字符比较

q=q->next;

if(q==NULL)return p->data;//找到并返回字符值

q=T; //指针恢复串T的开始结点

p=p->next;

}

printf("there's no such character.");

return NULL;

}

第九章习题答案final

1、电子波有何特征?与可见光有何异同? 答:电子波得波长较短,轴对称非均匀磁场能使电子波聚焦。其波长取决于电子运动得速度与质量,电子波得波长要比可见光小5个数量级。两者都就是波,具有波粒二象性,波得大小、产生方式、聚焦方式等不同。 2、分析电磁透镜对波得聚焦原理,说明电磁透镜得结构对聚焦能力得影响。 答:原理:通电线圈产生一种轴对称不均匀分布得磁场,磁力线围绕导线呈环状。磁力线上任一点得磁感应强度B可以分解成平行于透镜主轴得分量Bz与垂直于透镜主轴得分量Br。速度为V得平行电子束进入透镜磁场时在A点处受到Br分量得作用,由右手法则,电子所受得切向力Ft得方向如下图;Ft使电子获得一个切向速度Vt,Vt与Bz分量叉乘,形成了另一个向透镜主轴靠近得径向力Fr,使电子向主轴偏转。当电子穿过线圈到达B点位置时,Br得方向改变了180度,Ft随之反向,但就是只就是减小而不改变方向,因此,穿过线圈得电子任然趋向于主轴方向靠近。结果电子作圆锥螺旋曲线近轴运动。当一束平行与主轴得入射电子束通过投射电镜时将会聚焦在轴线上一点,这就就是电磁透镜电子波得聚焦对原理。

电磁透镜得结构对电磁场有很大得影响。上图为一种实际常用得带有铁壳以及极靴得电磁透镜示意图。 1)电磁透镜中为了增强磁感应强度,通常将线圈置于一个由软磁材料(纯铁或低碳钢)制成得具有内环形间隙得壳子里,此时线圈得磁力线都集中在壳内,磁感应强度得以加强。狭缝得间隙越小,磁场强度越强,对电子得折射能力越大。 2)增加极靴后得磁线圈内得磁场强度可以有效地集中在狭缝周围几毫米得范围内,显著提高了其聚焦能力。 3、电磁透镜得像差就是怎样产生得,如何来消除或减小像差? 答:电磁透镜得像差可以分为两类:几何像差与色差。几何像差就是因为投射磁场几何形状上得缺陷造成得,色差就是由于电子波得波长或能量发生一定幅度得改变而造成得。几何像差主要指球差与像散。球差就是由于电磁透镜得中心区域与边缘区域对电子得折射能力不符合预定得规律造成得,像散就是由透镜磁场得非旋转对称引起得。 消除或减小得方法: 球差:减小孔径半角或缩小焦距均可减小球差,尤其小孔径半角可使球差明显减小。 像散:引入一个强度与方向都可以调节得矫正磁场即消像散器予以补偿。 色差:采用稳定加速电压得方法有效地较小色差。 4、说明影响光学显微镜与电磁透镜分辨率得关键因素就是什么?如何提高电磁透镜得分辨率? 答:光学显微镜得分辨本领取决于照明光源得波长。 电磁透镜得分辨率由衍射效应与球面像差来决定,球差就是限制电磁透镜分辨本领得主要因素。 若只考虑衍射效应,在照明光源与介质一定得条件下,孔径角α越大,透镜得分辨本领越

第四章-串-习题及答案.doc

第四章串习题及答案 一、基础知识题 4.1 简述下列每对术语的区别: 空串和空白串;串常量和串变量;主串和子串;静态分配的顺序串和动态分配的顺序串;目标串和模式串;有效位移和无效位移。 4.2 假设有如下的串说明: char s1[30]="Stocktom,CA", s2[30]="March 5 1999", s3[30], *p; (1)在执行如下的每个语句后p的值是什么? p=stchr(s1,'t'); p=strchr(s2,'9'); p=strchr(s2,'6'); (2)在执行下列语句后,s3的值是什么? strcpy(s3,s1); strcat(s3,","); strcat(s3,s2); (3)调用函数strcmp(s1,s2)的返回值是什么? (4)调用函数strcmp(&s1[5],"ton")的返回值是什么? (5)调用函数stlen(strcat(s1,s2))的返回值是什么? 4.3 设T[0..n-1]="adaabaabcaabaa",P[0..m-1]="aab".当用模式串匹配目标串T时,请给出所有的有效位移。算法NaiveStrMatch(T,P)返回的位移是哪一个位移。 二、算法设计题: 4.4 利用C的库函数strlen,strcpy和strcat写一算法void StrInsert(char *S, char *T, int i),将串T插入到串S的第i个位置上。若i大于S的长度,则插入不执行。 4.5 利用C的库函数strlen 和strcpy(或strncpy)写一算法void StrDelete(char *S,int i, int m)删去串S中从位置i开始的连续m个字符。若i≥strlen(S),则没有字符被删除;若i+m≥strlen(S),则将S中从位置i开始直至末尾的字符均删去。 4.6 以HString为存储表示,写一个求子串的算法。 4.7 一个文本串可用事先给定的字母映射表进行加密。例如,设字母映射表为: a b c d e f g h i j k l m n o p q r s t u v w x y z n g z q t c o b m u h e l k p d a w x f y i v r s j 则字符串"encrypt"被加密为"tkzwsdf".试写一算法将输入的文本串进行加密后输出;另写一算法,将输入的已加密的文本串进行解密后输出。 4.8 写一算法void StrReplace(char *T, char *P, char *S),将T中首次出现的子串P替换为串S。注意:S和P的长度不一定相等。可以使用已有的串操作。 4.9 将NaveStrMatch改写为输出目标串中所有也模式串匹配的有效位移。 *4.10 利用4.9的结果写一算法void StrReplaceAll(char *T, char *P, char *S),将T中出现的所有与P相等的不重叠子串替换为S,这里S和P的长度不一定相等。 4.11 若S和T是用结点大小为1的单链表存储的两个串,试设计一个算法找出S中第一个不在T中出现的字符。 答案: 4.1 简述下列每对术语的区别: 空串和空白串;串常量和串变量;主串和子串;静态分配的顺序串和动态分配的顺序串;目标串和模式串;有效位移和无效位移。 答:空串是指不包含任何字符的串,它的长度为零。 空白串是指包含一个或多个空格的串,空格也是字符。 串常量是指在程序中只可引用但不可改变其值的串。 串变量是可以在运行中改变其值的。 主串和子串是相对的,一个串中任意个连续字符组成的串就是这个串的子串,而包含子串的串就称为主串。 静态分配的顺序串是指串的存储空间是确定的,即串值空间的大小是静态的,在编译时刻就被确定。 动态分配的顺序串是在编译时不分配串值空间,在运行过程中用malloc和free等函数根据需要动态地分配和释放字符数组的空间(这个空间长度由分配时确定,也是顺序存储空间)。 目标串和模式串:在串匹配运算过程中,将主串称为目标串,而将需要匹配的子串称为模式串,两者是相对的。 有效位移和无效位移:在串定位运算中,模式串从目标的首位开始向右位移,每一次合法位移后如果模式串与目标中相应的字符相同,则这次位移就是有效位移(也就是从此位置开始的匹配成功),反之,若有不相同的字符存在,则此次位移就是无效位移(也就是从此位置开始的匹配失败)。 4、2 解:(1) stchr(*s,c)函数的效用是查找字符c在串s中的位置,若找到,则返回该位置,否则返回NULL。 因此: 执行p=stchr(s1,'t');后p的值是指向字符t的位置, 也就是p==&s1[5]。 执行p=strchr(s2,'9');后p的值是指向s2串中第一个9所在的位置,也就是p==&s2[9]。 执行p=strchr(s2,'6');之后,p的返回值是NULL。 (2)strcpy函数效用是串拷贝,strcat函数的效用是串联接。所以: 在执行strcpy(s3,s1); 后,s3的值是"Stocktom,CA" 在执行strcat(s3,","); 后,s3的值变成"Stocktom,Ca," 在执行完strcat(s3,s2);后,s3的值就成了"Stocktom,Ca,March 5,1999"

第四章课后习题答案

4-8 一个半径为r =1m ,转速为1500r/min 的飞轮,受到制动,均匀减速,经时间t =50s 后静止,求:(1)飞轮的角加速度和飞轮的角速度随时间的关系;(2)飞轮到静止这段时间内转过的转数;(3)t =25s 时飞轮边缘上一点的线速率和加速度的大小。 解 (1)由于均匀减速,所以角加速度不变为 2015000.5/6050r r s s s β-= =-? 由角速度和角加速度的关系得 25/0 t r s d dt ω ωβ=? ? 得 250.5(/)t r s ω=- (2) d d d d dt dt d d ωωθωω βθθ = == 25/r s d d θβθωω=? ? 解得 625r θ= 所以转数为625 (3)由于250.5(/)t r s ω=- 所以t=25s 时 12.5/25(/)r s rad s ωπ== 所以线速率为 25(/)v r m s ωπ== 角加速度大小不变 4-9 某电机的转速随时间的关系为ω=ω0(1-e -t/τ ),式中,ω0=s ,τ=,求:(1) t =时的转速;(2)角加速度随时间变化的规律;(3)启动6s 后转过的圈数。 解 (1)t=60s 代入得 39(1)(/)8.6/e rad s rad s ω-=-= (2)由d dt ω β= 得 2 4.5t e β- = (3)由6 d dt θθω=?? 33618e θ-=+ [/2][5.87]5n θπ===

4-10 一个圆盘绕穿过质心的轴转动,其角坐标随时间的关系为θ(t )=γt+βt 3 ,其初始转速为零,求其转速随时间变化的规律。 解 由d dt θ ω= 得 23t ωγβ=+ 由于初始时刻转速为零,γ=0 23t ωβ= 4-11 求半径为R ,高为h ,质量为m 的圆柱体绕其对称轴转动时的转动惯量。 解 建立柱坐标,取圆柱体上的一个体元,其对转轴的转动惯量为 2 222 m m dJ dV d d dz R h R h ρρρρθππ== 积分求得 23220001 2 R h m J d d dz mR R h πρρθπ= =??? 4-12一个半径为R ,密度为ρ的薄板圆盘上开了一个半径为R/2的圆孔,圆孔与盘边缘相切。求该圆盘对通过圆盘中心而与圆盘垂直的轴的转动惯量。 解:把圆孔补上,取圆盘上一面元dS ,到转轴的距离为r ,则其转动惯量为 22dJ r dS r rdrd ρρθ== 积分得绕轴转动惯量为 23410 1 2 R J r drd R π ρθπρ==? ? 圆孔部分的绕轴转动惯量可由平行轴定理得 4 422213()()()222232 R R R R J πρπρρπ=+= 总的转动惯量为 4 121332 R J J J πρ=-= 4-13电风扇在开启电源后,经过t 1时间达到额定转速ω,当关闭电源后,经过t 2时间后停止转动,已知风扇转子的转动惯量为J ,并假定摩擦力矩和电动机的电磁力矩均为常量,求电动机的电磁力矩。 解:由转动定理得

数据库应用基础第4章习题参考答案

习题 1.选择题 (1)设A、B两个数据表的记录数分别为3和4,对两个表执行交叉联接查询,查询结果中最多可获得(C )条记录。 A.3 B. 4 C. 12 D. 81 (2)如果查询的SELECT子句为SELECT A, B, C * D,则不能使用的GROUP B子句是( A )。 A.GROUP BY A B.GROUP BY A,B C.GROUP BY A,B,C*D D.GROUP BY A,B,C,D (3)关于查询语句中ORDER BY子句使用正确的是( C )。 A.如果未指定排序字段,则默认按递增排序 B.数据表的字段都可用于排序 C.如果在SELECT子句中使用了DISTINCT关键字,则排序字段必须出现在查询结果中 D.联合查询不允许使用ORDER BY子句 (4)在查询设计器中,不能与其他窗格保持同步的是(D )。 A.关系图窗格 B. 网格窗格 C.SQL窗格 D. 结果窗格 (5)下列函数中,返回值数据类型为int的是(B)。 A.LEFT B. LEN C.LTRIM D. SUNSTRING 2.填空题 (1) 在启动查询分析器时,在登录对话框中可使用(Local)作为本地服务器名称。 (2) 查询分析器窗口主要由对象浏览器和(查询)窗口组成。 (3) 从Windows“开始”菜单启动查询分析器后,默认数据库为(master)。 (4) 以表格方式显示的查询结果保存为(导出)文件,其文件扩展名为(csv);以文本方式显示的查询结果保存为(报表)文件,其文件扩展名为(rpt)。 (5) 可使用(PRINT)或(SELECT)语句来显示函数结果。 (6) 在查询语句中,应在(SELECT)子句中指定输出字段。 (7) 如果要使用SELECT语句返回指定条数的记录,则应使用(TOP)关键字来限定输出字段。 (8) 联合查询指使用(UNION)运算将多个(查询结果)合并到一起。 (9) 当一个子SELECT的结果作为查询的条件,即在一个SELECT语句的WHERE子句中出现另一个SELECT语句,这种查询称为(嵌套)查询。 (10) 连接查询可分为3种类型:(内连接)、(外连接)和交叉连接。 3.问答题 (1) 在SELECT语句中,根据列的数据对查询结果进行排序的子句是什么?能消除重复行的关键字是什么? (2) 写出与表达式“仓库号NOT IN('wh1','wh2')”功能相同的表达式。用BETWEEN、AND形式改写条件子句WHERE mark> 550 AND mark<650。 (3) 在一个包含集合函数的SELECT语句中,GROUP BY子句有哪些用途?

思修题库第二章知识分享

思修题库第二章

第二章坚定理想信念 一、单项选择题 1.人们在一定认识基础上确立的对某种思想或事物坚信不疑并身体力行的态度是( B ) A.理想B.信念C.人生观 D.价值观 2.由于成长环境和性格等方面的不同,人们会形成不同的理想信念;即使同一个人,也会形成关于社会生活不同方面的许多理想信念。这说明,理想信念具有( D ) A.片面性 B.政治性C.共同性 D.多样性 3. 一个人如果没有崇高理想或者缺乏理想,就会像一艘没有舵的船,随波逐流,难以顺利地到达彼岸。人只要有了崇高的理想,就会在黑暗中看到光明,在平凡中看到伟大,在遭受困难和挫折时能充满信心,坚持胜利。这就是理想在人生中的 ( A ) A.精神向导的指路明灯作用 B.精神支柱作用 C.精神动力作用 D.思想武器作用 4.理想的超越性表现为 ( D ) A.同一定社会的历史条件相联系 B.同一定时代的生产力发展水平相联系C.能为社会大多数人谋利益 D.来源于社会现实又高于社会现实5.“千里之行,始于足下。”理想的实现,需要每个人从我做起,从现在做起,从平凡做起。这是因为 ( C ) A.理想是人们为之奋斗的目标 B.社会实践是产生科学知识的源泉C.把理想变为现实,要靠努力奋斗,在实践中才能达到 D.有了坚定的信念,理想就会自然得到实现 6.邓小平明确指出:“为什么我们过去能在非常困难的情况下奋斗出来,战胜千难万险使革命胜利呢?就是因为我们有理想,有马克思主义信念,有共产主义信念。”邓小平的这句话意思是说( B ) A.理想信念是我们的指路明灯 B.理想信念是我们的精神支柱 C.理想信念是我们的精神动力 D.有科学和不科学的区分 7.现阶段科学的理想信念的基础是 ( B )

第四章 呼吸作用习题及答案

第四章植物呼吸作用 一、英译中(Translate) 1.respiratioin 2.aerobic respiration 3.anaerobic respiration 4.fermentation 5.pentose phosphate pathway 6.biological oxidation 7.respiratory chain 8.glycolysis 9.oxidative phosphorylation 10.Pasteur effect 11.respiratory rate 12.respiratory quotient 13.cytochrome 14.intramolecular respiration 15.protein complex 16.alternate oxidase 17.ubiquinone 18.uncoupling agent 19.temperature coefficient 二、中译英(Translate) 1.巴斯德效应 2.有氧呼吸 3.无氧呼吸 4.呼吸速率 5.呼吸商 6.已糖磷酸途径 7.生物氧化 8.电子传递链 9.细胞色素 10.化学渗透假说 11.抗氰呼吸 12.底物水平磷酸化作用

13.呼吸链 14.氧化磷酸化 15.发酵 16.分子内呼吸 17.蛋白复合体 18.交替氧化酶 19.温度系数 三、名词解释(Explain the glossary) 1.呼吸作用 2.有氧呼吸 3.糖酵解 4.三羧酸循环 5.生物氧化 6.呼吸链 7.P/O比 8.氧化磷酸化 9.巴斯德效应 10.细胞色素 11.呼吸速率 12.呼吸商 13.抗氰呼吸 14.无氧呼吸 15.ADP/O ratio 16.electron transport chain (mitochonrion) 17. oxidative phosphorylation 18. glycolysis 四、是非题(True or false) ()1.所有生物的生存都需要O2。 ()2.糖酵解途径是在线粒体内发生的。 ()3.在种子吸水后种皮未破裂之前,种子主要进行无氧呼吸。()4.戊糖磷酸途径在幼嫩组织中所占比例较大,在老年组织中所占 比例较小。

数据结构课后习题第四章

第四章串 习题4 一、选择题 1.串是一种分外的线性表,其分外性体现在()。 A.可以顺序存储 B.数据元素是一个字符 C.可以连接存储 D.数据元素可以是多个字符 2.有两个串P和Q,求P在Q中首次出现的位置的运算称为()。 A.模式匹配 B.联接 C.求子串 D.求串长 3.设S为一个长度为n的字符串,其中的字符各不相同,则S中的互异的非通俗子串(非空且例外于S本身)的个数为()。 A.n2 B.(n2/2)+(n/2) C.(n2/2)+(n/2)-1 D.(n2/2)-(n/2)-1 4.设串s1=“ABCDEFG”,s2=“PQRST”,函数concat(x,y)返回x和y串的连接串,subString(s,i,j)返回串s的从序号i的字符开始的j个字符组成的子串,Strlength(s)返回串s的长度,则concat(subString(s1,2,Strlength (s2)),subString(s1,Strlength(s2),2)))的结果串是()。 A.BCDEF B.BCDEFG C.BCPQRST D.BCDEFEF 5.顺序串中,根据空间分配方式的例外,可分为()。 A.直接分配和间接分配 B.静态分配和动态分配 C.顺序分配和链式分配 D.随机分配和不变分配 6.设串S=“abcdefgh”,则S的所有非通俗子串(除空串和S自身的串)的个数是()。

A.8 B.37 C.36 D.35 7.设主串的长度为n,模式串的长度为m,则串匹配的KMP算法时间复杂度是()。 A.O(m) B.O(n) C.O(m+n) D.O(n*m) 8.已知串S=“aaab”,其next数组值为()。 A.0123 B.1123 C.1231 D.1211 二丶填空题 1.在空串和空格串中,长度不为0的是()。 2.空格串是指(),其长度等于()。 3.按存储结构的例外,串可分为()、()和()。 4.C语言中,以字符()表示串值的终结。 5.在块链串中,为了提高存储密度,应该增大()。 6.假设每个字符占1个字节,若结点大小为4个字节的链串的存储密度为50%,则其每个指针占()个字节。 7.串操作虽然较多,但都可以通过五中基本操作()、()、()、()和()构成的最小子集中的操作来实现。 8.设串S=“Ilikecomputer.”,T=“com”,则Length(S)=(),Index(S,T,1)=()。 9.在KMP算法中,next[j]只与()串有关,而与()串无关。 10.字符串“ababaaab”的nextval函数值为()。 11.两个字符串相等的充分必要条件是()。 12.实现字符串复制的函数strcpy为:

第四章课后习题参考答案

1 数据链路(即逻辑链路)与链路(即物理链路)有何区别?“电路接通了”与“数据 链路接通了”的区别何在? 答:(1)数据链路与链路的区别在于数据链路除链路外,还必须有一些必要的通信协议来控制数据的传输。因此,数据链路比链路多了实现通信协议所需要的硬件和软件。 (2)“电路接通了”表示链路两端的结点交换机已经开机,物理连接已经能够传送比特流了。但是,数据传输并不可靠。在物理连接基础上,再建立数据链路连接,才是“数据链路接通了”。此后,由于数据链路连接具有检测、确认和重传等功能,才使不太可靠的物理链路变成可靠的数据链路,进行可靠的数据传输。当数据链路断开连接时,物理电路连接不一定跟着断开连接。 2 数据链路层中的链路控制包括哪些功能? 答:数据链路层中的链路控制包括链路管理;帧同步;流量控制;差错控制;将数据和控制信息分开;透明传输;寻址等功能。 数据链路层做成可靠的链路层的优点和缺点取决于所应用的环境:对于干扰严重的信道,可靠的链路层可以将重传范围约束在局部链路,防止全网络的传输效率受损;对于优质信道,采用可靠的链路层会增大资源开销,影响传输效率。 3数据链路层的三个基本问题(帧定界,透明传输和差错检测)为什么都必须加以解决? 答:帧定界是分组交换的必然要求;透明传输是避免二进制比特流中出现与帧定界符号相同的模式,使节点错误识别帧;差错检测是为了避免接收到错误信息和防止信道中出现的无效数据帧浪费后续路由上的传输和处理资源。 4 如果在数据链路层不进行帧定界,会发生什么问题? 答:在数据传输过程中的传输网中的结点及接收方将无法区分分组(帧),也将不能确定分组的控制域和数据域,也不能实现差错控制。 5 PPP协议的主要特点是什么?为什么PPP不使用帧的编号?PPP适用于什么情况?为什么PPP协议不能使数据链路层实现可靠传输? 答:1,PPP是面向字节的点对点通信协议,适用于线路质量不太差的情况,其主要特点:(1)协议简单,不使用序号和确认机制,也不需要流量控制;具有检错能力,但无纠错功能;只支持点到点的链路通信和和全双工链路(2)PPP规定特殊的字符为帧界定符,且在同步传输链路时,采用比特填充法,当用在异步传输时,使用字符填充法来保证数据传输的透明性; (3)PPP可同时支持链路所连接的LAN或ROUTER上运行的多种网络层协议;(4)可在多种点到点的链路上运行(串行,并行,高速,低速,电的,光的,交换的或非交换的),并可自动检测链路的工作状态,同时对不同的链路设置最大传输单元MTU(帧的有效载荷)的标准默认值;(5)提供了网络地址协议和数据压缩功能. 2,在TCP/IP协议簇中,可靠的传输由TCP协议负责,而PPP只进行检错,它是一个不可靠的传输协议,因此不需要帧的编号。 3,PPP适用于质量不太差的点对点全双工通信链路,且上层协议要保证数据传输的可靠性,如用户通过ISP连接Internet. 4,(1)PPP只提供了检错功能,当发现帧出现错误时,只是将其丢弃;(2)PPP帧没有使用序号,接收端不能通过序号确认帧的顺序和是否完全到达。 6 要发送的数据为1101011011。采用CRC的生成多项式是P(x)=x4+x+1 。试求应添加在数 据后面的余数。 数据在传输过程中最后一个1变成了0,问接收端能否发现? 若数据在传输过程中最后两个1都变成了0,问接收端能否发现? 答:添加的检验序列(冗余码)为1110 (11010110110000除以数P=10011)

《思想道德修养与法律基础》题库。。。有答案

《思想道德修养与法律基础》题库。。。有答案 绪论单选题 1、德是人才素质的( D ) A、基础 B、内容 C 、条件 D、灵魂 2 、社会主义核心价值体系包括四个方面内容:马克思主义指导思想,中国特色社会主义共同理想,以爱国主义为核心的民族精神和以改革创新为核心的时代精神,还有( C ) A、和谐相处 B 、法制观念 C 、社会主义荣辱观 D 、可持续发展 3 、思想道德素质主要包括思想政治素质和(D) A 、法律素质 B、心理素质 C 、文化素质 D 、道德素质 4、法律素质是指人们知法、守法、用法、(C )的素养和能力。 A、爱法 B、懂法 C 、护法 D、学法 5 、自主学习是一种(C)的学习,它要求同学们真正成为学习的主人。 A 、科学 B、综合 C、能动 D、自觉 6 、唐代思想家(C)有句名言:“业精于勤,荒于嬉;行成于思,毁于随。” A 、柳宗元 B 、李翱 C、韩愈 D 、刘禹锡 第一章单选题 1.一个人如果没有崇高理想或者缺乏理想,就会像一艘没有舵的船,随波逐流,难以顺利到达彼岸。这主要说明了理想是(A )。 A、人生的指路明灯 B 、人们的主观意志和想当然 C 、人们对未来缺乏客观根据的想象 D、人们对某种思想理论所抱的坚定不移的观念和真诚信服的态度

2.现阶段我国各族人民建设中国特色社会主义的共同理想和我们党建立共产主义社会的最高理想,属于人生理想中(D)。 A 、生活理想的内容B、职业理想的内容C、道德理想的内容 D 、社会理想的内容 3. 信念是( A )。 A、认识、情感和意志的融合和统一B、一种单纯的知识或想法 C 、强调的是认识的正确性D、惟一的,不是多种多样的 4 .追求崇高的理想需要坚定的信念。从本质上讲,信念表达的是一种( A ) 。 A 、主观态度B、客观知识C、实践活动D、行为准则 5.“樱桃好吃树难栽,不下功夫花不开。”理想是美好的,令人向往的,但理想不能自动实现。把理想变为现实的根本途径是(A)。 A、积极投身社会实践B、认真学习科学理论C、逐步确立坚定信念D、大胆畅想美好未来 6.下列有关人们对未来的向往和追求中,属于社会理想的是(D)。 A 、“三十亩地一头牛,老婆孩子热炕头” B 、“富贵不能淫,贫贱不能移,威武不能屈” C、谋一个适合自己的职位,干一番益于人民的事业 D 、把我国建设成为富强、民主、文明的社会主义现代化国家 7.社会主义信念是一种科学信念。这主要因为社会主义信念(C )。 A、已经为当今世界多数人所确立 B、反映了人们对美好未来的向往和追求 C、是以对人类社会发展规律的正确认识为基础的 D 、表达的是一种坚定不移的观念和坚决执行的态度 第二章单选题 1、爱国主义是调节( D )之间关系的道德要求、政治原则和法律规范。 A 、个人与个人B、个人与群体C、个人与社会D、个人与祖国 2 、爱国主义是维护祖国统一和(C)的纽带。 A 、国家主权B、领土完整C、民族团结D、骨肉同胞 3 、在经济全球化的条件下,( A )仍然是民族存在的最高组织形式,是国际社会活动中的独立主体。 A 、国家B、社会C、人民D、领土 4、(B)是民族精神的时代性体现。 A 、爱国主义B、时代精神C、爱好和平D、自强不息 5 、(C)是时代精神的核心。 A 、勤劳勇敢B、团结统一C、改革创新D、保家卫国 6、爱国主义包含着情感、思想和(D )三个基本方面。 A 、观念B、意志C、认识D、行为 7 、(C )是国家生存与发展的安全保障。 A 、爱国B、维护统一C、国防D、和平 8 、坚定的民族(A)和自豪感,是维护国家利益、促进民族进步的取之不尽、用之不竭的强大精神动力。 A、自尊心 B、团结 C、情感 D、独立

第四章习题及答案

课后习题参考答案 第四章竖曲线设计 4.3 某条道路变坡点桩号为K25+460.00,高程为780.72.m,i1=0.8%,i2=5%,竖曲线半径为5000m。(1)判断凸、凹性;(2)计算竖曲线要素;(3)计算竖曲线起点、K25+400.00、K25+460.00、K25+500.00、终点的设计高程。 解:ω=i1-i2=5%-0.8%=4.2%凹曲线 L=R?ω=5000×4.2%=210.00 m T=L/2=105.00 m E=T2/2R=1.10 m 竖曲线起点桩号:K25+460-T=K25+355.00 设计高程:780.72-105×0.8%=779.88 m K25+400: 横距:x=(K25+400)-(K25+355.00)=45m 竖距:h=x2/2R=0.20 m 切线高程:779.88+45×0.8%=780.2 m 设计高程:780.24+0.20=780.44 m K25+460:变坡点处 设计高程=变坡点高程+E=780.72+1.10=781.82 m 竖曲线终点桩号:K25+460+T=K25+565 设计高程:780.72+105×5%=785.97 m K25+500:两种方法 1、从竖曲线起点开始计算 横距:x=(K25+500)-(K25+355.00)=145m 竖距:h=x2/2R=2.10 m 切线高程(从竖曲线起点越过变坡点向前延伸):779.88+145×0.8%=781.04m 设计高程:781.04+2.10=783.14 m 2、从竖曲线终点开始计算 横距:x=(K25+565)-(K25+500)=65m 竖距:h=x2/2R=0.42 m 切线高程 (从竖曲线终点反向计算):785.97-65×5%=782.72m 或从变坡点计算:780.72+(105-65)×5%=782.72m 设计高程:782.72+0.42=783.14 m 两种方法结果相同 下图为Excel计算结果

第四章习题电子版本

第四章习题

第四章习题 一、选择题 1.在动态测试中,电桥的输出量通常采用( )。 A.电阻量 B.电压量 C.电流量 D.电感量 2.直流电桥同一桥臂增加应变片数时,电桥灵敏度将( )。 A.增大 B.减少 C.不变 D.变化不定 3.为提高电桥的灵敏度,可采取的方法是( ) A.半桥双臂各串联一片电阻应变片 B.半桥双臂各并联一片电阻应变片 C.适当提高电桥的电源电压 D.增大应变片的初始电阻值 4.为了保证实现极距变化型差动电容传感器的差动工作,传感器的两个电容应当连接成( )。 A.并联电路 B.串联电路 C.电桥电路 5.交流电桥的供桥电压频率为0f ,输出信号最高频率为m f 。它们之间的关系应满足 ( )。 A.0m f f = B.0m f f < C.0m f f ≥ D.0 m f f 7.调制可以看成是调制信号与载波信号( )。 A.相乘 B.相加 C.相减 D.相除 8.在调幅信号的解调过程中,相敏检波的作用是( )。 A.恢复载波信号 B.恢复调制信号的幅值和极性 C.恢复已调制波 D.恢复调制信号的幅值 11.要使RC 低通滤波器的通带加宽,则RC 值应( )。

A.增加 B.减少 C.不变 12.在一定条件下RC 带通滤波器实际上是低通滤波器与高通滤波器( )而成的。 A.串联 B.并联 C.串并联 D.叠加 16.滤波器的上、下截止频率为21,c c f f ,中心频率0f 则它们的关系是( )。 A.0f =1202c c f f f += C.1202 c c f f f -= 17.滤波器的—3dB 频率截止频率,是指信号幅值衰减为输入幅值的( )处的频率。 /2 D.1/2 18.重复频率为1000Hz 的方波,经过一截止频率为2000Hz 的理想低通滤波器后的输出量为( )。A.1000Hz 的失真的方波 B.1000Hz 的正弦波 C.2000Hz 的正弦波 D.不知是什么波形 19.滤波器的频率分辨力越高,则测量时的响应速度( )。 A.越快 B. 越慢 C. 不变 20.已知某倍频程滤波器的下截止频率为3000Hz ,则其上截止频率为( )Hz ,其中心频率为( )Hz 。 21.倍频程滤波器是一种( )滤波器,跟踪滤波器是一种( )滤波器。 A.高通 B.低通 C. 恒带宽 D. 恒带宽比 22.1/3倍频程滤波器是一种恒带宽比滤波器,因此当分析的频率范围越高时它的分辨率( )。 A. 越高 B.越低 C.不随分析频率的变化而变化 二、填空题

第四章课后习题参考答案

第4章网络基础知识与Internet应用一、单项选择题 二、填空题 1.局域网、城域网、广域网或LAN、MAN、WAN 2. C、A、C 3. 127.0.0.1(本机)、255.255.255.255(限制广播)、0.0.0.0(广播) 4. Electronic Commerce, EC 5.B2B、B2C 6. Instrumented:物联化 Interconnected:互联化 Intelligent:智能化 7.感知层、网络层、应用层 8.接入(网络层)、应用(业务层) 9.硬件系统、软件系统 10.不可否任性

三、简答题 1. 计算机网络发展包括四个阶段:第一,面向终端的计算机网络;第二,计算机-计算机网络;第三,开放标准网络阶段;第四,因特网与高速计算机网络阶段。各阶段的特点:第一,面向终端的计算机网络:以单个计算机为中心的远程联机系统,构成面向终端的计算机网络。第二,计算机-计算机网络:由若干个计算机互联的系统,组成了“计算机-计算机”的通信时代,呈现出多处理中心的特点。第三,开放标准网络阶段:由于第二阶段出现的计算机网络都各自独立,不相互兼容。为了使不同体系结构的计算机网络都能互联,国际标准化组织ISO提出了一个能使各种计算机在世界范围内互联成网的标准框架―开放系统互连基本参考模型OSI。第四,因特网与高速计算机网络阶段:采用高速网络技术,综合业务数字网的实现,多媒体和智能型网络的兴起。 2.TCP/IP网络使用32位长度的地址以标识一台计算机和同它相连的网络,它的格式为:IP 地址=网络地址+ 主机地址。标准IP地址是通过它的格式分类的,它有四种格式:A类、B类、C类、D类。 3. 电子商务所涵盖的业务范围包括:信息传递与交流;售前及售后服务;网上交易;网上支付或电子支付;运输;组建虚拟企业。 4. 包括banner(网幅广告)、button广告、文字链接广告、弹出式广告(pop up window)及其它形式(如移动logo、网上分类广告等)。其中banner广告是主流形式,也被认为是最有效的。 5. 国际电信联盟( ITU)对物联网做了如下定义:通过二维码识读设备、射频识别(RFID) 装置、红外感应器、全球定位系统和激光扫描器等信息传感设备,按约定的协议,把任何物品与互联网相连接,进行信息交换和通信,以实现智能化识别、定位、跟踪、监控和管理的一种网络。

串(习题)

第四章串 一、选择题 1.下面关于串的的叙述中,哪一个是不正确的()(2 分) A.串是字符的有限序列B.空串是由空格构成的串 C.模式匹配是串的一种重要运算D.串既可以采用顺序存储,也可以采用链式存储 2 若串S=‘ABCDEFG’, S2=‘9898’,S3=‘###’,S4=‘012345’,执行 concat(replace(S1,substr(S1,length(S2),length(S3)),S3),substr(S4,index(S2,‘8’),length(S2))) 其结果为()(7 分) A.ABC###G0123 B.ABCD###2345 C.ABC###G2345 D.ABC###2345 E.ABC###G1234 F.ABCD###1234 G.ABC###01234 3.设有两个串p 和q,其中q 是p 的子串,求q 在p 中首次出现的位置的算法称为()A.求子串B.联接C.匹配D.求串长(2 分) 4.已知串S=‘aaab’,其Next 数组值为()。(2 分) A.0123 B.1123 C.1231 D.1211 5.串‘ababaaababaa’的next 数组为()。 A.0 B.012121111212 C.0 D.0 6.字符串‘ababaabab’的nextval 为() A.(0,1,0,1,04,1,0,1) B.(0,1,0,1,0,2,1,0,1) C.(0,1,0,1,0,0,0,1,1) D.(0,1,0,1,0,1,0,1,1 )(2 分) 7.模式串t=‘abcaabbcabcaabdab’,该模式串的next 数组的值为(),nextval 数组的值为()。 A.0 1 1 1 2 2 1 1 1 2 3 4 5 6 7 1 2 B.0 1 1 1 2 1 2 1 1 2 3 4 5 6 1 1 2 C.0 1 1 1 0 0 1 3 1 0 1 1 0 0 7 0 1 D.0 1 1 1 2 2 3 1 1 2 3 4 5 6 7 1 2 E.0 1 1 0 0 1 1 1 0 1 1 0 0 1 7 0 1 F.0 1 1 0 2 1 3 1 0 1 1 0 2 1 7 0 1 (2 分) 8.若串S=’software’,其子串的数目是()。(2 分) A.8 B.37 C.36 D.9 9.设S 为一个长度为n 的字符串,其中的字符各不相同,则S 中的互异的非平凡子串(非空且不同于S本身)的个数为()。 A.2n-1 B.n2 C.(n2/2)+(n/2) D.(n2/2)+(n/2)-1 E. (n2/2)-(n/2)-1 F.其他情况 10.串的长度是指()(3 分) A.串中所含不同字母的个数B.串中所含字符的个数

第四章习题答案

教材习题答案 分析图电路的逻辑功能 解:(1)推导输出表达式 Y2=X2;Y1=X 1X2;Y0=(MY1+X 1M)X0 X2X1X0Y2Y1Y0 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111000 001 011 010 110 111 101 100 000 001 011 010 111 110 100 101 (3)逻辑功能:当M=0时,实现3位自然二进制码转换成3位循环码。 当M=1时,实现3位循环码转换成3位自然二进制码。分析图电路的逻辑功能。 图 解:(1)从输入端开始,逐级推导出函数表达式。 F1 = A⊕B⊕C

F2 = A(B⊕C) + BC= A BC + AB C +ABC + ABC (2)列真值表 表4.3.2 A B C F1F2 000 001 010 011 100 101 110 11100 11 11 01 10 00 00 11 (3)确定逻辑功能。由真值表可知,该电路实现了一位全减器的功能。 A、B、C、F1、F2分别表示被减数、减数、来自低位的借位、本位差、本位向高位的借位。分析图电路的逻辑功能 解:(1)F1=A B C;F2=(A B)C+AB (2)真值表: A B C F2F1 000 001 010 011 100 101 110 11100 01 01 10 01 10 10 11

(3)逻辑功能:实现1位全加器。 设ABCD是一个8421BCD码,试用最少与非门设计一个能判断该8421BCD码是否大于等于5的电路,该数大于等于5,F= 1;否则为0。 解:(1)列真值表 表4.3.4 (2)写最简表达式

第四章习题答案

“微处理器系统原理与嵌入式系统设计”第四章习题解答 4.1地址映像方法有哪几种?它们各有什么优缺点? (1)内存地址映射指内存虚拟地址空间到物理地址空间的转换。 分页技术:特点是页的大小固定;优点是程序不必连续存放,因此没有外碎片(每个内碎片不超过页大小);缺点是增加了硬件成本(如需要地址变换机构)和系统开销(如需要好的调页算法)。 分段技术:特点是段的大小可变;优点是每个段按内容独立,因此可以分别编写和编译,可以针对不同类型的段采取不同的保护,可以按段为单位来进行共享(包括通过动态链接进行代码共享);缺点是会导致碎片。 (2)I/O地址映射指系统中I/O端口的编址方式。 独立编址技术:优点是系统中存储单元和I/O端口的数量可达到最大;缺点是需专门信号来指示系统地址线上出现的是存储单元地址还是端口地址,I/O指令的功能比较弱。 存储器映像编址技术:优点是对端口操作和存储器单元操作完全一样,因此系统简单,并且对端口操作的指令比较多;缺点是CPU对存储单元和I/O单口的实际寻址空间都小于其最大寻址空间。 4.2 EPROM存储器芯片在没有写入信息时,各个单元的内容是什么?某SRAM单元中存放有一个数据(如5AH),CPU将它读取后,该单元的内容是什么? EPROM存储器芯片在没有写入信息时,所有存储单元的内容均为全“1”。 SRAM为非破坏性读出,因此该单元的内容在读取后保持不变。 4.4下列ROM芯片各需要多少个地址输入端?多少个数据输出端? (1) 16×4位(2) 32×8位(3) 256×4位(4) 512×8位 (1)16×4位=24*4bit,因此有4个地址输入端和4个数据输出端。 (2)32×8位=25*4bit,因此有5个地址输入端,8个数据输出端。 (3)256×4=28*4bit,因此有8个地址输入端,4个数据输出端。 (4)512×8=29*4bit,因此有9个地址输入端,8个数据输出端。 4.7某计算机系统中ROM为6K,最后一个单元的地址为9BFFH,RAM为3K。已知其地址为连续的,且ROM在前,RAM在后,求该存储器的首地址和末地址。 该存储器的首地址(第一个ROM单元地址)为:9BFFH-6K+1=9C00H-1800H=8400H

C 课后习题答案第四章

C++作业答案 第4章数组 4.1 选择题 1.以下对一维数组 a 的正确定义是( c )。 (a) int n = 5, a[n]; (b) int a(5); (c) const int n = 5; int a[n]; (d) int n; cin>>n; int a[n]; 2.下列数组定义语句中,不合法的是( a )。 (a) int a[3] = { 0, 1, 2, 3 }; (b) int a[] = { 0, 1, 2 }; (c) int a[3] = { 0, 1, 2 }; (d) int a[3] = { 0 }; 3.已知 int a[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, *p = a ;则不能表示数组 a 中元素的式子是( c )。 (a) *a (b) *p (c) a (d) a[ p-a ] 4.已知 int a[] = { 0, 2, 4, 6, 8, 10 }, *p = a ; 值不等于0的表达式是( b,d )。 (a) *(p++) (b) *(++p) (c) *(p-- ) (d) *(--p) 5.以下不能对二维数组a进行正确初始化的语句是( c )。 (a) int a[2][3] = { 0 }; (b) int a[][3] = { { 0, 1 }, { 0 } }; (c) int a[2][3] = { { 0, 1 }, { 2, 3 }, { 4, 5 } }; (d) int a[][3] = { 0, 1, 2, 3, 4, 5 }; 6.已知int a[][3] = { { 0, 1 }, { 2, 3, 4 }, { 5, 6 }, { 7 } } ;则 a[2][1]的值是( c )。 (a) 0 (b) 2 (c) 6 (d) 7 7.已知int a[3][3] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 } ; 则不能表示数组元素a[2][1]的地址是( a,b )。 (a) &[2][1] (b) *(a[2]+1) (c) a[2]+1 (d) *(a+2)+1 8.已知char *a[]={ "fortran", " basic", "pascal", "java", "c++"; 则cout<

相关文档