二级C语言上机题库50套.docx

上传人:b****7 文档编号:8810163 上传时间:2023-02-01 格式:DOCX 页数:179 大小:110.39KB
下载 相关 举报
二级C语言上机题库50套.docx_第1页
第1页 / 共179页
二级C语言上机题库50套.docx_第2页
第2页 / 共179页
二级C语言上机题库50套.docx_第3页
第3页 / 共179页
二级C语言上机题库50套.docx_第4页
第4页 / 共179页
二级C语言上机题库50套.docx_第5页
第5页 / 共179页
点击查看更多>>
下载资源
资源描述

二级C语言上机题库50套.docx

《二级C语言上机题库50套.docx》由会员分享,可在线阅读,更多相关《二级C语言上机题库50套.docx(179页珍藏版)》请在冰豆网上搜索。

二级C语言上机题库50套.docx

二级C语言上机题库50套

二级C语言上机考试复习资料,共有50套题目

一、程序填空题

1、给定程序中,函数fun的功能是根据形参i的值返回某个函数的值。

当调用正确时,程序输出:

x1=5.000000,x2=3.000000,x1*x1+x1*x2=40.000000

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

注意:

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

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

#include

doublef1(doublex)

{returnx*x;}

doublef2(doublex,doubley)

{returnx*y;}

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

__1__fun(inti,doublex,doubley)

{if(i==1)

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

return__2__(x);

else

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

return__3__(x,y);

}

main()

{doublex1=5,x2=3,r;

r=fun(1,x1,x2);

r+=fun(2,x1,x2);

printf("\nx1=%f,x2=%f,x1*x1+x1*x2=%f\n\n",x1,x2,r);

}

2、程序通过定义学生结构体数组,存储了若干名学生的学号、姓名和3门课的成绩。

函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大)排序。

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

注意:

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

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

#include

#include

structstudent{

longsno;

charname[10];

floatscore[3];

};

voidfun(structstudenta[],intn)

{

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

__1__t;

inti,j;

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

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

for(j=i+1;j

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

if(strcmp(__3__)>0)

{t=a[i];a[i]=a[j];a[j]=t;}

}

main()

{structstudents[4]={{10001,"ZhangSan",95,80,88},{10002,"LiSi",85,70,78},

{10003,"CaoKai",75,60,88},{10004,"FangFang",90,82,87}};

inti,j;

printf("\n\nTheoriginaldata:

\n\n");

for(j=0;j<4;j++)

{printf("\nNo:

%ldName:

%-8sScores:

",s[j].sno,s[j].name);

for(i=0;i<3;i++)printf("%6.2f",s[j].score[i]);

printf("\n");

}

fun(s,4);

printf("\n\nThedataaftersorting:

\n\n");

for(j=0;j<4;j++)

{printf("\nNo:

%ldName:

%-8sScores:

",s[j].sno,s[j].name);

for(i=0;i<3;i++)printf("%6.2f",s[j].score[i]);

printf("\n");

}

}

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

计算形参x所指数组中N个数的平均值(规定所有数均为正数),作为函数值返回;并将大于平均值的数放在形参y所指数组中,在主函数中输出。

例如,有10个正数:

4630324061745154826,平均值为:

30.500000

主函数中输出:

4632404548

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

注意:

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

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

#include

#defineN10

doublefun(doublex[],double*y)

{inti,j;doubleav;

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

av=__1__;

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

for(i=0;i

for(i=j=0;i

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

if(x[i]>av)y[__3__]=x[i];

y[j]=-1;

returnav;

}

main()

{inti;doublex[N],y[N];

for(i=0;i

printf("\n");

printf("\nTheaverageis:

%f\n",fun(x,y));

for(i=0;y[i]>=0;i++)printf("%5.1f",y[i]);

printf("\n");

}

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

将a所指4×3矩阵中第k行的元素与第0行元素交换。

例如,有下列矩阵:

123

456

789

101112

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

789

456

123

101112

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

注意:

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

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

****新视野教育内部资料版权所有翻印必究WWW.EOL360.COM****

#include

#defineN3

#defineM4

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

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

{inti,j,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");

}

}

5、给定程序中,函数fun的功能是将a和b所指的两个字符串转换成面值相同的整数,并进行相加作为函数值返回,规定字符串中只含9个以下数字字符。

例如,主函数中输入字符串:

32486和12345,在主函数中输出的函数值为:

44831。

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

注意:

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

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

#include

#include

#include

#defineN9

longctod(char*s)

{longd=0;

while(*s)

if(isdigit(*s)){

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

d=d*10+*s-__1__;

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

__2__;}

returnd;

}

longfun(char*a,char*b)

{

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

return__3__;

}

main()

{chars1[N],s2[N];

do

{printf("Inputstrings1:

");gets(s1);}

while(strlen(s1)>N);

do

{printf("Inputstrings2:

");gets(s2);}

while(strlen(s2)>N);

printf("Theresultis:

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

}

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

计算下式前n项的和作为函数值返回。

例如,当形参n的值为10时,函数返回:

9.612558。

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

注意:

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

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

#include

doublefun(intn)

{inti;doubles,t;

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

s=__1__;

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

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

{t=2.0*i;

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

s=s+(2.0*i-1)*(2.0*i+1)/__3__;

}

returns;

}

main()

{intn=-1;

while(n<0)

{printf("Pleaseinput(n>0):

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

printf("\nTheresultis:

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

}

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

在3×4的矩阵中找出在行上最大、在列上最小的那个元素,若没有符合条件的元素则输出相应信息。

例如,有下列矩阵:

12134

78106

3597

程序执行结果为:

find:

a[2][2]=9

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

注意:

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

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

#include

#defineM3

#defineN4

voidfun(int(*a)[N])

{inti=0,j,find=0,rmax,c,k;

while((i

find))

{rmax=a[i][0];c=0;

for(j=1;j

if(rmax

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

rmax=a[i][j];c=__1__;}

find=1;k=0;

while(k

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

if(k!

=i&&a[k][c]<=rmax)find=__2__;

k++;

}

if(find)printf("find:

a[%d][%d]=%d\n",i,c,a[i][c]);

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

__3__;

}

if(!

find)printf("notfound!

\n");

}

main()

{intx[M][N],i,j;

printf("Enternumberforarray:

\n");

for(i=0;i

for(j=0;j

printf("Thearray:

\n");

for(i=0;i

{for(j=0;j

printf("\n\n");

}

fun(x);

}

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

在形参ss所指字符串数组中,删除所有串长超过k的字符串,函数返回所剩字符串的个数。

ss所指字符串数组中共有N个字符串,且串长小于M。

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

注意:

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

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

****新视野教育内部资料版权所有翻印必究WWW.EOL360.COM****

#include

#include

#defineN5

#defineM10

intfun(char(*ss)[M],intk)

{inti,j=0,len;

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

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

{len=strlen(ss[i]);

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

if(len<=__2__)

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

strcpy(ss[j++],__3__);

}

returnj;

}

main()

{charx[N][M]={"Beijing","Shanghai","Tianjing","Nanjing","Wuhan"};

inti,f;

printf("\nTheoriginalstring\n\n");

for(i=0;i

f=fun(x,7);

printf("Thestringwitchlengthislessthanorequalto7:

\n");

for(i=0;i

}

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

函数fun的功能是将形参a所指结构体变量中的数据赋给函数中的结构体变量b,并修改b中的学号和姓名,最后输出修改后的数据。

例如:

a所指变量中的学号、姓名、和三门课的成绩依次是:

10001、"ZhangSan"、95、80、88,则修改后输出b中的数据应为:

10002、"LiSi"、95、80、88。

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

注意:

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

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

#include

#include

structstudent{

longsno;

charname[10];

floatscore[3];

};

voidfun(structstudenta)

{structstudentb;inti;

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

b=__1__;

b.sno=10002;

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

strcpy(__2__,"LiSi");

printf("\nThedataaftermodified:

\n");

printf("\nNo:

%ldName:

%s\nScores:

",b.sno,b.name);

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

for(i=0;i<3;i++)printf("%6.2f",b.__3__);

printf("\n");

}

main()

{structstudents={10001,"ZhangSan",95,80,88};

inti;

printf("\n\nTheoriginaldata:

\n");

printf("\nNo:

%ldName:

%s\nScores:

",s.sno,s.name);

for(i=0;i<3;i++)printf("%6.2f",s.score[i]);

printf("\n");

fun(s);

}

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

在形参ss所指字符串数组中,将所有串长超过k的字符串中右边的字符删除,只保留左边的k个字符。

ss所指字符串数组中共有N个字符串,且串长小于M。

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

注意:

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

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

#include

#include

#defineN5

#defineM10

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

voidfun(char(*ss)__1__,intk)

{inti=0;

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

while(i<__2__){

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

ss[i][k]=__3__;i++;}

}

main()

{charx[N][M]={"Create","Modify","Sort","skip","Delete"};

inti;

printf("\nTheoriginalstring\n\n");

for(i=0;i

fun(x,4);

printf("\nThestringafterdeleted:

\n\n");

for(i=0;i

}

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

把形参s所指字符串中最右边的n个字符复制到形参t所指字符数组中,形成一个新串。

若s所指字符串的长度小于n,则将整个字符串复制到形参t所指字符数组中。

例如,形参s所指的字符串为:

abcdefgh,n的值为5,程序执行后t所指字符数组中的字符串应为:

defgh。

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

注意:

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

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

#include

#include

#defineN80

voidfun(char*s,intn,char*t)

{intlen,i,j=0;

len=strlen(s);

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

if(n>=len)strcpy(__1__);

else{

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

for(i=len-n;i<=len-1;i++)t[j++]=__2__;

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

t[j]=__3__;

}

}

main()

{chars[N],t[N];intn;

printf("Enterastring:

");gets(s);

printf("Entern:

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

fun(s,n,t);

printf("Thestringt:

");puts(t);

}

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

将形参s所指字符串中的所有数字字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。

例如,s所指字符串为:

asd123fgh5##43df,

处理后新字符串为:

123543asdfgh##df。

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

注意:

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

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

****新视野教育内部资料版权所有翻印必究WWW.EOL360.COM****

#include

#include

#include

#include

char*fun(char*s)

{inti,j,k,n;char*p,*t;

n=strlen(s)+1;

t=(char*)malloc(n*sizeof(char));

p=(char*)malloc(n*sizeof(char));

j=0;k=0;

for(i=0;i

{if(isdigit(s[i])){

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

p[__1__]=s[i];j++;}

else

{t[k]=s[i];k++;}

}

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

for(i=0;i<__2__;i++)p[j+i]=t[i];

p[j+k]=0;

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

return__3__;

}

main()

{chars[80];

printf("Pleaseinput:

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

printf("\nTheresultis:

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

}

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

找出100~999之间(含100和999)所有整数中各位上数字之和为x(x为一正整

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

当前位置:首页 > 初中教育

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

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