二级c语言上机题.docx

上传人:b****6 文档编号:6154925 上传时间:2023-01-04 格式:DOCX 页数:63 大小:63.44KB
下载 相关 举报
二级c语言上机题.docx_第1页
第1页 / 共63页
二级c语言上机题.docx_第2页
第2页 / 共63页
二级c语言上机题.docx_第3页
第3页 / 共63页
二级c语言上机题.docx_第4页
第4页 / 共63页
二级c语言上机题.docx_第5页
第5页 / 共63页
点击查看更多>>
下载资源
资源描述

二级c语言上机题.docx

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

二级c语言上机题.docx

二级c语言上机题

二级C语言上机考试复习资料

(前面为填空题题目,后面同序号依次为此套题的填空题、改错题、编程题答案)

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

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

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

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

1、

(1)double

(2)f1(3)f2

1、

(1)char*fun(char*s,char*t)

(2)ss++;(3)tt++;

1、voidfun(char*w,intm)

{

chara[N];

inti;

for(i=0;i

while(w[i]){w[i-m]=w[i];i++;}

i--;m--;

for(;m>=0;m--,i--)w[i]=a[m];

}

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

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

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

2、

(1)structstudent

(2)n-1(3)a[i].name,a[j].name

2、

(1)q=p+i;

(2)while(q>p)

2.intfun(STREC*a,STREC*b,intl,inth)

{

inti,j=0;

for(i=0;i

{

if(a[i].s>=l&&a[i].s<=h)

{

b[j]=a[i];

j++;

}

}

returnj;

}

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

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

例如,有10个正数:

4630324061745154826,平均值为:

30.500000

主函数中输出:

4632404548

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

3、

(1)0

(2)x[i]/N(3)j++

3、

(1)doublefun(intm)

(2)for(i=100;i<=m;i~1+=0)

3.fun(STUa[],STU*s)

{

inti;

*s=a[0];

for(i=1;i

{

if(a[i].ss)

{

*s=a[i];

}

}

}

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

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

例如,有下列矩阵:

123

456

789

101112

4、

(1)k

(2)N(3)a[k][i]

4、

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

(2)if(t[j]>t[j+1])

4.voidfun(char*ss)

{

inti=1;

while(ss[i-1]&&ss[i])

{

if(ss[i]>='a'&&ss[i]<='z')ss[i]+='A'-'a';

i+=2;

}

}

 

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

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

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

44831。

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

5、

(1)'0'

(2)s++(3)ctod(a)+ctod(b)

5、

(1)voidfun(char*s,int*a,int*b)

(2)++(*a);(3)++(*b);

5.floatfun(floath)

{

longi=h*1000;

if(i%10<5)return(i/10)/100.0;

elsereturn(i/10+1)/100.0;

}

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

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

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

9.612558。

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

6、

(1)0

(2)n(3)(t*t)

6、

(1)for(i=0;str[i];i++)

(2)if(substr[k+1]==0)

6.doublefun(doubleeps)

{

doublei=1,a=1,b=1,c=1,s=0;

while(c>=eps)

{

s+=c;

a*=i;

b*=2*i+1;

c=a/b;

i++;

}

returns*2;

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

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

例如,有下列矩阵:

12134

78106

3597

程序执行结果为:

find:

a[2][2]=9

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

7、

(1)j

(2)0(3)i++

7、

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

(2)y-=1.0/i/i;

7.intfun(intscore[],intm,intbelow[])

{

inti,j=0,s=0;

for(i=0;i

s/=m;

for(i=0;i

{

if(score[i]

{

below[j]=score[i];

j++;

}

}

returnj;

}

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

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

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

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

8、

(1)N

(2)k(3)ss[i]

8、

(1)intk=0;

(2)while(*p||*q)

8.voidfun(char*a)

{

inti=0,j=0;

while(a[i])

{

if(j==0&&a[i]!

='*')

{

j=i+1;

}

elseif(a[i]!

='*')

{

a[j]=a[i];

j++;

}

i++;

}

a[j]=0;

}

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

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

例如:

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

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

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

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

9、

(1)a

(2)b.name(3)score[i]

9、

(1)s[j++]=s[i];

(2)s[j]=0;

9.voidfun(char*a)

{

inti=0,j=0;

while(a[i])

{

if(a[i]!

='*')

{

j=i;

break;

}

i++;

}

while(a[i])

{

a[i-j]=a[i];

i++;

}

i-=j;

for(;j>0;j--)

{

a[i]='*';

i++;

}

}

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

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

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

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

10、

(1)[M]

(2)N(3)0

10、

(1)t=1;

(2)return(2*s);

10.voidfun(char*a,intn)

{

inti=0,j=0;

while(a[i])

{

if(a[i]!

='*')

{

j=i;

break;

}

i++;

}

if(j>n)

{

while(a[i])

{

a[i-j+n]=a[i];

i++;

}

a[i-j+n]=0;

}

}

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

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

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

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

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

defgh。

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

11、

(1)t,s

(2)s[i](3)0

11、

(1)if(i%k==0)

(2)if(k>=i)

11.voidfun(intx,intpp[],int*n)

{

inti;

*n=0;

for(i=1;i<=x;i+=2)

{

if(x%i==0)

{

pp[*n]=i;

(*n)++;

}

}

}

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

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

例如,s所指字符串为:

asd123fgh5##43df,

处理后新字符串为:

123543asdfgh##df。

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

12、

(1)j

(2)k(3)p

12、

(1)while(i

(2)if(*a)

12.voidfun(char*s,chart[])

{

inti=0,j=0;

while(s[i])

{

if(i%2!

=0||s[i]%2==0)

{

t[j]=s[i];

j++;

}

i++;

}

t[j]=0;

}

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

找出100~999之间(含100和999)所有整数中各位上数字之和为x(x为一正整数)的整数,然后输出;符合条件的整数个数作为函数值返回。

例如,当x值为5时,100~999之间各位上数字之和为5的整数有:

104、113、122、131、140、203、212、221、230、302、311、320、401、410、500。

共有15个。

当x值为27时,各位数字之和为27的整数是:

999。

只有1个。

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

13、

(1)999

(2)t/10(3)x

13、

(1)voidfun(longs,long*t)

(2)while(s>0)

13.voidfun(inta,intb,long*c)

{

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

}

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

将形参s所指字符串中的数字字符转换成对应的数值,计算出这些数值的累加和作为函数值返回。

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

abs5def126jkm8,程序执行后的输出结果为:

22。

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

14、

(1)48

(2)s++(3)sum

14、

(1)if((k%13==0)||(k%17==0))

(2)}

14.doublefun(intn)

{

inti;

doubles=0;

for(i=1;i

{

if(i%3==0&&i%7==0)s+=i;

}

returnsqrt(s);

}

15、给定程序中,函数fun的功能是将带头节点的单向链表结点数据域中的数据从小到大排序。

即若原链表结点数据域从头至尾的数据为:

10、4、2、8、6,排序后链表结点数据域从头至尾的数据为:

2、4、6、8、10。

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

15、

(1)h->next

(2)p->next(3)>=

15、

(1)p=h->next;

(2)p=p->next;

15.voidfun(int(*s)[10],int*b,int*n,intmm,intnn)

{

inti,j;

*n=0;

for(i=0;i

for(j=0;j

{

b[*n]=s[i][j];

(*n)++;

}

}

 

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

函数fun的功能是将形参a所指结构体变量s中的数据进行修改,并把a中地址作为函数值返回主函数,在主函数中输出修改后的数据。

例如:

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

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

10002、"LiSi"、96、81、89。

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

16、

(1)structstudent*

(2)a->score[i](3)a

16、

(1)char*fun(char(*sq)[M])

(2)returnsp;

16.intfun(STRECa[])

{

inti,j;

STRECb;

for(i=0;i

for(j=i+1;j

if(a[i].s

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

}

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

计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中大于平均值的数据移至数组的前部,小于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。

例如,有10个正数:

4630324061745154826,平均值为:

30.500000

移动后的输出为:

4632404548306171526

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

17、

(1)s/N

(2)j++(3)-1

17、

(1)#include"stdio.h"

(2)upfst(char*p)

17.doublefun(intw[][N])

{

doubles=0;

inti;

for(i=0;i

s+=w[0][i]+w[N-1][i]+w[i][0]+w[i][N-1];

s-=w[0][0]+w[0][N-1]+w[N-1][0]+w[N-1][N-1];

returns/(N*4-4);

}

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

计算出形参s所指字符串中包含的单词个数,作为函数值返回。

为便于统计,规定各单词之间用空格隔开。

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

ThisisaClanguageprogram.,函数的返回值为6。

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

18、

(1)n++

(2)0(3)s++

18、

(1)t+=s[k];

(2)*aver=ave;

18.intfun(int*s,intt,int*k)

{

inti;

*k=0;

for(i=0;i

if(s[i]>s[*k])*k=i;

}

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

在形参ss所指字符串数组中查找与形参t所指字符串相同的串,找到后返回该串在字符串数组中的位置(下标值),未找到则返回-1。

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

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

19、

(1)N

(2)i(3)-1

19、

(1)a2=k/10;

(2)returni;

19.voidfun(char*a)

{

inti=0,j=0;

while(a[i])

{

if(a[i]!

='*')j=0;

elsej++;

i++;

}

a[i-j]=0;

}

 

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

找出N×N矩阵中每列元素中的最大值,并按顺序依次存放于形参b所指的一维数组中。

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

20、

(1)a[0][i]

(2)<(3)x,y

20、

(1)intfun(int*x,int*y)

(2)t=*x;*x=*y;*y=t;

20.intfun(intlim,intaa[MAX])

{

inti,j,k=0;

for(i=2;i<=lim;i++)

{

for(j=2;j

if(i%j==0)break;

if(j==i)

{

aa[k]=i;

k++;

}

}

returnk;

}

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

判断形参s所指字符串是否是"回文"(Palindrome),若是,函数返回值为1;不是,函数返回值为0。

"回文"是正读和反读都一样的字符串(不区分大小写字母)。

例如,LEVEL和Level是"回文",而LEVLEV不是"回文"。

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

21、

(1)s

(2)--(3)return0

21、

(1)doublefun(intn)

(2)c=a;a+=b;b=c;

21.voidfun(intm,intk,intxx[])

{

inti,j=m+1,n=0;

while(n

{

for(i=2;i

if(j%i==0)break;

if(j==i)

{

xx[n]=i;

n++;

}

j++;

}

}

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

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

函数fun的功能是从指定文件中找出指定学号的学生数据,读入此学生数据,对该生的分数进行修改,使每门课的分数加3分,修改后重写文件中该学生的数据,即用该学生的新数据覆盖原数据,其它学生数据不变;若找不到,则什么都不做。

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

22、

(1)feof(fp)

(2)==sno(3)sizeof(STU)

22、

(1)n=strlen(aa);

(2)ch=aa[i];

22.doublefun(STREC*h)

{

doublea=0;

STREC*p=h->next;

while(p)

{

if(as)a=p->s;

p=p->next;

}

returna;

}

 

 

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

函数fun的功能是对形参b所指结构体变量中的数据进行修改,最后在主函数中输出修改后的数据。

例如:

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

10002、"ZhangQi"、93、85、87,修改后输出t中的数据应为:

10004、"LiJie"、93、85、87。

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

23、

(1)->sno

(2)->name(3)&t

23、

(1)doublefun(doublea,doublex0)

(2)if(fabs(x1-x0)>0.00001)

23.doublefun(STREC*a,STREC*b,int*n)

{

inti;

doubles=0;

for(i=0;i

s+=a[i].s;

s/=N;

*n=0;

for(i=0;i

if(a[i].s>s)

{

b[*n]=a[i];

(*n)++;

}

returns;

}

 

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

计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。

例如,有10个正数:

4630324061745154826,平均值为:

30.500000

移动后的输出为:

3061715264632404548

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

24、

(1)x[i]/N

(2)j++(3)i++

24、

(1)num[k]=0;

(2)switch(*s)

24.intfun(inta[M][N])

{

inti,s=0;

for(i=0;i

s+=a[0][i]+a[M-1][i];

for(i=1;i

s+=a[i][0]+a[i][N-1];

returns;

}

 

25、给定程序中,函数fun的功能是计算下式

例如,若形参e的值为1e-3,函数的返回值2.735678。

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

25、

(1)0

(2)i++(3)2.*i

25、

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

(2)t[2*d]=0;

25.voidfun(char*s,chart[])

{

inti=0,j=0;

while(s[i])

{

if(i%2==1&&s[i]%2==1)

{

t[j]=s[i];

j++;

}

}

t[j]=0;

}

 

26、给定程序中,函数fun的功能是建立一个N×N的矩阵。

矩阵元素的构成规律是:

最外层元素的值全部为1;从外向内第2层元素的值全部为2;第3层元素的值全部为3,…依次类推。

例如,若N=5,生成的矩阵为:

11111

12221

12321

12221

11111

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

26、

(1)[N]

(2)i(3)i+1

26、

(1)aa[i]=m%k;

(2)printf("%d",aa[i-1]);

26.fun(char(*a)[81],intnum,char**max)

{

inti,j,k=strlen(a[0]);

*max=a[0];

for(i=1;i

{

j=strlen(a[i]);

if(k

{

k=j;

*max=a[i];

}

}

}

27、给定程序中,函数fun的功能是用函数指针指向要调用的函数,并进行调用。

规定在__2

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

当前位置:首页 > 党团工作 > 其它

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

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