Qopgpq历年全国计算机等级考试二级C语言上机考试题库及答案.docx

上传人:b****1 文档编号:2374453 上传时间:2022-10-29 格式:DOCX 页数:93 大小:172.53KB
下载 相关 举报
Qopgpq历年全国计算机等级考试二级C语言上机考试题库及答案.docx_第1页
第1页 / 共93页
Qopgpq历年全国计算机等级考试二级C语言上机考试题库及答案.docx_第2页
第2页 / 共93页
Qopgpq历年全国计算机等级考试二级C语言上机考试题库及答案.docx_第3页
第3页 / 共93页
Qopgpq历年全国计算机等级考试二级C语言上机考试题库及答案.docx_第4页
第4页 / 共93页
Qopgpq历年全国计算机等级考试二级C语言上机考试题库及答案.docx_第5页
第5页 / 共93页
点击查看更多>>
下载资源
资源描述

Qopgpq历年全国计算机等级考试二级C语言上机考试题库及答案.docx

《Qopgpq历年全国计算机等级考试二级C语言上机考试题库及答案.docx》由会员分享,可在线阅读,更多相关《Qopgpq历年全国计算机等级考试二级C语言上机考试题库及答案.docx(93页珍藏版)》请在冰豆网上搜索。

Qopgpq历年全国计算机等级考试二级C语言上机考试题库及答案.docx

Qopgpq历年全国计算机等级考试二级C语言上机考试题库及答案

生命是永恒不断的创造,因为在它内部蕴含着过剩的精力,它不断流溢,越出时间和空间的界限,它不停地追求,以形形色色的自我表现的形式表现出来。

--泰戈尔

1.填空

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

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

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

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

注意:

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

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

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);

}

修改

给定程序MODI1.C中函数fun的功能是:

先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串后面。

例如:

当s中的字符串为:

“ABCDE”时,

则他中的字符串应为:

“ABCDEEDCBA”。

请改正程序中的错误,使他能得出正确的结果。

注意:

不要改动main函数,不能增行或删行,也不得更改程序的结构!

voidfun(char*s,char*t)

{inti,sl;

sl=strlen(s);

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

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

t[i]=s[i];

for(i=0;i

t[sl+i]=s[sl-i-1];

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

t[sl]='\0';

}

 

程序

函数fun的功能是:

将两个两位数的正整数a,b合并成一个整数放在c中。

合并的方式是:

将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。

例如:

a=45,b=12时,调用该函数后,c=4152.

注意:

部分源程序存在文件PROG1.C中。

数据文件IN.DAT中的数据不得修改。

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

 

答案:

B:

STYPEFILEfp

M:

for(i=0;i

P:

*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);

2.填空

给定程序的功能是:

从键盘输入若干行文本(每行不超过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);

3.填空

给定程序中,函数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);

4.填空

给定程序的功能是:

调用函数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)

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

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1