历年全国计算机等级考试二级C语言上机考试题库及答案Word文档下载推荐.docx
《历年全国计算机等级考试二级C语言上机考试题库及答案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《历年全国计算机等级考试二级C语言上机考试题库及答案Word文档下载推荐.docx(93页珍藏版)》请在冰豆网上搜索。
printf("
\nOutputdatatofile!
\n"
);
for(i=0;
i<
N;
i++)
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;
=s1;
i++)
t[i]=s[i];
for(i=0;
sl;
t[sl+i]=s[sl-i-1];
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<
sl;
i++)t[2*sl]=0;
P:
*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);
2.填空
给定程序的功能是:
从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中,用-1作为字符串输入结束的标记。
然后将文件的内容读出显示在屏幕上。
文件的读写分别有自定义函数ReadText和WriteText实现。
main()
{FILE*fp;
myfile4.txt"
w"
{printf("
openfail!
!
exit(0);
}
WriteText(fp);
r"
ReadText(fp);
voidWriteText(FILE___1___)
{charstr[81];
\nEnterstringwith-1toend:
gets(str);
while(strcmp(str,"
-1"
)!
=0){
fputs(___2___,fw);
fputs("
fw);
voidReadText(FILE*fr)
\nReadfileandoutputtoscreen:
fgets(str,81,fr);
while(!
feof(fr)){
%s"
___3___);
给定程序MODI1.c中函数fun的功能是:
从低位开始取出长整形变量s中的奇数位上的数,依次构成一个新数放在t中,高位仍放在高位,低位仍放在低位。
当s中的数为:
7654321时,t中的数为:
7531
#include<
stdio.h>
voidfun(longs,longt)
{longsl=10;
*t=s%10;
while(s>
0)
{s=s/100;
*t=s%10*sl+*t;
sl=sl*100;
a=45,b=12时,调用该函数后,c=1524.
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的文本文档中,然后再顺序读出显示在屏幕上。
intfun(char*fname)
inti,n;
floatx;
if((fp=fopen(fname,"
))==NULL)return0;
for(i=1;
i<
=10;
i++)
fprintf(___1___,"
%d%f\n"
i,sqrt((double)i));
\nSucceed!
!
___2___;
\nThedatainfile:
if((fp=fopen(___3___,"
return0;
fscanf(fp,"
%d%f"
&
n,&
x);
while(!
feof(fp))
n,x);
return1;
给定程序MODI1.c中fun函数的功能是:
将n个无序整数从小到大排序。
fun(intn,int*a)
{inti,j,p,t;
for(j=0;
j<
n-1;
j++)
{p=j;
for(i=j+1;
i++)
if(a[p]>
a[i])
t=i;
if(p!
=j)
{t=a[j];
a[j]=a[p];
a[p]=t;
a=45,b=12时,调用该函数后,c=2514
3、B:
fpfclose(fp)fname
np=i
*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;
if((fs=fopen(source,___1___))==NULL)
if((ft=fopen(target,"
ch=fgetc(fs);
feof(___2___))
{putchar(ch);
fputc(ch,___3___);
fclose(fs);
fclose(ft);
\n\n"
将长整形数中每一位上为偶数的数依次取出,构成一个新数放在t中。
高位仍在高位,低位仍在低位。
87653142时,t中的数为:
8642
voidfun(longs,long*t)
{intd;
longsl=1;
*t=0;
{d=s%10;
/************foun