计算机二级复习资料50题.docx

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

计算机二级复习资料50题.docx

《计算机二级复习资料50题.docx》由会员分享,可在线阅读,更多相关《计算机二级复习资料50题.docx(223页珍藏版)》请在冰点文库上搜索。

计算机二级复习资料50题.docx

计算机二级复习资料50题

第1套.填空

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

将a所指4*3矩阵中第k行的元素与第0行

元素交换。

例如,有下列矩阵:

123

456

789

101112

若k为2,程序执行结果为:

789

456

123

101112

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

注意:

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

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

#include

#defineN3

#defineM4

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

voidfun(int(*a)[N],int__1__)

{inti,temp;

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

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

{temp=a[0][i];

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

a[0][i]=__3__;

a[k][i]=temp;

}

}

main()

{intx[M][N]={{1,2,3},{4,5,6},{7,8,9},{10,11,12}},i,j;

printf("Thearraybeforemoving:

\n\n");

for(i=0;i

{for(j=0;j

printf("\n\n");

}

fun(x,2);

printf("Thearrayaftermoving:

\n\n");

for(i=0;i

{for(j=0;j

printf("\n\n");

}

}

第1空:

k第2空:

N第3空:

a[k][i]

程序修改题:

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

读入一个字符串(长度<20),将该字符

串中的所有字符按ASCII码升序排序后输出。

例如,若输入:

edcba,则应输出:

abcde。

请改正程序中的错误,使它能统计出正确的结果。

注意:

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

#include

#include

voidfun(chart[])

{

charc;

inti,j;

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

for(i=strlen(t);i;i--)

for(j=0;j

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

if(t[j]

{

c=t[j];

t[j]=t[j+1];

t[j+1]=c;

}

}

main()

{

chars[81];

printf("\nPleaseenteracharacterstring:

");

gets(s);

printf("\n\nBeforesorting:

\n\"%s\"",s);

fun(s);

printf("\nAftersortingdecendingly:

\n\"%s\"\n",s);

}

第1处:

“for(i=strlen(t);i;i--)”应改为“for(i=strlen(t)-1;i;i--)”;

第2处:

“if(t[j]t[j+1])”。

程序设计

请编写一个函数fun,其功能

是:

将ss所指字符串中下标为奇数位置上的字母转换为大写(若该位置不是字母,则不转换)

例如,若输入"abc4EFg",则应输出"aBc4EFg"

注意:

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

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

#include

#include

voidfun(char*ss)

{

}

voidmain(void)

{

chartt[51];voidNONO();

printf("\nPleaseenterancharacterstringwithin50characters:

\n");

gets(tt);

printf("\n\nAfterchanging,thestring\n\"%s\"",tt);

fun(tt);

printf("\nbecomes\n\"%s\"",tt);

NONO();

}

voidNONO()

{

/*请在此函数内打开文件,输入测试数据,调用fun函数,

输出数据,关闭文件。

*/

chartt[51],ch;

FILE*rf,*wf;

intlen,i=0;

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

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

while(i<10){

fgets(tt,50,rf);

len=strlen(tt)-1;

ch=tt[len];

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

fun(tt);

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

i++;

}

fclose(rf);

fclose(wf);

}

答案:

voidfun(char*ss)

{

inti=0;

while(*ss)

{

if(*ss>=’a’&&*ss<=’z’&&i%2==1)

ss++;

i++;

}

}

第2套.填空

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

将N*N矩阵中元

789素的值按列右移1个位置,右边

被移出矩阵的元素绕回左边。

例如,N=3,有下列矩阵

123

456

计算结果为

312

645

978

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

注意:

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

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

#include

#defineN4

voidfun(int(*t)[N])

{inti,j,x;

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

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

{

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

x=t[i][___2___];

for(j=N-1;j>=1;j--)

t[i][j]=t[i][j-1];

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

t[i][___3___]=x;

}

}

main()

{intt[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10},i,j;

printf("Theoriginalarray:

\n");

for(i=0;i

{for(j=0;j

printf("\n");

}

fun(t);

printf("\nTheresultis:

\n");

for(i=0;i

{for(j=0;j

printf("\n");

}

}

第一空:

N第二空:

N-1第三空:

0

改错

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

计算并输出下列级数的前N项之和Sn,直到Sn+1大于q为止,q的值通过形参传入。

234N+1

Sn=---+---+---+.....+------

123N

例如,若q的值为:

50.0则函数值为:

49.394948。

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

注意:

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

#include

doublefun(doubleq)

{intn;doubles,t;

n=2;

s=2.0;

while(s<=q)

{

t=s;

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

s=s+(n+1)/n;

n++;

}

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

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

returns;

}

main()

{

printf("%f\n",fun(50));

}

1处改为“s=s+(n+1)/n;”应改为“s=s+(double)(n+1)/n;”;

2处改为“returns;”应改为“returnt;”

程序设计题

编写函数fun,它的功能是:

求Fibonacci数列中大于t的最小的一个数,结果由函数返回

其中Fibonacci数列F(n)的定义为:

F(0)=0,F

(1)=1

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

例如:

当t=1000时,函数值为:

1597。

#include

#include

intfun(intt)

{

}

main()/*主函数*/

{intn;

voidNONO();

n=1000;

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

NONO();

}

voidNONO()

{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。

*/

FILE*fp,*wf;

inti,n,s;

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

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

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

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

s=fun(n);

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

}

fclose(fp);

fclose(wf);

}

答案:

intfun(intt)

{

intf0=0,f1=1,f=0;

while(f

{

f=f0+f1;

f0=f1;

f1=f;

}

returnf;

}

第三套:

填空

给定程序中已建立带有头节点的单项列表,链表中的各节点按数据域递增有序链接。

函数fun的功能是:

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

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

}

答案:

第1空:

q第2空:

next第3空:

next

修改题:

用选择法对数组中n个元素按从小到大的顺序进行修改。

#include

#defineN20

voidfun(inta[],intn)

{inti,j,t,p;

for(j=0;j

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

p=j

for(i=j+1;i

if(a[i]

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

p=j;

t=a[p];a[p]=a[j];a[j]=t;

}

}

main()

{

inta[N]={9,6,8,3,-1},i,m=5;

printf("排序前的数据:

");

for(i=0;i

fun(a,m);

printf("排序后的数据:

");

for(i=0;i

}

第1处:

“p=j”应改为“p=j;”。

第2处:

“p=j;”应改为“p=i;”。

程序设计题

请编写一个函数fun,它的功能是:

求出11到m之间(含m)能被7或11整除的所有整数放在数组a中

通过n返回这些数的个数。

例如,若传送给m的值为50.则程序输出:

711142122283335424449

#include

#defineM100

voidfun(intm,int*a,int*n)

{

}

main()

{intaa[M],n,k;

voidNONO();

fun(50,aa,&n);

for(k=0;k

if((k+1)%20==0)printf("\n");

elseprintf("%4d",aa[k]);

printf("\n");

NONO();

}

voidNONO()

{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。

*/

FILE*fp,*wf;

inti,n,j,k,aa[M],sum;

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

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

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

fscanf(fp,"%d,",&j);

fun(j,aa,&n);

sum=0;

for(k=0;k

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

}

fclose(fp);

fclose(wf);

}

答案:

voidfun(intm,int*a,int*n)

{

inti,j=0;

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

if((i%7==0)||(i%11==0))

a[j++]=i;

*n=j;

}

第四套:

填空题

函数fun的功能是:

将形参n中,各位上为偶数的数取出,并使原来从高位到地位相反的

顺序组成一个新数,并作为函数值返回。

例如,输入一个整数:

27638496,函数返回值为:

64862.

#include

unsignedlongfun(unsignedlongn)

{unsignedlongx=0;intt;

while(n)

{t=n%10;

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

if(t%2==__1__)

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

x=__2__+t;

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

n=__3__;

}

returnx;

}

main()

{unsignedlongn=-1;

while(n>99999999||n<0)

{printf("Pleaseinput(0

");scanf("%ld",&n);}

printf("\nTheresultis:

%ld\n",fun(n));

}

答案:

第1空:

0第2空:

x*10第3空:

n/10

修改题:

函数fun的功能是:

将长整型数中每一位上为奇数的数依次取出,构成一个新书数

放在t中,高位仍在高位,地位仍在低位。

例如,当s中的数为;87653142,t中的数为:

7531

#include

voidfun(longs,long*t)

{intd;

longsl=1;

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

t=0;

while(s>0)

{d=s%10;

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

if(d%2==0)

{*t=d*sl+*t;

sl*=10;

}

s/=10;

}

}

main()

{longs,t;

printf("\nPleaseenters:

");scanf("%ld",&s);

fun(s,&t);

printf("Theresultis:

%ld\n",t);

}

答案:

第1处:

“t=0;”应改为“*t=0;”;

第2处:

“d%2==0”应改为“d%2==1”。

程序设计题;

编写一个函数fun,它的功能是:

实现两个字符串的连接(不使用库函数strcat),

即把p2所指的字符串连接到p1所指的字符串后面。

例如,分别输入下面两个字符串后,

FirstString--

SecondString

程序输出;

FirstString--SecondString

#include

voidfun(charp1[],charp2[])

{

}

main()

{chars1[80],s2[40];voidNONO();

printf("Enters1ands2:

\n");

scanf("%s%s",s1,s2);

printf("s1=%s\n",s1);

printf("s2=%s\n",s2);

printf("Invokefun(s1,s2):

\n");

fun(s1,s2);

printf("Afterinvoking:

\n");

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

NONO();

}

voidNONO()

{/*本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。

*/

inti;

FILE*rf,*wf;

chars1[80],s2[40];

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

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

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

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

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

fun(s1,s2);

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

}

fclose(rf);

fclose(wf);

}

答案:

voidfun(charp1[],charp2[])

{

while(*p1)

p1++;

while(*p2)

*p1++=*p2++;

*p1=’\0’;

}

第五套;填空题

程序通过定义学生结构体变量,存储了学生的学号,姓名和3门课的成绩。

所有

学生数据均以二进制方式输出到student.dat文件中。

函数fun的功能是从指定

文件中找出指定学号的学生数据,读入此学生的数据,对该生的分数进行修改

,是每门课的分数家3分,修改后重写文件中该学生的数据,即用学生的新数据

覆盖原数据,其它学生数据不变;若找不到,则什么都不做。

#include

#defineN5

typedefstructstudent{

longsno;

charname[10];

floatscore[3];

}STU;

voidfun(char*filename,longsno)

{FILE*fp;

STUn;inti;

fp=fopen(filename,"rb+");

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

while(!

feof(__1__))

{fread(&n,sizeof(STU),1,fp);

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

if(n.sno__2__sno)break;

}

if(!

feof(fp))

{for(i=

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

当前位置:首页 > IT计算机 > 电脑基础知识

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

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