全国计算机等级考试二级C语言上机考试题库及答案.docx
- 文档编号:11846983
- 上传时间:2023-04-06
- 格式:DOCX
- 页数:110
- 大小:171.66KB
全国计算机等级考试二级C语言上机考试题库及答案.docx
《全国计算机等级考试二级C语言上机考试题库及答案.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级C语言上机考试题库及答案.docx(110页珍藏版)》请在冰豆网上搜索。
全国计算机等级考试二级C语言上机考试题库及答案
1.填空
给定程序的功能是:
从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中,用-1作为字符串输入结束的标记。
然后将文件的内容读出显示在屏幕上。
文件的读写分别有自定义函数ReadText和WriteText实现。
请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。
注意:
源程序存放在考生文件夹下的BLANK1.c中
不得增行或删行,也不得更改程序的结构!
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);
}
}
修改
给定程序MODI1.c中函数fun的功能是:
从低位开始取出长整形变量s中的奇数位上的数,依次构成一个新数放在t中,高位仍放在高位,低位仍放在低位。
例如:
当s中的数为:
7654321时,t中的数为:
7531
请改正程序中的错误,使他能得出正确的结果。
注意:
不要改动main函数,不能增行或删行,也不得更改程序的结构!
#include
/************found************/
voidfun(longs,longt)
{longsl=10;
*t=s%10;
while(s>0)
{s=s/100;
*t=s%10*sl+*t;
/************found************/
sl=sl*100;
}
}
程序
函数fun的功能是:
将两个两位数的正整数a,b合并成一个整数放在c中。
合并的方式是:
将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。
例如:
a=45,b=12时,调用该函数后,c=1524.
注意:
部分源程序存在文件PROG1.C中。
数据文件IN.DAT中的数据不得修改。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
2、B:
*fwstrstr
M:
long*tsl=sl*10;
P:
*c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10);
2.填空
给定程序中,函数fun的功能是:
将自然数1~10以及它们的平方根写到名为myfile3txt的文本文档中,然后再顺序读出显示在屏幕上。
请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。
注意:
源程序存放在考生文件夹下的BLANK1.c中
不得增行或删行,也不得更改程序的结构!
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;
}
修改
给定程序MODI1.c中fun函数的功能是:
将n个无序整数从小到大排序。
fun(intn,int*a)
{inti,j,p,t;
for(j=0;j {p=j; /************found************/ for(i=j+1;i if(a[p]>a[i]) /************found************/ t=i; if(p! =j) {t=a[j];a[j]=a[p];a[p]=t;} } } 程序 函数fun的功能是: 将两个两位数的正整数a,b合并成一个整数放在c中。 合并的方式是: 将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。 例如: a=45,b=12时,调用该函数后,c=2514 注意: 部分源程序存在文件PROG1.C中。 数据文件IN.DAT中的数据不得修改。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 3、B: fpfclose(fp)fname M: i P: *c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10); 3.填空 给定程序的功能是: 调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为1,失败时返回值为0,在复制的过程中,把复制的内容输出到终端屏幕。 主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中 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; } 修改 给定程序MODI1.C中函数fun的功能是: 将长整形数中每一位上为偶数的数依次取出,构成一个新数放在t中。 高位仍在高位,低位仍在低位。 例如: 当s中的数为: 87653142时,t中的数为: 8642 voidfun(longs,long*t) {intd; longsl=1; *t=0; while(s>0) {d=s%10; /************found************/ if(d%2=0) {*t=d*sl+*t; sl*=10; } /************found************/ s\=10; } } 程序 函数fun的功能是: 将两个两位数的正整数a,b合并成一个整数放在c中。 合并的方式是: 将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。 例如: a=45,b=12时,调用该函数后,c=5142 注意: 部分源程序存在文件PROG1.C中。 数据文件IN.DAT中的数据不得修改。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 4、B: “r”fsft M: (d%2==0)s/=10; P: *c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10); 4.填空 给定程序中已建立一个带有头结点的单向链表,链表中的各节点按结点数据域中的数据递增有序链表。 函数fun的功能是: 把形参x的值放入一个新结点并插入到链表中,插入后结点数据域的值仍保持递增有序。 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___; } 修改 给定程序MODI1.C中函数fun的功能是: 计算正整数num的各位上的数字之积。 例如,若输入: 252,则输入应该是: 20.若输入: 202,则输出应该是: 0. longfun(longnum) { /************found************/ longk; do {k*=num%10; /************found************/ num\=10; }while(num); return(k); } 请编写一个函数fun,它的功能是: 它的功能是: 计算n门课程的平均分,计算结果作为函数值返回。 例如: 若有5门课程的成绩是: 90.5,72,80,61.5,55 则函数的值为: 71.80 5、B: xps M: longk=1;num/=10; P: inti;floatave=0.0;for(i=0;i 5.填空 给定程序中已建立一个带有头结点的单向链表,在main函数中将多次调用fun函数,没调用一次fun函数,输出链表尾部结点中的数据,并释放该节点,是链表缩短。 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___); } 修改 给定程序MODI1.C中函数fun的功能是: 将字符串中的字符按逆序输出,单补改变字符串中的内容。 例如,若字符串味abcd,则应输出: dcba /************found************/ fun(chara) {if(*a) {fun(a+1); /************found************/ printf("%c"*a); } } 程序 请编写一个函数fun,他的功能是: 比较两个字符串的长度(不得调用c语言提供的求字符串长度的函数),函数返回较长的字符串。 若两个字符串长度相同,则返回第一个字符串。 例如,输入beijing 6、B: nextt->datat M: fun(char*a)printf("%c",*a); P: inti;char*p=s,*q=t; for(i=0;*p&&*q;i++) { p++;q++; } if(*p==0&&*q==0)returns; if(*p)returns;elsereturnt; 6.填空 给定程序中建立一个带有头结点的单向链表,链表中的各节点按数据域递增有序连接。 函数fun的功能是: 删除链表中数据域值相同的结点,使之只保留一个 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___; } } } } 修改 给定程序MODI1.C中函数fun的功能是: 用选择法对数组中的n个元素按从小到大的顺序进行排序。 voidfun(inta[],intn) {inti,j,t,p;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国 计算机等级考试 二级 语言 上机 考试 题库 答案