计算机份本题总共42页.docx

上传人:b****8 文档编号:12962776 上传时间:2023-06-09 格式:DOCX 页数:186 大小:192.89KB
下载 相关 举报
计算机份本题总共42页.docx_第1页
第1页 / 共186页
计算机份本题总共42页.docx_第2页
第2页 / 共186页
计算机份本题总共42页.docx_第3页
第3页 / 共186页
计算机份本题总共42页.docx_第4页
第4页 / 共186页
计算机份本题总共42页.docx_第5页
第5页 / 共186页
计算机份本题总共42页.docx_第6页
第6页 / 共186页
计算机份本题总共42页.docx_第7页
第7页 / 共186页
计算机份本题总共42页.docx_第8页
第8页 / 共186页
计算机份本题总共42页.docx_第9页
第9页 / 共186页
计算机份本题总共42页.docx_第10页
第10页 / 共186页
计算机份本题总共42页.docx_第11页
第11页 / 共186页
计算机份本题总共42页.docx_第12页
第12页 / 共186页
计算机份本题总共42页.docx_第13页
第13页 / 共186页
计算机份本题总共42页.docx_第14页
第14页 / 共186页
计算机份本题总共42页.docx_第15页
第15页 / 共186页
计算机份本题总共42页.docx_第16页
第16页 / 共186页
计算机份本题总共42页.docx_第17页
第17页 / 共186页
计算机份本题总共42页.docx_第18页
第18页 / 共186页
计算机份本题总共42页.docx_第19页
第19页 / 共186页
计算机份本题总共42页.docx_第20页
第20页 / 共186页
亲,该文档总共186页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

计算机份本题总共42页.docx

《计算机份本题总共42页.docx》由会员分享,可在线阅读,更多相关《计算机份本题总共42页.docx(186页珍藏版)》请在冰点文库上搜索。

计算机份本题总共42页.docx

计算机份本题总共42页

本题总共42页,其中:

上机题题目:

共35页

程序填空题和程序修改题答案:

共3页

程序设计题答案:

共4页

说明:

上机考试正式系统共有50套题目,考生随机从中抽取一套进行考试。

例如,如果你考的是二级C语言上机考试,那么你输入准考证号并确认后,机器将从正式题库的50套题中随机为你抽取一套题目(包括一道程序填空题(30分)、一道程序修改题(30分)、一道程序设计题(40分)共3题)让你考试,如果3题都完全答对,那么你上机考试的成绩就是满分100分。

上机题题目(注:

正式考试系统共50套上机题,本预测题库亦有50套题库,本预测题库100%会在正式系统中出现。

一般来说,抽题时,填空题第1题和修改题第1题和编程题第1题会对应同时出现,如此类推)

填空题第1题:

给定程序的功能是调用fun函数建立班级通讯录。

通讯录中记录每位学生的编号、姓名和电话号码。

班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:

源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

#include

#include

#defineN5

typedefstruct

{intnum;

charname[10];

chartel[10];

}STYPE;

voidcheck();

/**********found**********/

intfun(___1___*std)

{

/**********found**********/

___2___*fp;inti;

if((fp=fopen("myfile5.dat","wb"))==NULL)

return(0);

printf("\nOutputdatatofile!

\n");

for(i=0;i

/**********found**********/

fwrite(&std[i],sizeof(STYPE),1,___3___);

fclose(fp);

return

(1);

}

main()

{STYPEs[10]={{1,"aaaaa","111111"},{1,"bbbbb","222222"},{1,"ccccc","333333"},

{1,"ddddd","444444"},{1,"eeeee","555555"}};

intk;

k=fun(s);

if(k==1)

{printf("Succeed!

");check();}

else

printf("Fail!

");

}

voidcheck()

{FILE*fp;inti;

STYPEs[10];

if((fp=fopen("myfile5.dat","rb"))==NULL)

{printf("Fail!

!

\n");exit(0);}

printf("\nReadfileandoutputtoscreen:

\n");

printf("\nnumnametel\n");

for(i=0;i

{fread(&s[i],sizeof(STYPE),1,fp);

printf("%6d%s%s\n",s[i].num,s[i].name,s[i].tel);

}

fclose(fp);

}

填空题第2题:

给定程序的功能是:

从键盘输入若干行文本(每行不超过80个字符),写到

文件myfile4.txt中,用-1作为字符串输入结束的标志。

然后将文件的内容读出显

示在屏幕上。

文件的读写分别由自定义函数ReadText和WriteText实现。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结

果。

注意:

源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

#include

#include

#include

voidWriteText(FILE*);

voidReadText(FILE*);

main()

{FILE*fp;

if((fp=fopen("myfile4.txt","w"))==NULL)

{printf("openfail!

!

\n");exit(0);}

WriteText(fp);

fclose(fp);

if((fp=fopen("myfile4.txt","r"))==NULL)

{printf("openfail!

!

\n");exit(0);}

ReadText(fp);

fclose(fp);

}

/**********found**********/

voidWriteText(FILE___1___)

{charstr[81];

printf("\nEnterstringwith-1toend:

\n");

gets(str);

while(strcmp(str,"-1")!

=0){

/**********found**********/

fputs(___2___,fw);fputs("\n",fw);

gets(str);

}

}

voidReadText(FILE*fr)

{charstr[81];

printf("\nReadfileandoutputtoscreen:

\n");

fgets(str,81,fr);

while(!

feof(fr)){

/**********found**********/

printf("%s",___3___);

fgets(str,81,fr);

}

}

填空题第3题:

给定程序中,函数fun的功能是:

将自然数1~10以及它们的平方根写到名为

myfile3.txt的文本文件中,然后再顺序读出显示在屏幕上。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结

果。

注意:

源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

#include

#include

intfun(char*fname)

{FILE*fp;inti,n;floatx;

if((fp=fopen(fname,"w"))==NULL)return0;

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

/**********found**********/

fprintf(___1___,"%d%f\n",i,sqrt((double)i));

printf("\nSucceed!

\n");

/**********found**********/

___2___;

printf("\nThedatainfile:

\n");

/**********found**********/

if((fp=fopen(___3___,"r"))==NULL)

return0;

fscanf(fp,"%d%f",&n,&x);

while(!

feof(fp))

{printf("%d%f\n",n,x);fscanf(fp,"%d%f",&n,&x);}

fclose(fp);

return1;

}

main()

{charfname[]="myfile3.txt";

fun(fname);

}

填空题第4题:

给定程序的功能是:

调用函数fun将指定源文件中的内容复制到指定的目标

文件中,复制成功时函数返回值为1,失败时返回值为0。

在复制的过程中,把复

制的内容输出到终端屏幕。

主函数中源文件名放在变量sfname中,目标文件名放

在变量tfname中。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结

果。

注意:

源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

#include

#include

intfun(char*source,char*target)

{FILE*fs,*ft;charch;

/**********found**********/

if((fs=fopen(source,___1___))==NULL)

return0;

if((ft=fopen(target,"w"))==NULL)

return0;

printf("\nThedatainfile:

\n");

ch=fgetc(fs);

/**********found**********/

while(!

feof(___2___))

{putchar(ch);

/**********found**********/

fputc(ch,___3___);

ch=fgetc(fs);

}

fclose(fs);fclose(ft);

printf("\n\n");

return1;

}

main()

{charsfname[20]="myfile1",tfname[20]="myfile2";

FILE*myf;inti;charc;

myf=fopen(sfname,"w");

printf("\nTheoriginaldata:

\n");

for(i=1;i<30;i++){c='A'+rand()%25;fprintf(myf,"%c",c);printf("%c",c);}

fclose(myf);printf("\n\n");

if(fun(sfname,tfname))printf("Succeed!

");

elseprintf("Fail!

");

}

填空题第5题:

给定程序中已建立一个带有头结点的单向链表,链表中的各结点按结点数据

域中的数据递增有序链接。

函数fun的功能是:

把形参x的值放入一个新结点并插

入到链表中,插入后各结点数据域的值仍保持递增有序。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结

果。

注意:

源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

#include

#include

#defineN8

typedefstructlist

{intdata;

structlist*next;

}SLIST;

voidfun(SLIST*h,intx)

{SLIST*p,*q,*s;

s=(SLIST*)malloc(sizeof(SLIST));

/**********found**********/

s->data=___1___;

q=h;

p=h->next;

while(p!

=NULL&&x>p->data){

/**********found**********/

q=___2___;

p=p->next;

}

s->next=p;

/**********found**********/

q->next=___3___;

}

SLIST*creatlist(int*a)

{SLIST*h,*p,*q;inti;

h=p=(SLIST*)malloc(sizeof(SLIST));

for(i=0;i

{q=(SLIST*)malloc(sizeof(SLIST));

q->data=a[i];p->next=q;p=q;

}

p->next=0;

returnh;

}

voidoutlist(SLIST*h)

{SLIST*p;

p=h->next;

if(p==NULL)printf("\nThelistisNULL!

\n");

else

{printf("\nHead");

do{printf("->%d",p->data);p=p->next;}while(p!

=NULL);

printf("->End\n");

}

}

main()

{SLIST*head;intx;

inta[N]={11,12,15,18,19,22,25,29};

head=creatlist(a);

printf("\nThelistbeforeinserting:

\n");outlist(head);

printf("\nEnteranumber:

");scanf("%d",&x);

fun(head,x);

printf("\nThelistafterinserting:

\n");outlist(head);

}

填空题第6题:

给定程序中已建立一个带有头结点的单向链表,在main函数中将多次调用fun

函数,每调用一次fun函数,输出链表尾部结点中的数据,并释放该结点,使链表

缩短。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结

果。

注意:

源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

#include

#include

#defineN8

typedefstructlist

{intdata;

structlist*next;

}SLIST;

voidfun(SLIST*p)

{SLIST*t,*s;

t=p->next;s=p;

while(t->next!

=NULL)

{s=t;

/**********found**********/

t=t->___1___;

}

/**********found**********/

printf("%d",___2___);

s->next=NULL;

/**********found**********/

free(___3___);

}

SLIST*creatlist(int*a)

{SLIST*h,*p,*q;inti;

h=p=(SLIST*)malloc(sizeof(SLIST));

for(i=0;i

{q=(SLIST*)malloc(sizeof(SLIST));

q->data=a[i];p->next=q;p=q;

}

p->next=0;

returnh;

}

voidoutlist(SLIST*h)

{SLIST*p;

p=h->next;

if(p==NULL)printf("\nThelistisNULL!

\n");

else

{printf("\nHead");

do{printf("->%d",p->data);p=p->next;}while(p!

=NULL);

printf("->End\n");

}

}

main()

{SLIST*head;

inta[N]={11,12,15,18,19,22,25,29};

head=creatlist(a);

printf("\nOutputfromhead:

\n");outlist(head);

printf("\nOutputfromtail:

\n");

while(head->next!

=NULL){

fun(head);

printf("\n\n");

printf("\nOutputfromheadagain:

\n");outlist(head);

}

}

填空题第7题:

给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递

增有序链接。

函数fun的功能是:

删除链表中数据域值相同的结点,使之只保留一

个。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结

果。

注意:

源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

#include

#include

#defineN8

typedefstructlist

{intdata;

structlist*next;

}SLIST;

voidfun(SLIST*h)

{SLIST*p,*q;

p=h->next;

if(p!

=NULL)

{q=p->next;

while(q!

=NULL)

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

{p->next=q->next;

/**********found**********/

free(___1___);

/**********found**********/

q=p->___2___;

}

else

{p=q;

/**********found**********/

q=q->___3___;

}

}

}

}

SLIST*creatlist(int*a)

{SLIST*h,*p,*q;inti;

h=p=(SLIST*)malloc(sizeof(SLIST));

for(i=0;i

{q=(SLIST*)malloc(sizeof(SLIST));

q->data=a[i];p->next=q;p=q;

}

p->next=0;

returnh;

}

voidoutlist(SLIST*h)

{SLIST*p;

p=h->next;

if(p==NULL)printf("\nThelistisNULL!

\n");

else

{printf("\nHead");

do{printf("->%d",p->data);p=p->next;}while(p!

=NULL);

printf("->End\n");

}

}

main()

{SLIST*head;inta[N]={1,2,2,3,4,4,4,5};

head=creatlist(a);

printf("\nThelistbeforedeleting:

\n");outlist(head);

fun(head);

printf("\nThelistafterdeleting:

\n");outlist(head);

}

填空题第8题:

给定程序中,函数fun的功能是:

在带有头结点的单向链表中,查找数据域中

值为ch的结点。

找到后通过函数值返回该结点在链表中所处的顺序号;若不存在

值为ch的结点,函数返回0值。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结

果。

注意:

源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

#include

#include

#defineN8

typedefstructlist

{intdata;

structlist*next;

}SLIST;

SLIST*creatlist(char*);

voidoutlist(SLIST*);

intfun(SLIST*h,charch)

{SLIST*p;intn=0;

p=h->next;

/**********found**********/

while(p!

=___1___)

{n++;

/**********found**********/

if(p->data==ch)return___2___;

elsep=p->next;

}

return0;

}

main()

{SLIST*head;intk;charch;

chara[N]={'m','p','g','a','w','x','r','d'};

head=creatlist(a);

outlist(head);

printf("Enteraletter:

");

scanf("%c",&ch);

/**********found**********/

k=fun(___3___);

if(k==0)printf("\nNotfound!

\n");

elseprintf("Thesequencenumberis:

%d\n",k);

}

SLIST*creatlist(char*a)

{SLIST*h,*p,*q;inti;

h=p=(SLIST*)malloc(sizeof(SLIST));

for(i=0;i

{q=(SLIST*)malloc(sizeof(SLIST));

q->data=a[i];p->next=q;p=q;

}

p->next=0;

returnh;

}

voidoutlist(SLIST*h)

{SLIST*p;

p=h->next;

if(p==NULL)printf("\nThelistisNULL!

\n");

else

{printf("\nHead");

do

{printf("->%c",p->data);p=p->next;}

while(p!

=NULL);

printf("->End\n");

}

}

填空题第9题:

给定程序中,函数fun的功能是:

统计出带有头结点的单向链表中结点的个数,

存放在形参n所指的存储单元中。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结

果。

注意:

源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

#include

#include

#defineN8

typedefstructlist

{intdata;

structlist*next;

}SLIST;

SLIST*creatlist(int*a);

voidoutlist(SLIST*);

voidfun(SLIST*h,int*n)

{SLIST*p;

/**

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 研究生入学考试

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2