计算机三级上机:适用于三级网络技术、数据库等(南开100题)

计算机三级上机:适用于三级网络技术、数据库等(南开100题)
计算机三级上机:适用于三级网络技术、数据库等(南开100题)

全国计算机等级考试

三级C语言上机100题

几点说明:

**********************************☆题目1

请编写一个函数jsValue(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入数组xx传回。

最后调用函数writeDat()读取10组数据,分别得出结果且把结果输出到文件out.dat中。

部分源程序存在文件prog1.c中。

例如:若输入17 5 则应输出:19,23,29,31,37。

请勿改动主函数main()和写函数writeDat()的内容。

#include

#include

void readwriteDat();

int isP(int m)

{

int i;

for(i=2;i

if(m % i==0)return 0;

return 1;

}

void num(int m,int k,int xx[])

{ int s=0;

for(m=m+1;k>0;m++)

if(isP(m)) { xx[s++]=m; k--;}

}

main()

{

int m,n,xx[1000];

clrscr();

printf("\nPlease enter two integers:");

scanf("%d%d",&m,&n);

num(m,n,xx);

for(m=0;m

printf("%d ",xx[m]);

printf("\n");

readwriteDat();

}

void readwriteDat()

{

int m,n,xx[1000], i;

FILE *rf,*wf;

rf=fopen("in.dat","r");

wf=fopen("out.dat","w");

for(i=0;i<10;i++){

fscanf(rf,"%d %d",&m,&n);

num(m,n,xx);

for(m=0;m

fprintf(wf,"\n");

}

fclose(rf);

fclose(wf);

}

*********************************

☆题目2

已知数据文件IN.DA T中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。最后main( )函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT 文件中。

注意:部分源程序存在文件prog1.c中。

程序中已定义数组:a[200],b[200],已定义变量:cnt

请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。

#include

#define MAX 200

for(i=0;i

{ qw=a[i]/1000; bw=a[i]/100%10;

sw=a[i]%100/10; gw=a[i]%10;

if(qw&&qw%2==0&&bw%2==0&&sw%2==0&&gw%2==0) b[cnt++]=a[i];

}

for(i=0;i

for(j=i+1;j

if(b[i]

}

void readDat()

{

int i ;

FILE *fp ;

fp = fopen("in.dat", "r") ;

for(i = 0 ; i < MAX ; i++) fscanf(fp, "%d", &a[i]) ;

fclose(fp) ;

}

void main()

{

int i ;

readDat() ;

jsVal() ;

printf("满足条件的数=%d\n", cnt) ;

for(i = 0 ; i < cnt ; i++) printf("%d ", b[i]) ;

printf("\n") ;

writeDat() ;

}

writeDat()

{

FILE *fp ;

int i ;

fp = fopen("out.dat", "w") ;

fprintf(fp, "%d\n", cnt) ;

for(i = 0 ; i < cnt ; i++) fprintf(fp, "%d\n", b[i]) ;

fclose(fp) ;

}

*********************************★题目3

函数ReadDat( )实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中;请编制函数StrOR( ),其函数的功能是:以行为单位依次把字符串中所有小写字母o左边的字符串内容移到该串的右边存放,然后把小写字母o删除,余下的字符串内容移到已处理字符串的左边存放,之后把已处理的字符串仍按行重新存入字符串数组xx中。最后main()函数调用函数WriteDat()把结果xx输出到文件OUT5.DA T中。

原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。

注意:部分源程序存放在文件prog1.c中。

请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。

#include

#include

#include

char xx[50][80] ;

int maxline = 0 ; /* 文章的总行数*/

int ReadDat(void) ;

void WriteDat(void) ;

void StrOR(void)

{int i,righto,j,s,k;

char tem[80];

for(i=0;i

for(j=strlen(xx[i])-1;j>=0;j--)

{ k=0;

memset(tem,0,80);

if(xx[i][j]=='o')

{righto=j;

for(s=righto+1;s

tem[k++]=xx[i][s];

for(s=0;s

}

else continue;

}

}

void main()

{

clrscr() ;

if(ReadDat()) {

printf("数据文件IN.DAT不能打开!\n\007") ;

return ;

}

StrOR() ;

WriteDat() ;

}

int ReadDat(void)

{

FILE *fp ;

int i = 0 ;

char *p ;

if((fp = fopen("IN.DAT", "r")) == NULL) return 1 ;

while(fgets(xx[i], 80, fp) != NULL) {

p = strchr(xx[i], '\n') ;

if(p) *p = 0 ;

i++ ;

}

maxline = i ;

fclose(fp) ;

return 0 ;

}

void WriteDat(void)

{

FILE *fp ;

int i ;

clrscr() ;

fp = fopen("OUT5.DAT", "w") ;

for(i = 0 ; i < maxline ; i++) {

printf("%s\n", xx[i]) ;

fprintf(fp, "%s\n", xx[i]) ;

}

fclose(fp) ;

}

**********************************

★题目4

函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数StrOL(),其函数的功能是:以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。最后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT6.DAT中。

例如:原文:You He Me

I am a student.

结果:Me He You

student a am I

原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。

部分源程序存在文件prog1.c中。

请勿改动主函数main()、读数据函数ReadDat()和输出数据函数writeDat()的内容。

#include

#include

#include

#include

char xx[50][80];

int maxline=0;/*文章的总行数*/

int ReadDat(void);

void WriteDat(void);

void StrOL(void)

{ int i,j,k,s,m,strl;

memset(str,0,80);

s=k=0;

for(j=strl-1;j>=0;j--)

{ if(isalpha(xx[i][j])) k++;

else { for(m=1;m<=k;m++)

str[s++]=xx[i][j+m];

k=0;

}

if(!isalpha(xx[i][j]))

str[s++]=' ';

}

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

str[s++]=xx[i][j+m];

str[s]='\0';

strcpy(xx[i],str); }

}

void main()

{

clrscr();

if(ReadDat()){

printf("数据文件IN.DAT不能打开!\n\007");

return;

}

StrOL();

WriteDat();

}

int ReadDat(void)

{

FILE *fp;

int i=0;

char *p;

if((fp=fopen("IN.DA T","r"))==NULL) return 1;

while(fgets(xx[i],80,fp)!=NULL){

p=strchr(xx[i],'\n');

if(p)*p=0;

i++;

}

maxline=i;

fclose(fp);

return 0;

}

void WriteDat(void)

{

FILE *fp;

int i;

clrscr();

fp=fopen("OUT6.DAT","w");

for(i=0;i

printf("%s\n",xx[i]);

fprintf(fp,"%s\n",xx[i]);

}

fclose(fp);

}

**********************************

☆题目5(整数排序题)

在文件in.dat中有200个正整数,且每个数均在1000至9999之间。函数ReadDat()读取这200个数存放到数组aa中。请编制函数jsSort(),其函数的功能是:要求按每个数的后三位的大小进行升序排列,然后取出满足此条件的前10个数依次存入数组bb中,如果后三位的数值相等,则按原先的数值进行降序排列。最后调用函数WriteDat()把结果bb输出到文件out.dat 中。

例:处理前6012 5099 9012 7025 8088

处理后9012 6012 7025 8088 5099

部分源程序存在文件prog1.c中。

请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。

int aa[200],bb[10];

void jsSort()

{

int i,j,data;

for(i=0;i<199;i++)

for(j=i+1;j<200;j++) if(aa[i]%1000>aa[j]%1000||aa[i]%1000==aa[j]%1000&&aa[i]

{data=aa[i];aa[i]=aa[j];aa[j]=data;}

for(i=0;i<10;i++)

bb[i]=aa[i];

}

void main()

{

readDat();

jsSort();

writeDat();

}

readDat()

{

FILE *in;

int i;

in=fopen("in.dat","r");

for(i=0; i<200; i++) fscanf(in,"%d,",&aa[i]);

fclose(in);

}

writeDat()

{

FILE *out;

int i;

clrscr();

out=fopen("out.dat","w");

for(i=0; i<10; i++){

printf(" %d",bb[i]);

fprintf(out,"%d\n",bb[i]);

}

fclose(out);

}

*********************************

☆题目6正整数排序

在文件in.dat中有200个正整数,且每个数均在1000至9999之间。函数ReadDat()读取这200个数存放到数组aa中。请编制函数jsSort(),其函数的功能是:要求按每个数的后三位的大小进行降序排列,然后取出满足此条件的前10个数依次存入数组b中,如果后三位的数值相等,则按原先的数值进行升序排列。最后调用函数WriteDat()把结果bb输出到文件out.dat 中。

例:处理前9012 5099 6012 7025 8088

处理后5099 8088 7025 6012 9012

注意:部分源程序已给出。

请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。

#include

#include

#include

int aa[200],bb[10];

void jsSort()

{

int i,j,data;

for(i=0;i<199;i++)

for(j=i+1;j<200;j++)

if(aa[i]%1000aa[j])

{data=aa[i];aa[i]=aa[j];aa[j]=data;}

for(i=0;i<10;i++)

bb[i]=aa[i];

}

void main()

{

readDat();

}

readDat()

{

FILE *in;

int i;

in=fopen("in.dat","r");

for(i=0; i<200; i++) fscanf(in,"%d,",&aa[i]);

fclose(in);

}

writeDat()

{

FILE *out;

int i;

clrscr();

out=fopen("out.dat","w");

for(i=0; i<10; i++){

printf("i=%d,%d\n",i+1,bb[i]);

fprintf(out,"%d\n",bb[i]);

}

fclose(out);

}

******************************

☆题目7(结构体操作题)

已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件

OUT6.DA T中。

部分源程序存在文件prog1.c中。

请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。

#include

#include

#include

#include

#include

#define MAX 100

typedef struct{

char dm[5]; /*产品代码*/

char mc[11]; /*产品名称*/

int dj; /*单价*/

int sl; /*数量*/

long je; /*金额*/

}PRO;

PRO sell[MAX];

void ReadDat();

void WriteDat();

void SortDat()

{int i,j;

PRO xy;

for(i=0;i<99;i++)

for(j=i+1;j<100;j++)

if(strcmp(sell[i].dm,sell[j].dm)<0||strcmp(sell[i].dm,sell[j].dm)==0&&sell[i].je

{xy=sell[i]; sell [i]=sell[j]; sell[j]=xy;}

}

void main()

{

memset(sell,0,sizeof(sell));

ReadDat();

SortDat();

WriteDat();

}

void ReadDat()

{

fp=fopen("IN.DAT","r");

for(i=0;i<100;i++){

fgets(str,80,fp);

memcpy(sell[i].dm,str,4);

memcpy(sell[i].mc,str+4,10);

memcpy(ch,str+14,4);ch[4]=0;

sell[i].dj=atoi(ch);

memcpy(ch,str+18,5);ch[5]=0;

sell[i].sl=atoi(ch);

sell[i].je=(long)sell[i].dj*sell[i].sl;

}

fclose(fp);

}

void WriteDat(void)

{

FILE *fp;

int i;

fp=fopen("OUT6.DAT","w");

for(i=0;i<100;i++){

printf("%s %s %4d %5d %5d\n", sell[i].dm,sell[i].mc,sell[i].dj,sell[i].sl,sell[i].je);

fprintf(fp,"%s %s %4d %5d %5d\n", sell[i].dm,sell[i].mc,sell[i].dj,sell[i].sl,sell[i].je);

}

fclose(fp);

}

*********************************

★题目8(字符替换题)

函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS1.DA T中。

替代关系:f(p)=p*11 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或大于130,则该字符不变,否则将f(p)所对应的字符进行替代。(注意中间变量用无符号整型),部分源程序存在文件prog1.c中。原始数据文件存放的格式是:每行的宽度均小于80个字符。

请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。

#include

#include

#include

#include

unsigned char xx[50][80];

int maxline=0;/*文章的总行数*/

int ReadDat(void);

void WriteDat(void);

void encryptChar()

{ int i,j;

for(i=0;i

for(j=0;j

if(xx[i][j]*11%256<=32||xx[i][j]*11%256>130) continue;

else xx[i][j]=xx[i][j]*11%256;

}

void main()

{

clrscr();

if(ReadDat()){

printf("数据文件ENG.IN不能打开!\n\007");

return;

}

encryptChar();

WriteDat();

}

int ReadDat(void)

{

FILE *fp;

int i=0;

unsigned char *p;

fclose(fp);

return 0;

}

void WriteDat(void)

{

FILE *fp;

int i;

fp=fopen("ps1.dat","w");

for(i=0;i

printf("%s\n",xx[i]);

fprintf(fp,"%s\n",xx[i]);

}

fclose(fp);

}

*********************************

★☆题目9(字符串排序题)

函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数SortCharD(),其函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT2.DAT中。

例:原文:dAe,BfC.

CCbbAA

结果:fedCBA.

bbCCAA

原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。

部分源程序存在文件prog1.c中。

请勿改动主函数main()、读数据函数ReadDat()和输出数据函数writeDat()的内容。

#include

#include

#include

char xx[50][80];

int maxline=0;/*文章的总行数*/

int ReadDat(void);

void WriteDat(void);

void SortCharD(void)

{int i,j,k,strl;

char ch;

for(i=0;i

{strl=strlen(xx[i]);

for(j=0;j

for(k=j+1;k

if(xx[i][j]

{ch=xx[i][j]; xx[i][j]=xx[i][k]; xx[i][k]=ch;}

}

}

void main()

{

clrscr();

if(ReadDat()){

printf("数据文件IN.DAT不能打开!\n\007");

return;

}

SortCharD();

WriteDat();

}

int ReadDat(void)

{

FILE *fp;

int i=0;

char *p;

fclose(fp);

return 0;

}

void WriteDat(void)

{

FILE *fp;

int i;

fp=fopen("OUT2.DAT","w");

for(i=0;i

printf("%s\n",xx[i]);

fprintf(fp,"%s\n",xx[i]);

}

fclose(fp);

}

********************************

★☆题目10(替换字符题)

函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数ConvertCharA(),其函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的下一个字母,如果是字母z,则改写成字母a。大写字母仍为大写字母,小写字母仍为小写字母,其他字符不变。把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT1.DA T中。

例:原文:Adb.Bcdza

abck.LLhj

结果:Aec.Bdeab

bcdl.LLik

原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。

部分源程序存在文件prog1.c中。

请勿改动主函数main()、读数据函数ReadDat()和输出数据函数writeDat()的内容。

#include

#include

#include

char xx[50][80];

int maxline=0;/*文章的总行数*/

int ReadDat(void);

void WriteDat(void);

void ConvertCharA(void)

{ int i,j;

for(i=0;i

{ for(j=0;j

if(xx[i][j]=='z') xx[i][j]='a';

else if(xx[i][j]>='a'&&xx[i][j]<='y') xx[i][j]+=1;

}

}

void main()

{

clrscr();

if(ReadDat()){

printf("数据文件IN.DAT不能打开!\n\007");

return;

}

ConvertCharA();

WriteDat();

}

int ReadDat(void)

{

FILE *fp;

int i=0;

char *p;

if((fp=fopen("IN.DA T","r"))==NULL) return 1;

while(fgets(xx[i],80,fp)!=NULL){

}

maxline=i;

fclose(fp);

return 0;

}

void WriteDat(void)

{

FILE *fp;

int i;

clrscr();

fp=fopen("OUT1.DAT","w");

for(i=0;i

printf("%s\n",xx[i]);

fprintf(fp,"%s\n",xx[i]);

}

fclose(fp);

}

**********************************

☆题目11(字符串字母移位题)

程序prog1.c的功能是:把s 字符串中的所有字母改写成该字母的下一个字母,字母z改写成字母a。要求大写字母仍为大写字母,小写字母仍为小写字母,其它字符不做改变。

请考生编写函数chg(char *s)实现程序要求,最后调用函数readwriteDA T( )把结果输出到文件bc1.out中。

例如:s 字符串中原有的内容为:Mn.123Zxy,则调用该函数后,结果为:No.123Ayz。

注意:部分源程序存在文件prog1.c文件中。

请勿改动主函数main( )和输出数据函数readwriteDAT()的内容。

#include

#include

#include

#include

#define N 81

void readwriteDAT();

void chg(char *s)

{int I;

for(I=0;I

if(s[i]=='z'||s[i]=='Z') s[i]-=25;

else if(s[i]>='a'&&s[i]<='y'||s[i] >='A'&&s[i]<='Y') s[i]+=1;

}

main( )

{

char a[N];

clrscr();

printf("Enter a string : "); gets(a);

printf("The original string is : "); puts(a);

chg(a);

printf("The string after modified : ");

puts (a);

readwriteDA T() ;

}

void readwriteDAT()

{

int i ;

char a[N] ;

FILE *rf, *wf ;

rf = fopen("bc1.in", "r") ;

wf = fopen("bc1.out", "w") ;

for(i = 0 ; i < 50 ; i++) {

fscanf(rf, "%s", a) ;

chg(a) ;

fprintf(wf, "%s\n", a) ;

}

fclose(rf) ;

fclose(wf) ;

}

位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:

按产品名称从小到大进行排列,若产品名称相等,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT5.DA T中。

部分源程序存在文件prog1.c中。

请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。

#include

#include

#include

#include

#include

#define MAX 100

typedef struct{

char dm[5]; /*产品代码*/

char mc[11]; /*产品名称*/

int dj; /*单价*/

int sl; /*数量*/

long je; /*金额*/

}PRO;

PRO sell[MAX];

void ReadDat();

void WriteDat();

void SortDat()

{int i,j;

PRO xy;

for(i=0;i<99;i++)

for(j=i+1;j<100;j++)

if(strcmp(sell[i].mc,sell[j].mc)>0||strcmp(sell[i].mc,sell[j].mc)==0&&sell[i].je>sell[j].je)

{xy=sell[i];sell[i]=sell[j];sell[j]=xy;}

}

void main()

{

memset(sell,0,sizeof(sell));

ReadDat();

SortDat();

WriteDat();

}

void ReadDat()

{

FILE *fp;

char str[80],ch[11];

int i;

fp=fopen("IN.DAT","r");

for(i=0;i<100;i++){

fgets(str,80,fp);

memcpy(sell[i].dm,str,4);

memcpy(sell[i].mc,str+4,10);

memcpy(ch,str+14,4);ch[4]=0;

sell[i].dj=atoi(ch);

memcpy(ch,str+18,5);ch[5]=0;

sell[i].sl=atoi(ch);

sell[i].je=(long)sell[i].dj*sell[i].sl;

}

fclose(fp);

}

void WriteDat()

{

FILE *fp;

int i;

fp=fopen("OUT5.DAT","w");

for(i=0;i<100;i++){

printf("%s %s %4d %5d %5d\n",sell[i].dm,sell[i].mc,sell[i].dj,sell[i].sl,sell[i].je);

fprintf(fp,"%s %s %4d %5d %5d\n", sell[i].dm,sell[i].mc,sell[i].dj,sell[i].sl,sell[i].je);

*****************************

题目13(结构体运算题)

已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能

要求:按产品代码从小到大进行排列,若产品代码相等,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell 中,最后调用函数WriteDat()把结果输出到文件OUT9.DAT中。

部分源程序存在文件prog1.c中。

请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。

#include

#include

#include

#include

#include

#define MAX 100

typedef struct{

char dm[5]; /*产品代码*/

char mc[11]; /*产品名称*/

int dj; /*单价*/

int sl; /*数量*/

long je; /*金额*/

}PRO;

PRO sell[MAX];

void ReadDat();

void WriteDat();

void SortDat()

{int i,j;

PRO xy;

for(i=0;i<99;i++)

for(j=i+1;j<100;j++)

if(strcmp(sell[i].dm,sell[j].dm)>0||strcmp(sell[i].dm,sell[j].dm)==0&&sell[i].je

{xy=sell[i];sell[i]=sell[j];sell[j]=xy;}

}

void main()

{

memset(sell,0,sizeof(sell));

ReadDat();

SortDat();

WriteDat();

}

void ReadDat()

{

FILE *fp;

char str[80],ch[11];

int i;

fp=fopen("IN.DAT","r");

for(i=0;i<100;i++){

fgets(str,80,fp);

memcpy(sell[i].dm,str,4);

memcpy(sell[i].mc,str+4,10);

memcpy(ch,str+14,4);ch[4]=0;

sell[i].dj=atoi(ch);

memcpy(ch,str+18,5);ch[5]=0;

sell[i].sl=atoi(ch);

sell[i].je=(long)sell[i].dj*sell[i].sl;

}

fclose(fp);

}

void WriteDat()

{

FILE *fp;

int i;

fp=fopen("OUT9.DAT","w");

}

fclose(fp);

}

*****************************

★☆题目14(整数统计排序题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a中取出一个四位数,如果该四位数连续大于该四位数以后的五个数且该数是奇数(该四位数以后不满五个数,则不统计),则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

注意:部分源程序存在文件prog1.c中。

程序中已定义数组:a[200],b[200],已定义变量:cnt

请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。

#include

#define MAX 200

int a[MAX], b[MAX], cnt = 0 ;

void jsVal()

{int i,j,flag;

for(i=0;i

{for(j=i+1;j<=i+5;j++)

if(a[i]>a[j]&&a[i]%2) flag=1;

else {flag=0;break;}

if(flag==1) b[cnt++]=a[i];

}

for(i=0;i

for(j=i+1;j

if(b[i]>b[j]) {flag=b[i];b[i]=b[j];b[j]=flag;}

}

void readDat()

{

int i ;

FILE *fp ;

fp = fopen("in.dat", "r") ;

for(i = 0 ; i < MAX ; i++) fscanf(fp, "%d", &a[i]) ;

fclose(fp) ;

}

void main()

{

int i ;

readDat() ;

jsVal() ;

printf("满足条件的数=%d\n", cnt) ;

for(i = 0 ; i < cnt ; i++) printf("%d ", b[i]) ;

printf("\n") ;

writeDat() ;

}

writeDat()

{

FILE *fp ;

int i ;

fp = fopen("out.dat", "w") ;

fprintf(fp, "%d\n", cnt) ;

for(i = 0 ; i < cnt ; i++) fprintf(fp, "%d\n", b[i]) ;

fclose(fp) ;

}

************************

★题目15(整数各位数字运算排序题)

已知数据文件IN.DA T中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:若一个四位数的千位数字上的值小于等于百位数字上的值,百位数字上的值小于等于十位数字上的值,以及十位数字上的值小于等于个位数字上的值,并且原四位数是偶数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

注意:部分源程序存在文件prog1.c中。

程序中已定义数组:a[200],b[200],已定义变量:cnt

请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。

{int i,j;

int qw,bw,sw,gw;

for (i=0;i

{qw=a[i]/1000; bw=a[i]%1000/100;

sw=a[i]%100/10; gw=a[i]%10;

if((qw<=bw)&&(bw<=sw)&&(sw<=gw)&&(a[i]%2==0)) b[cnt++]=a[i];

}

for(i=0;i

for(j=i+1;j

if (b[i]>b[j]) {qw=b[i];b[i]=b[j];b[j]=qw;}

}

void readDat()

{

int i ;

FILE *fp ;

fp = fopen("in.dat", "r") ;

for(i = 0 ; i < MAX ; i++) fscanf(fp, "%d", &a[i]) ;

fclose(fp) ;

}

void main()

{

int i ;

readDat() ;

jsVal() ;

printf("满足条件的数=%d\n", cnt) ;

for(i = 0 ; i < cnt ; i++) printf("%d ", b[i]) ;

printf("\n") ;

writeDat() ;

}

writeDat()

{

FILE *fp ;

int i ;

fp = fopen("out.dat", "w") ;

fprintf(fp, "%d\n", cnt) ;

for(i = 0 ; i < cnt ; i++) fprintf(fp, "%d\n", b[i]) ;

fclose(fp) ;

}

******************************

★☆题目16(字符替换题)

函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数StrCharJR(),其函数的功能是:以行为单位把字符串中所有字符的ASCII值右移4位,然后把右移后的字符ASCII值再加上原字符的ASCII值,得到新的字符仍存入原字符串对应的位置上。最后把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT8.DAT中。

原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。

部分源程序存在文件prog1.c中。

请勿改动主函数main()、读数据函数ReadDat()和输出数据函数writeDat()的内容。

#include

#include

#include

char xx[50][80];

int maxline=0;/*文章的总行数*/

int ReadDat(void);

void WriteDat(void);

void StrCharJR()

{int i,j;

for(i=0;i

for(j=0;j

xx[i][j]+=(xx[i][j]>>4);

}

void main()

{

}

StrCharJR();

WriteDat();

}

int ReadDat(void)

{

FILE *fp;

int i=0;

char *p;

if((fp=fopen("IN.DA T","r"))==NULL) return 1;

while(fgets(xx[i],80,fp)!=NULL){

p=strchr(xx[i],'\n');

if(p)*p=0;

i++;

}

maxline=i;

fclose(fp);

return 0;

}

void WriteDat(void)

{

FILE *fp;

int i;

clrscr();

fp=fopen("OUT8.DAT","w");

for(i=0;i

printf("%s\n",xx[i]);

fprintf(fp,"%s\n",xx[i]);

}

fclose(fp);

}

*************************

☆题目17(亲朋字符替换题)

函数READDA T()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组XX中;请编制函数CHA(),其函数功能是:以行为单位把字符串中的第一个字符的ASCII值加第二个字符的ASCII值,得到第一个亲朋字符,第二个字符的ASCII值加第三个字符的ASCII值,得到第二个新字符,依此类推一直处理到最后第二个字符,最后一个字符的ASCII值加原第一个字符的ASCII值,得到最后一个新的字符,得到的新字符分别存放在原字符串对应的位置上。最后把已处理的字符串逆转后按行重新存入字符串数组XX中,最后调用函数WRITEDAT()把结果XX输出到文件OUT9.DAT中.原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格.

注意:部分源程序已给出。

请勿改动主函数main()、读数据函数ReadDat()和输出数据函数writeDat()的内容。

#include

#include

#include

char xx[50][80] ;

int maxline = 0 ; /* 文章的总行数*/

int ReadDat(void) ;

void WriteDat(void) ;

void ChA(void)

{ int i,j;

char ch;

for(i=0;i

{ ch=xx[i][0];

for(j=0;j

xx[i][j]+=xx[i][j+1];

xx[i][strlen(xx[i])-1]+=ch;

strrev(xx[i]);

}

}

void main()

{

clrscr() ;

WriteDat() ;

}

int ReadDat(void)

{

FILE *fp ;

int i = 0 ;

char *p ;

if((fp = fopen("IN.DAT", "r")) == NULL) return 1 ;

while(fgets(xx[i], 80, fp) != NULL) {

p = strchr(xx[i], '\n') ;

if(p) *p = 0 ;

i++ ;

}

maxline = i ;

fclose(fp) ;

return 0 ;

}

void WriteDat(void)

{

FILE *fp ;

int i ;

clrscr() ;

fp = fopen("OUT9.DA T", "w") ;

for(i = 0 ; i < maxline ; i++) {

printf("%s\n", xx[i]) ;

fprintf(fp, "%s\n", xx[i]) ;

}

fclose(fp) ;

}

*********************************

☆题目18

函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS10.DAT中。

替代关系:f(p)=p*11 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符的ASCII值是偶数或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。

部分源程序存在文件prog1.c中。原始数据文件存放的格式是:每行的宽度均小于80个字符。

请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。

#include

#include

#include

#include

unsigned char xx[50][80];

int maxline=0;/*文章的总行数*/

int ReadDat(void);

void WriteDat(void);

void encryptChar()

{ int i,j;

for(i=0;i

for(j=0;j

if(xx[i][j]*11%256<=32||xx[i][j]%2==0) continue;

else xx[i][j]=xx[i][j]*11%256;

}

void main()

{

clrscr();

if(ReadDat()){

printf("数据文件ENG.IN不能打开!\n\007");

return;

}

encryptChar();

int i=0;

unsigned char *p;

if((fp=fopen("eng.in","r"))==NULL) return 1;

while(fgets(xx[i],80,fp)!=NULL){

p=strchr(xx[i],'\n');

if(p)*p=0;

i++;

}

maxline=i;

fclose(fp);

return 0;

}

void WriteDat(void)

{

FILE *fp;

int i;

fp=fopen("ps10.dat","w");

for(i=0;i

printf("%s\n",xx[i]);

fprintf(fp,"%s\n",xx[i]);

}

fclose(fp);

}

*********************************

☆题目19(单词个数统计题)

编写一个函数findStr(char *str,char *substr),该函数统计一个长度为2的子字符串在另一个字符串中出现的次数。例如,假定输入的字符串为"asd asasdfg asd as zx67 asd mklo",子字符串为"as",函数返回值是6。

函数ReadWrite()实现从文件in.dat中读取两个字符串,并调用函数findStr(),最后把结果输出到文件out.dat中。

注意:部分源程序存在文件prog1.c中。

请勿改动主函数main()和其它函数中的任何内容,仅在函数findStr()的花括号中填入你编写的若干语句。

#include

#include

#include

int findStr(char *str,char *substr)

{ int i,j,len1,len2,cnt=0,flag;

len1=strlen(str);

len2=strlen(substr);

for(i=0;i

{ for(j=0;j

if(str[i+j]==substr[j]) flag=1;

else {flag=0;break;}

if(flag==1) cnt++;

}

return cnt;

}

main()

{

char str[81], substr[3] ;

int n ;

clrscr() ;

printf("输入原字符串:") ;

gets(str) ;

printf("输入子字符串:") ;

gets(substr) ;

puts(str) ;

puts(substr) ;

n=findStr(str, substr) ;

printf("n=%d\n", n) ;

ReadWrite() ;

}

ReadWrite()

FILE *rf, *wf ;

rf = fopen("in.dat", "r") ;

wf = fopen("out.dat", "w") ;

while(i < 25) {

fgets(str, 80, rf) ;

fgets(substr, 10, rf) ;

len = strlen(substr) - 1 ;

ch = substr[len] ;

if(ch == '\n' || ch == 0x1a) substr[len] = 0 ;

n=findStr(str, substr);

fprintf(wf, "%d\n", n) ;

i++ ;

}

fclose(rf) ;

fclose(wf) ;

}

*******************************

★题目20(Fibonacci数列题)

编写函数jsValue,它的功能是:求Fibonacci数列中大于t的最小的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为:

F(0)=0,F(1)=1

F(n)=F(n-1)+F(n-2)

最后调用函数writeDat()读取50个数据t,分别得出结果且把结果输出到文件out.dat中。

例如:当t=1000时,函数值为:1597。

部分源程序存在文件prog1.c中。

请勿改动主函数main()和写函数writeDat()的内容。

#include

int jsValue(int t)

{ int f0=0,f1=1,fn;

fn=f0+f1;

while(fn<=t)

{ f0=f1;

f1=fn;

fn=f0+f1;

}

return fn;

}

main()

{

int n;

n=1000;

printf("n=%d,f=%d\n",n,jsValue(n));

writeDat();

}

writeDat()

{

FILE *in,*out;

int i,n,s;

in=fopen("in.dat","r");

out=fopen("out.dat","w");

for(i=0;i<50;i++){

fscanf(in,"%d",&n);

s=jsValue(n);

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

fprintf(out,"%d\n",s);

}

fclose(in);

fclose(out);

}

*******************************

☆题目21(迭代方法求方程题)

下列程序prog1.c的功能是:利用以下所示的简单迭代方法求方程:cos(x)-x=0的一个实根。

Xn+1=cos(Xn)

(3)X1=cos(X0),求出一个新的X1;

(4)若X0-X1的绝对值小于0.000001,执行步骤(5),否则执行步骤(2);

(5)所求X1就是方程cos(X)-X=0的一个实根,作为函数值返回。

请编写函数countValue()实现程序的要求,最后调用函数writeDat()把结果输出到文件OUT17.DAT中。

部分源程序已给出。

请勿改动主函数main()和输出数据函数writeDat()的内容。

#include

#include

#include

float countValue()

{ float x0,x1;

x1=0.0;

do{ x0=x1;

x1=cos(x0);

}while(fabs(x0-x1)>=0.000001);

return x1;

}

main()

{

clrscr();

printf("实根=%f\n",countValue());

printf("%f\n",cos(countValue())-countValue());

writeDat();

}

writeDat()

{

FILE *wf;

wf=fopen("OUT17.DAT","w");

fprintf(wf,"%f\n",countValue());

fclose(wf);

}

注:本题在无忧或捷成模拟盘中,需定义double x0,x1;才能通过,据实际上机抽到该题的考生反映,实际上机需按上面解法的定义方能通过,特此说明,供参考。

*******************************

★题目22(平方根问题)

请编写函数countValue(),它的功能是:求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s,并作为函数值返回,最后结果s输出到文件out.dat中。

例如若n为1000时,函数值应为:s=153.909064。

部分源程序存在文件prog1.c中。

请勿改动主函数main()和输入输出数据函数progReadWrite()的内容。

#include

#include

#include

double countValue(int n)

{ int i;

double s=0.0;

for(i=1;i

if(i%21==0) s+=i;

return sqrt(s);

}

main()

{

clrscr();

printf("自然数之和的平方根=%f\n",countValue(1000));

progReadWrite();

}

progReadWrite()

{

FILE *fp,*wf;

int i,n;

float s;

fp=fopen("in.dat","r");

if(fp==NULL){

wf=fopen("out.dat","w");

for(i=0;i<10;i++){

fscanf(fp,"%d\n",&n);

s=countValue(n);

fprintf(wf,"%f\n",s);

}

fclose(fp);

fclose(wf);

}

************************

题目23 (实数运算题)

已知在文件in.dat中存有N个(个数<200)实数,函数readdat()读取这N个实数并存入数组xx中。请编制函数calvalue(),其功能要求:

1、求出这N个实数的平均值aver;

2、分别求出这N个实数的整数部分之和sumint以及小数部分之和sumdec,最后调用函数writedat()把所求的结果输出到文件out.dat中。

注意:部分源程序已给出。

请勿改动主函数main()、读数据函数readdat()和输出数据函数writedat()的内容。

#include

#include

#define MAXNUM 200

float xx[MAXNUM] ;

int N= 0 ; /* 文件IN.DAT中共有多少个实数*/

double aver=0.0;/*平均值*/

double sumint=0.0;/*整数部分之和*/

double sumdec=0.0;/*小数部分之和*/

int ReadDat(void) ;

void WriteDat(void) ;

void CalValue(void)

{int i;

for (i=0;i

{sumint+=(long)xx[i];

sumdec+=xx[i]-(long)xx[i];

aver+=xx[i];

}

aver/=N;

}

void main()

{ int i ;

clrscr() ;

for(i = 0 ; i < MAXNUM ; i++) xx[i] = 0 ;

if(ReadDat()) {

printf("数据文件IN.DAT不能打开!\007\n") ;

return ;

}

Calvalue() ;

printf("文件IN.DAT中共有实数=%d个\n", N) ;

printf("平均值=%.2lf\n", aver) ;

printf("整数部分之和=%.2lf\n", sumint) ;

printf("小数部分之和=%.2lf\n", sumdec) ;

WriteDat() ;

system("pause");

}

int ReadDat(void)

{

FILE *fp ;

int i = 0 ;

if((fp = fopen("in.dat", "r")) == NULL) return 1 ;

while(!feof(fp)) {

fscanf(fp, "%d,", &xx[i++]) ;

}

fclose(fp) ;

return 0 ;

计算机三级网络技术题库详解

下列技术中,不属于宽带城域网Q o S保证技术的是()。 A) DiffServ B) MPLS C) EPON D) RSVP 下列关于接入技术特征的描述中,正确的是()。 A) ADSL技术具有非对称带宽特性 B) 远距离无线宽带接入网采用标准 C) 光纤传输系统的中继距离可达1000km以上 D) Cable Modem利用DWDM的方法将信道分为上行信道和下行信道 下列关于RPR技术的描述中,正确的是()。 A) RPR环能够在30ms内实现自愈 B) RPR环中每一个节点都执行DPT公平算法 C) RPR环将沿顺时针方向传输的光纤环叫做外环 D) RPR的内环与外环分别用于传输数据分组与控制分组 ITU标准OC-12的传输速率为()。 A) B) C) D) 下列关于路由器技术指标的描述中,错误的是()。 A) 吞吐量是指路由器的包转发能力 B) 背板能力决定了路由器的吞吐量 C) 语音、视频业务对延时抖动要求较高 D) 突发处理能力是以最小帧间隔值来衡量的 一台交换机总带宽为16Gbps,具有48个10/100Mbps电端口和若干个1000Mbps光端口,所有端口都工作在全双工状态,那么该交换机光端口数最多为()。 A) 1 B) 2 C) 3 D) 4 若服务器系统可用性达到%,那么每年的停机时间必须小于等于()。 A) 5分钟 B) 10分钟 C) 53分钟 D) 106分钟 子网掩码可写为()。 A) /16 B) /17 C) /18 D) /19 下图是网络地址转换NAT的一个示例

根据图中信息,转换表中(1)和(2)处的内容依次应为()。 A) 和 B) 和 C) 和 D) 和和 某公司分配给人事部、培训部和销售部的IP地址块分别为、和,三个地址块聚合后为()。 B) C) D) 下列IPv6地址表示中,错误的是()。 A) ::12D:BC:0:05E6 B) DA21:0:0:0:0:2A:F:FE08:32 C) BC21::10:0:1/48 D) FD60::2A90:FE:0:4CA2:943E 下列关于BGP协议的描述中,错误的是()。 A) 两个属于不同自治系统的边界路由器初始协商时要首先发送open分组 B) 两个BGP发言人需要周期性地交换keepalive分组来确认双方的相邻关系 C) 当路由发生变化时,BGP发言人使用notification分组通知相邻自治系统 D) 一个BGP发言人通过建立TCP连接与其他自治系统中BGP发言人交换路由信息 R1、R2是一个自治系统中采用RIP路由协议的两个相邻路由器,R1的路由表如下图(a)所示,当R1收到R2发送的如下图(b)的(V, D)报文后,R1更新的五个路由表项中距离值从上到下 依次为()。 A) 0、3、4、3、2 B) 0、4、4、3、2 C) 0、5、4、3、1 D) 0、5、4、3、2 下列关于OSPF协议的描述中,正确的是()。 A) 在一个区域内的路由器数可达300个 B) 每一个区域OSPF拥有一个30位的区域标识符 C) 一个OSPF区域内的路由器不知道其他区域的网络拓扑 D) 当链路状态发生变化时只需向相邻的路由器发送信息 下列关于集线器的描述中,错误的是()。 A) 连接到一个集线器的所有结点共享一个冲突域 B) 集线器是基于MAC地址识别完成数据转发的

计算机三级数据库模拟题及答案

计算机三级数据库模拟题及答案 一、选择题 1.下列关于SQL Server数据库服务器登录账户的说法中,错误的是__________。 A.登录账户的来源可以是Windows用户,也可以是非Windows用户 B.所有的Windows用户都自动是SQL Server的合法账户 C.在Windows身份验证模式下,不允许非Windows身份的用户登录到SQL Server服务器 D.sa是SQL Server提供的一个具有系统管理员权限的默认登录账户 2.下列SQL Server提供的系统角色中,具有数据库服务器上全部操作权限的角色是__________。 A.db_owner B.dbcreator C.db_datawriter D.sysadmin 3.下列关于SQL Server数据库用户权限的说法中,错误的是__________。 A.数据库用户自动具有该数据库中全部用户数据的查询权 B.通常情况下,数据库用户都来源于服务器的登录账户 C.一个登录账户可以对应多个数据库中的用户

D.数据库用户都自动具有该数据库中public角色的权限 4.下列角色中,具有数据库中全部用户表数据的插入、删除、修改权限且只具有这些权限的角色是__________。 A.db_owner B.db_datareader C.db_datawriter D.public 5.创建SQL Server登录账户的SQL语句是__________。 A.CREATE LOGIN B.CREATE USER C.ADD LOGIN D.ADD USER 6.下列关于用户定义的角色的说法中,错误的是__________。 A.用户定义角色可以是数据库级别的角色,也可以是服务器级别的角色 B.用户定义的角色只能是数据库级别的角色 C.定义用户定义角色的目的是简化对用户的权限管理 D.用户角色可以是系统提供角色的成员 二、填空题 1.数据库中的用户按操作权限的不同,通常分为__________、__________和__________三种。

全国计算机三级数据库技术上机试题道

1.【考点分析】本题考查对4位整数的排序。考查的知识点主要包括:数组元素的排序算法,if判断语句和逻辑表达式,以及求余算术运算。【解题思路】此题属于4位数排序问题。本题需主要解决3个问题:问题1如何取4位数的后3位进行比较;问题2如何按照题目要求的条件(按照每个数的后3位的大小进行降序排列,如果后3位相等,则按照原始4位数的大小进行升序排列)排序;问题3如何将排完序的前10个数存到数组bb中去。 本题的解题思路为:使用双循环对数组按条件进行排序,然后将排完序的前10个数存到数组bb中。对于问题1可以通过算术运算的取余运算实现(aa[i]_x0010_00);问题2通过包含if判断语句的起泡排序法就可以实现。 【参考答案】 void jsSort() { int i,j; /*定义循环控制变量*/ int temp; /*定义数据交换时的暂存变量*/ for(i=0;i<199;i++) /*用选择法对数组进行排序*/ for(j=i+1;j<200;j++) { if(aa[i]_x0010_00

{ temp=aa[i]; aa[i]=aa[j]; aa[j]=temp; } else if(aa[i]_x0010_00==aa[j]_x0010_00) /*如果后3位数相等*/ if(aa[i]>aa[j]) /*则要按原4位数的值进行升序排序*/ { temp=aa[i]; aa[i]=aa[j]; aa[j]=temp; } } for(i=0;i<10;i++) /*将排序后的前10个数存入数组b中*/ bb[i]=aa[i]; } 【易错提示】取4位数后三位的算法,if判断语句中逻辑表达式的比较运算符。 判断语句和if语言循环结构,C本题主要考查的知识点包括:【考点分析】2.

2018全国计算机等级考试一级考试试题库

2018年全国计算机等级考试一级考试试题库 0401) 下列关于世界上第一台电子计算机ENIAC的叙述中,错误的是 A)它是1946年在美国诞生的 B)它主要采用电子管和继电器 C)它是首次采用存储程序控制使计算机自动工作 D)它主要用于弹道计算 答案:C 0402) 一个字长为8位的无符号二进制整数能表示的十进制数值范围是 A)0-256 B)0-255 C)1-256 D)1-255 答案:B 0403) 二进制数1001001转换成十进制数是 A)72 B)71 C)75 D)73 答案:D 0404) 十进制数90转换成无符号二进制数是 A)1011010 B)1101010 C)1011110 D)1011100 答案:A 0405) 标准ASCII码用7位二进制位表示一个字符的编码,其不同的编码共有 A)127个 B)128个 C)256个 D)254个 答案:B 0406) 根据国标GB2312-80的规定,总计有各类符号和一、二级汉字编码 A)7145个 B)7445个 C)3008个 D)3755个 答案:B 0407) 运算器的主要功能是进行 A)算术运算 B)逻辑运算 C)加法运算 D)算术和逻辑运算 答案:D 0408) 下列各存储器中,存取速度最快的是 A)CD-ROM

C)软盘 D)硬盘 答案:B 0409) 假设某台式计算机的内存储器容量为256MB,硬盘容量为20GB。硬盘的容量是内存容量的 A)40倍 B)60倍 C)80倍 D)100倍 答案:C 0410) 在外部设备中,扫描仪属于 A)输出设备 B)存储设备 C)输入设备 D)特殊设备 答案:C 0411) 计算机能直接识别的语言是 A)高级程序语言 B)机器语言 C)汇编语言 D)C++语言 答案:B 0412) 下列关于计算机病毒的叙述中,错误的是 A)计算机病毒具有潜伏性 B)计算机病毒具有传染性 C)感染过计算机病毒的计算机具有对该病毒的免疫性 D)计算机病毒是一个特殊的寄生程序 答案:C 0413) Internet网中不同网络和不同计算机相互通讯的基础是 A)ATM B)TCP/IP C)Novell D)X.25 答案:B 0414) 已知一汉字的国标码是5E38,其内码应是 A)DEB8 B)DE38 C)5EB8 D)7E58 答案:A 0415) 已知三个字符为:a、X和5,按它们的ASCII码值升序排序,结果是 A)5,a,X B)a,5,X C)X,a,5 D)5,X,a 答案:D 0416) 度量计算机运算速度常用的单位是

计算机三级题库

2009年3月计算机等级考试三级网络技术试卷及答案 作者: 宇创教研组来源: 部资料更新日期:2009-9-9 15:40:27 一、选择题(每小题1分,共60分) 下列各题A)、B)、C)、D )四个选项中,只有一项是正确的,请将正确选项写在括号。(1)1959年10月我国研制成功的一台通用大型电子管计算机是 ( )。 A)103计算机B)104计算机C)120计算机D)130计算机(2)关于计算机应用的描述中,错误的是( )。 A)模拟核爆炸是一种特殊的研究方法B)天气预报采用了巨型计算机处理数据 C)经济运行模型还不能用计算机模拟D)过程控制可采用低档的微处理器芯片(3)关于服务器的描述中,正确的是( )。 A)按体系结构分为入门级、部门级、企业级服务器 B)按用途分为台式、机架式、机柜式服务器 C)按处理器类型分为文件、数据库服务器 D)刀片式服务器的每个刀片是一块系统主板 (4)关于计算机配置的描述中,错误的是( )。 A)服务器机箱的个数用1U/2U/3U/....../8U表示 B)现在流行的串行接口硬盘是SATA硬盘 C)独立磁盘冗余阵列简称磁盘阵列 D)串行SCSI硬盘简称SAS硬盘 (5)关于软件开发的描述中,正确的是( )。

A)软件生命周期包括计划、开发两个阶段 B)开发初期进行需求分析、总体设计、详细设计 C)开发后期进行编码、测试、维护 D)软件运行和使用中形成文档资料 (6)关于多媒体的描述中,错误的是( )。 A)多媒体的数据量很大,必须进行压缩才能实用 B)多媒体信息有许多冗余,这是进行压缩的基础 C)信息熵编码法提供了无损压缩 D)常用的预测编码是变换编码 (7)关于数据报交换方式的描述中,错误的是( )。 A)在报文传输前建立源结点与目的结点之间的虚电路 B)同一报文的不同分组可以经过不同路径进行传输 C)同一报文的每个分组中都要有源地址与目的地址 D)同一报文的不同分组可能不按顺序到达目的结点 (8)IEEE802.11无线局域网的介质访问控制方法中,帧间间隔大小取决于( )。 A)接入点 B)交换机C)帧大小D)帧类型(9)以下网络应用中不属于Web应用的是( )。 A)电子商务B)域名解析C)电子政务D)博客(10)关于千兆以太网的描述中,错误的是( )。 A)与传统以太网采用相同的帧结构B)标准中定义了千兆介质专用接口 C)只使用光纤作为传输介质D)用GMII分割MAC子层与物理层(11)虚拟局域网的技术基础是( )。

计算机三级数据库考试题及答案

计算机三级数据库考试题及答案 数据库是计算机等级考试的难点之一,接下来gkstk帮大家整理了数据库考试题库,希望为大家提高考试成绩有所帮助! 1[单选题] 下列关于浏览器/服务器架构中的应用服务器的说法中,错误的是__________。 A.应用服务器一般运行程序代码,实现面向应用领域的业务规则 B.应用服务器会根据用户请求连接相应的数据库,获取数据,并将结果返回给用户 C.应用服务器一般需要具有数据访问和数据存储功能 D.应用服务器一般提供了集群、负载均衡等公共服务,可以大幅度提高系统性能和可靠性 参考答案:C 2[填空题]数据库总体设计的主要内容包括__________、 __________、__________和__________。 参考解析:体系结构设计软件总体设计 软硬件选型与配置设计业务规则初步设计

3[单选题]如果有两个事务,同时对数据库中同一数据进行操作,不可能引起冲突的操作是 A.其中有一个是DELETE B.一个是SELECT,另一个是UPDATE C.两个都是SELECT D.两个都是UPDATE 参考答案:C 4[填空题]一个完整的事务概要设计包括:事务名称、事务所访问的关系名及其属性名、事务的( ) 及事务用户。 参考解析:处理逻辑 5[单选题]浏览器/服务器架构是现阶段非常流行的数据库应用系统架构。在此架构中,应用服务器起到了非常重要的作用。计算机三级数据库考试题及答案计算机三级数据库考试题及答案。下列关于应用服务器的说法,错误的是( ) A.应用服务器一般运行程序代码,实现面向具体应用领域的业务规则,数据库服务器承担数据存储、管理等功能

全国计算机三级数据库考试题

全国计算机三级数据库试题 1、把电路中的所有元件如晶体管、电阻、二极管等都集成在一个芯片上的元件称为( ) (本题分值:1分)【正确答案】B A.Transistor B.Integrated Circuit https://www.360docs.net/doc/bb1547106.html,puter D.Vacumm Tube 2.ENIAC所用的要紧元件是( ) (本题分值:1分)【正确答案】C A.集成电路 B.晶体管 C.电子管 D.以上答案都不对 3、假如以链表为栈的存储结构,则退栈操作时( ) (本题分值:1分)【正确答案】 B A.必须判不栈是否满 B.必须判不栈是否空

C.判不栈元素的类型 D.对栈不作任何判不 4、用直接插入排序方法对下面四个序列进行排序(由小到大),元素比较次数最少的是( ) (本题分值:1分)【正确答案】 C A.94、32、40、90、80、46、21、69 B.32、40、21、46、69、94、90、80 C.21、32、46、40、80、69、90、94 D.90、69、80、46、21、32、94、40 5、设数组data[0…m]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执行出队 操作的语句为( ) (本题分值:1分)【正确答案】 D A.front:=front 1 B.front:=(front 1) mod m C.rear:=(rear 1) mod m D.front:=(front 1) mod (m 1) 6、用数组A[0…m-1]存放循环队列的元素值,若其头尾指针分不为front和rear,则循环队列中当前元

素的个数为( ) (本题分值:1分)【正确答案】 A A.(rear-front m) mod m B.(rear-front 1) mod m C.(rear-front-1 m) mod m D.(rear-front) mod m 7、链栈与顺序栈相比,有一个比较明显的优点是( ) (本题分值:1分)【正确答案】 B A.插入操作更加方便 B.通常可不能出现栈满的情况 C.可不能出现栈空的情况 D.删除操作更加方便 8、设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、e5和e6依次通过栈S,一个元素出栈后即进入 队列Q,若6个元素出栈的顺序是e2、e4、e3、e6、e5、e1,则栈S的容量至少应该是( ) (本题分值:1分)【正确答案】 C A.6 B.4 C.3

3月计算机三级上机题库及答案

3月计算机三级上机题库及答案 1.已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是: 把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字), 以及把个位数字和百位数字组成另一个新的十位数cd (新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字), 如果新组成的两个十位数ab-cd=10且ab-cd=20且两个数均是偶数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中, 并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 注意: 部分源程序存在文件PROG1.C文件中。 程序中已定义数组: a[200], b[200], 已定义变量: cnt 请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。 ------------------------- PROG1.C #include #define MAX 200 int a[MAX], b[MAX], cnt = 0;

{int I,thou,hun,ten,data,j; int ab,cd; for(I=0;I200;I++) {thou=a[I]/1000; hun=a[I]%1000/100; ten=a[I]%100/10; data=a[I]%10; ab=10*thou+ten; cd=10*data+hun; if ((ab-cd)=0(ab-cd)=10ab%2==1cd%2==1ab!=0cd!=0) {b[cnt]=a[I];cnt++;} } for(I=0;I for(j=I+1;j if(b[I] {data=b[I]; b[I]=b[j];b[j]=data;} } void readDat() { int i ; FILE *fp ; fp = fopen(in.dat, r) ; for(i = 0 ; i MAX ; i++) fscanf(fp, %d, a[i]) ; fclose(fp) ; }

计算机三级网络技术题库

下列关于接入技术特征的描述中,错误的是()。 A) 远距离无线宽带接入网采用802.15标准 B) Cable Modem利用频分复用的方法,将信道分为上行信道和下行信道 C) 光纤传输系统的中继距离可达100km以上 D) ADSL技术具有非对称带宽特性 Cable Modem利用频分复用的方法,将双向信道分为:从计算机终端到网络方向称为上行信道,从网络到计算机终端方向称为下行信道。ASDL技术提供非对称宽带特性,上行速率在64 kbps~640 kbps,下行速率在500kbps~7Mbps 。光纤传输系统的中继距离可达100km以上。IEEE 802.15 标准专门从事WPAN(无线个人局域网)标准化工作。它是适用于短程无线通信的标准。故选择A选项。下列关于路由器技术指标的描述中,错误的是()。 A) 吞吐量是指路由器的包转发能力 B) 背板能力决定了路由器的吞吐量 C) 语音、视频业务对延时抖动要求较高 D) 突发处理能力是以最小帧间隔值来衡量的 路由器的关键技术指标主要有以下几点。

①吞吐量:吞吐量是指路由器的包转发能力。路由器的包转发能力与路由器端口数量、端口速率、包长度、包类型有关。 ②背板能力:背板是路由器输入端与输出端之间的物理通道。背板能力决定了路由器的吞吐量。 ③丢包率:丢包率是指在稳定的持续负荷情况下,由于包转发能力的限制而造成包丢失的概率。丢包率通常是衡量路由器超负荷工作时的性能指标之一。 ④延时与延时抖动:延时是指数据包的第一个比特进入路由器,到该帧的最后一个比特离开路由器所经历的时间,该时间间隔标志着路由器转发包的处理时间。延时抖动是指延时的变化量。由于数据包对延时抖动要求不高,因此通常不把延时抖动作为衡量高速路由器的主要指标,但是语音、视频业务对延时抖动要求较高。 ⑤突发处理能力:突发处理能力是以最小帧间隔发送数据包而不引起丢失的最大发送速率来衡量的。故选择D选项 下列关于BGP协议的描述中,错误的是()。 A) 当路由信息发生变化时,BGP发言人使用notification分组通知相邻自治系统 B) 一个BGP发言人通过建立TCP连接与其他自治系统中BGP发言人交换路由信息 C) 两个属于不同自治系统的边界路由器初始协商时要首先发送open分组

计算机三级数据库上机题库

1.调用函数rwdata(),从IN.dat文件中读取10组数据(m和k值),并嵌套调用primenum函数分别得出array[]数组。请编写函数primenum(int m,int k,int array[]),该函数的功能是:将紧靠m的k个素数存入数组array并在屏幕上显示。最后把结果输出到文件OUT.dat中。例如,若输入3 9,则应输出5 7 11 13 17 19 23 29 31。 注意:部分程序已经给出。请勿改动主函数main()和输出数据函数rwdata()的内容。 #include #include void rwdata(); void primenum(int m, int k, int array[]) { } main() { int m, n, array[1000]; printf("\nPlease enter two integers:"); scanf("%d%d", &m, &n); primenum(m, n, array); for (m=0; m

2005年计算机等级考试三级上机题库(四)

2005年计算机等级考试三级上机题库(四) 第69题 下列程序的功能是:统计在tt字符串中'a'到'z'26个字母各自出现的次数,并存入pp 数组。请编写函数cnt(char *tt,int pp[])实现程序要求,最后调用函数readwriteDat()把结果输出到文件out.dat中。(注:仅统计小写字母) 例如,当输入字符串:abcdefgabcdeabc后, 输出的结果应该是:3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 部分源程序存在文件prog1.c中。 请勿改动主函数main()和输出数据函数readwriteDAT()的内容。 第70题 函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数StrCharJL(),其函数的功能是:以行为单位把字符串中的所有字符的ASCII值左移4位,如果左移后,其字符的ASCII值小于等于32或大于100,则原字符保持不变,否则就把左移后的字符ASCII值再加上原字符ASCII值,得到新的字符仍存入原字符串对应的位置上。最后把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT7.DAT中。 原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。 部分源程序存在文件prog1.c中。 请勿改动主函数main()、读数据函数ReadDat()和输出数据函数writeDat()的内容。 第71题 下列程序的功能是:设A,B,C为三个不为零的正整数,计算并输出下列不定方程组解的个数cnt以及满足此条件的所有A,B,C之和sum。 不定方程组为: A+B+C=13 A-C=5 请编写函数countValue实现程序要求,最后调用函数writeDat()把结果cnt和sum输出到文件out.dat中。

计算机等级考试三级网络技术上机题

计算机等级考试三级网络技术上机题 函数ReadDat( )的功能是实现从文件IN64.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数CharConvA( ),该函数的功能是:以行为单位把字符串的最后一个字符ASCII 值右移4位后加最后第二个字符的ASCII值,得到最后一个新的字符,最后第二个字符的ASCII值右移4位后加最后第三个字符的ASCII值,得到最后第二个新的字符,以此类推一直处理到第二个字符,第一个字符的ASCII值加最后一个字符的ASCII 值,得到第一个新的字符,得到的新字符分别l char xx[50][80]; int maxline=0; int ReadDat(); void WriteDat(); void CharConvA(void) { } void main() { system(CLS); if (ReadDat()) { printf(数据文件IN64.DAT不能打开!n07);

return; } CharConvA( ); WriteDat(); } int ReadDat(void) { FILE *fp; int i=0; char *p; if((fp=fopen(IN64.DAT,r))==NULL) return 1; while (fgets(xx[i],80,fp)!=NULL) { p=strchr(xx[i],n); if (p) *p=0; i++; } maxline=i; fclose(fp); return 0; } void WriteDat()

{ FILE *fp; int i; system(CLS); fp=fopen(OUT64.DAT,w); for(i=0;i { printf(%sn,xx[i]); fprintf(fp,%sn,xx[i]); } fclose(fp); } 【答案】 void CharConvA(void) { int i,j,k; /*定义循环控制变量*/ int str; /*存储字符串长度*/ char ch; /*暂存最后一个字符*/ for(i=0;i { str=strlen(xx[i]); /*求得当前行的字符串长度*/ ch=xx[i][str-1]; /*将最后一个字符暂存入ch*/

计算机三级数据库1-9套应用题库

第九套 1.在某数据库中,相关表的建表语句如下: create tableT1( a1int primary key, a2int, a3int foreign key references T2(a3)); create tableT2( a3int primary key, a4int, a5int foreign key references T2(a3)); create tableT3( a1int, a3int, a6int, primary key (a1, a3), a1 foreign key references T1(a1), a3 foreign key references T2(a3)); 请画出相应的E-R图,使得可以从该E-R图推导出上述表定义,其中实体和联系的名称可以自定,实体的主码属性请使用下划线标明。 2.设在SQL Server 2008某数据库中有商品表和销售表,两个表的定义如下:CREATE TABLE 商品表( 商品号 char(10) PRIMARY KEY, 商品名varchar(40), 类别varchar(20), 进货单价int ); CREATE TABLE 销售表( 商品号 char(10) REFERENCES 商品表(商品号), 销售时间datetime,

销售数量int, 销售单价int, PRIMARY KEY(商品号,销售时间) ); 现要创建一个存储过程:查询指定类别的每种商品当前年累计销售总数量。请补全下列代码。 CREATE PROC p_TotalSales @lbvarchar(20) AS SELECT 商品名, ( year(销售时间 )AS 当年销售总数量Array FROM 商品表 3.设某超市经营管理系统使用SQL Server 2008数据库管理系统。为了保证数据库可靠运行,数据库管理员设置了每天夜间对数据库一次全备份,备份数据保留2个月的备份策略。上线运行1年后,SQL Server数据库中数据已经达到近200GB。每天夜间要运行3个小时才能将数据库进行一次全备份,影响了夜间统计等业务正常运行。同时,备份空间也非常紧张。请解释出现此现象的原因,并提出优化的方法。 第八套 1.已知有如下关系模式: T1(a1,a2, a3, a5),T2(a3,a4),T3(a5, a6),T4(a3, a5, a7),其中带下划线的属性标识为所在关系模式的主码,T1中的a3是参照T2的外码,T1中的a5已知有如下关系模式: T1(a1,a2, a3, a5),T2(a3,a4),T3(a5, a6),T4(a3, a5, a7),其中带下划线的属性标识为所在关系模式的主码,T1中的a3是参照T2的外码,T1中的a5是参照T3的外码,T4中的a3是参照T2的外码,T4中的a5是参照T3的外码。 请将上述关系模式用适当的ER图表示出来,并用下划线标注出作为实体主码的属性。

计算机三级历年真题及答案

09年3月全国计算机等级考试三级网络真题(答案不对的请指正) 2009-09-13 18:00 (1)1959年10月我国研制成功的一台通用大型电子管计算机是B A)103计算机 B)104计算机 C)720计算机 D)l30计算机 (2)关于计算机应用的描述中,错误的是c A)模拟核爆炸是一种特殊的研究方法 B)天气预报采用了巨型计算机处理数据 C)经济运行模型还不能用计算机模拟 D)过程控制可采用低档微处理器芯片 (3)关于服务器的描述中,正确的是d A)按体系结构分为入门级、部门级、企业级服务器 B)按用途分为台式、机架式、机柜式服务器 C)按处理器类型分为文件、数据库服务器 D)刀片式服务器的每个刀片是一块系统主板 (4)关于计算机配置的描述中,错误的是a A)服务器机箱的个数用1U/2U/3U/……/8U表示 B)现在流行的串行接口硬盘是SA TA硬盘 C)独立磁盘冗余阵列简称磁盘阵列 D)串行SCSI硬盘简称SAS硬盘 (5)关于软件开发的描述中,正确的是B A)软件生命周期包括计划、开发两个阶段 B)开发初期进行需求分析、总体设计、详细设计 C)开发后期进行编码、测试、维护 D)软件运行和使用中形成文档资料 (6)关于多媒体的描述中,错误的是D A)多媒体的数据最很大,必须进行压缩才能实用 B)多媒体信息有许多冗余,这是进行压缩的基础 C)信息熵编码法提供了无损压缩 D)常用的预测编码是变换编码 (7)关于数据报交换方式的描述中,错误的是a A)在报文传输前建立源结点与目的结点之间的虚电路 B)同一报文的不同分组可以经过不同路径进行传输 C)同一报文的每个分组中都要有源地址与目的地址 D)同一报文的不同分组可能不按顺序到达目的结点 (8)IEEE 802.11无线局域网的介质访问控制方法中,帧间间隔大小取决于d A)接入点 B)交换机 C)帧大小 D)帧类型 (9)以下网络应用中不属于Web应用的是B A)电子商务

全国计算机三级数据库等级考试全套(笔试背诵资料+笔试试题+详细答案+最新数据库技术上机试题题库)

三级数据库背诵资料 第一章计算机基础知识 1、冯.诺依曼计算机以“存储程序”原理为基础,由运算器、存储器、控制器、输入设备和输出设备等五大部件组成。 2、计算机指令系统: 系列计算机:指令系统向下兼容。 复杂指令系统计算机:CISC (Complex Instruction Set Computer) 精简指令系统计算机:RISC (Reduced Instruction Set Computer) 指令系统的类型:数据传送类指令、算术逻辑类指令和判定控制类指令。 指令系统的寻址方式:立即寻址(立即数寻址),指令中直接给出操作数。 寄存器寻址:操作数在寄存器中。直接寻址:指令中直接给出操作数地址。寄存器间接寻址:寄存器给出操作数地址。 寄存器相对寻址:指令中给出操作数的地址偏移量 3、微型处理器分类:通用微处理器、嵌入式微处理器和数字信号处理器等 4、总线: PCI:不依附具体处理器的局部总线。 USB:通用串行总线。 1394总线:FireWire,为家用电器研制的一种高速串行总线。1394总线在数字视频设备(数字摄像机)中广泛应用。 5、计算机的技术指标: 运算速度MIPS(每秒百万条指令) 影响计算机运算速度的因素很多,主要是CPU的主频和存储器的存取周期。 存储器容量:基本单位B(Byte) 1KB=1024Byte 1MB=1024KB 1GB=1024MB 1TB=1024GB 数据传输率:基本单位bps(每秒传输多少位) 1Kbps=103bps 1Mbps=103Kbps 1Gbps=103Mbps 6、计算机中的信息表示 非数字信息的表示:ASCII码汉字的表示:三类代码体系:输入码,如:拼音码、五笔字形码等;机内码;交换码,如GB2312-80; 7、计算机网络基础 计算机网络的基本特征:资源共享。广域网与广域网的互联是通过路由器实现的。 传输技术分为:广播式网络(通过一条公共信道实现)点--点式网络(通过存储转发实现)。采用分组存储转发与路由选择是点-点式网络与广播网络的重要区别之一 按规模分类:局域网(LAN)、城域网(MAN)、广域网(WAN) 广域网(远程网)以下特点:1 适应大容量与突发性通信的要求。2 适应综合业务服务的要求。3 开放的设备接口与规范化的协议。4 完善的通信服务与网络管理。 几种常见的广域网的特点: X.25:建立在速率低、误码率高的电缆介质上,X.25协议包括差错控制、流量控制和拥塞控制等,由通信子网完成,有时间延迟。 FR(帧中继):建立在速率高、误码率低的光纤上,对X.25协议进行简化,差错控制由用户终端完成。 B-ISDN(宽带综合业务数字网)、N-ISDN(窄带综合业务数字网) ATM(异步传输模式,一种数据传输与分组交换技术,能满足多媒体应用的高速率与低延迟的要求,具有线路交换实时性好和分组交换灵活性好的双重优点。 各种城域网建设方案有几个相同点:传输介质采用光纤,交换接点采用基于IP交换的高速路由交换机或A TM 交换机,在体系结构上采用核心交换层,业务汇聚层与接入层三层模式。城域网MAN介于广域网与局域网之间的一种高速网络。 8、网络协议为三部分:(1)语法,即用户数据与控制信息的结构和格式;(2)语义,即需要发出何种控制信息,以及完成的动作与做出的响应;(3)时序,即对事件实现顺序的详细说明.

2019年全国计算机三级考试数据库真题

2019年全国计算机三级考试数据库真题 一、选择题(每小题1分,共60分) 下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是准确的,请将准确选项涂写在答题卡相对应位置上,答在试卷上不得分。 1)系统软件一般包括 Ⅰ.服务性程序Ⅱ.语言处理程序Ⅲ.操作系统Ⅳ.数据库管理系统 A) Ⅰ、Ⅱ和Ⅲ B) Ⅰ、Ⅲ和Ⅳ C) Ⅱ、Ⅲ和Ⅳ D) 全部 (2) 为提升产品质量、降低生产成本,利用计算机控制、操作和管理生产设备的系统称为 A) CAT系统 B) CAT系统 C) CAD系统 D) CAM系统 (3) 计算机输出设备的功能是 A)将计算机运算的二进制结果信息打印输出 B)将计算机内部的二进制信息显示输出 C)将计算机运算的二进制结果信息打印输出和显示输出 D) 将计算机内部的二进制信息转换为人和设备能识别的信息

(4) Internet上的计算机,在通信之前需要 A) 建立主页 B) 指定一个IP地址 C) 使用WWW服务 D) 发送电子邮件 (5) 信息传输的安全应保证信息在网络传输的过程中不被泄露和不被攻击。下列哪些属于攻击方法 Ⅰ.复制信息Ⅱ.剪裁信息Ⅲ.窃听信息 A) Ⅰ和Ⅱ B) Ⅱ和Ⅲ C) Ⅰ和Ⅲ D) 全部 (6) 计算机病毒是一种具有破坏性的计算机程序,它是 A) 最初由系统自动生成的程序 B) 具有恶毒内容的文件 C) 具有自我再生水平的程序 D) 只通过网络传播的文件 (7) 以下关于数据的存储结构的叙述中哪一条是准确的? A) 数据的存储结构是数据间关系的抽象描述 B) 数据的存储结构是逻辑结构在计算机存储器中的实现 C) 数据的存储结构分为线性结构和非线性结构

计算机三级数据库模拟试题

计算机三级数据库模拟试题 一、单项选择题 1、关于简单恢复说法错误的是: A.最大限度减少事务日志的管理开销。 B.不备份事务日志,如果数据库损坏,面临极大数据丢失风险。 C.只能恢复到最新备份状态,备份间隔尽可能短,以防止数据大量丢失。仅用于测试和开发数据库或主要包含只读数据的数据库(数据仓库),不适合生产系统。 D.支持还原单个数据页。 2、下列关于差异备份的说法中,正确的是__________。 A.差异备份备份的是从上次备份到当前时间数据库变化的内容 B.差异备份备份的是从上次完整备份到当前时间数据库变化的内容 C.差异备份仅备份数据,不备份日志 D.两次完整备份之间进行的各差异备份的备份时间都是一样的 3、关于数据库恢复说法不正确的是: A.介质故障恢复是还原最近的一个数据库副本,并利用备份日志重做已提交事务的操作。 B.非介质故障恢复是不可修复性故障,由DBMS的某个过

程在数据库系统重新启动后,根据检测到的数据库不一致的状况,使用REDO与UNDO操作恢复数据。 C.对于人为破坏、用户误操作导致某些数据丢失,根据具体情况选择合适的恢复策略。 D.数据库系统在出现故障时利用先前建立的冗余数据(备份副本)把数据库恢复到某个正确、一致的状态. 4、不是SQL Server2008常用数据库备份策略如下: A.简单数据库备份 B.完整数据库备份 C.完整数据库备份+日志备份 D.完整数据库备份+日志备份+差异数据库备份 5、在数据库技术中,对数据库进行备份,这主要是为了维护数据库的 A.开放性 B.一致性 C.完整性 D.可靠性 二、填空题 6、对于数据库备份,SQL Server 2008支持的三种数据库备份方式是__________ 、和__________ 。 7、第一次对数据库进行的备份必须是__________备份。 8、SQL Server2008中,在进行数据库恢复的时候(允许/不允

计算机三级信息安全技术综合题题库

第一套 1、为了构建一个简单、安全的"客户机/服务器"模式的应用系统,要求:①能安全存储用户的口令(无须解密);②用户口令在网络传输中需要被保护;③用户与服务器需要进行密钥协商,以便在非保护信道中实现安全通信;④在通信过程中能对消息进行认证,以确保消息未被篡改。(共10分) 假设要构建的应用系统允许使用MD5、AES、Diffie-Hellman算法,给定消息m,定义MD5(m)和AES(m分)别表示对m的相应处理。为了准确地描述算法,另外定义如下:给定数x、y和z,x*y 表示乘法运算,x/y 表示除 法运算,x^y表示指数运算,而x^(y/z)表示指数为y/z 。请回答下述问题: (1)为了安全存储用户的口令,服务器需要将每个用户的口令采用_______ 【1】算法运算后存储。(1 分) (2)在建立安全通信前,用户需要首先提交用户名和口令到服务器进行认证,为了防止口令在网络传输中被 窃听,客户机程序将采用_【 2】___ 算法对口令运算后再发送。(1分) (3)为了在服务器和认证通过的用户之间建立安全通信,即在非保护的信道上创建一个会话密钥,最有效的 密钥交换协议是___ 【3 】 ___ 算法。(2分) (4)假定有两个全局公开的参数,分别为一个素数p和一个整数g,g是p的一个原根,为了协商共享的会话密 钥: 首先,服务器随机选取a,计算出A= 【4】______ mod p,并将A发送给用户;(1分) 然后,用户随机选取b,计算出B= ___ 【5】___ mod p,并将B发送给服务器;(1分) 最后,服务器和用户就可以计算得到共享的会话密钥key= 【 6】__ mod p。(2分) (5)为了同时确保数据的保密性和完整性,用户采用AES对消息m 加密,并利用MD5产生消息密文的认证码, 发送给服务器;假设服务器收到的消息密文为____________________________________ c,认证码为z。服务器只需要验证z是否等于【 7】_____________________________________ 即可验证消息是否在传输过程中被篡改。(2分) 2、为了增强数据库的安全性,请按操作要求补全SQL语句:(每空1分,共5分) (1)创建一个角色R1: _ 【8】 ____ R1; (2)为角色R1分配Student表的INSERT、UPDATE、SELEC权T 限:______ 【 9】 INSERT,UPDATE,SELECT ON TABLE Student TO R1; (3)减少角色R1的SELEC权T 限: _________ 【 10】 ON TABLE Student FROM R1;

相关文档
最新文档