浙江省计算机二级C语言模拟试题Word下载.docx

上传人:b****5 文档编号:19960174 上传时间:2023-01-12 格式:DOCX 页数:9 大小:19.93KB
下载 相关 举报
浙江省计算机二级C语言模拟试题Word下载.docx_第1页
第1页 / 共9页
浙江省计算机二级C语言模拟试题Word下载.docx_第2页
第2页 / 共9页
浙江省计算机二级C语言模拟试题Word下载.docx_第3页
第3页 / 共9页
浙江省计算机二级C语言模拟试题Word下载.docx_第4页
第4页 / 共9页
浙江省计算机二级C语言模拟试题Word下载.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

浙江省计算机二级C语言模拟试题Word下载.docx

《浙江省计算机二级C语言模拟试题Word下载.docx》由会员分享,可在线阅读,更多相关《浙江省计算机二级C语言模拟试题Word下载.docx(9页珍藏版)》请在冰豆网上搜索。

浙江省计算机二级C语言模拟试题Word下载.docx

【程序说明】下列程序运行时,输入n个学生的姓名和3门功课成绩,然后根据3门功课的平均成绩从高分到低分显示每个学生的姓名,3门功课成绩以及平均成绩.

#include 

(5) 

struct 

student 

char 

name[9];

a[3];

float 

v;

temp,*s;

i,j,k;

scanf("

%d"

&

n);

s=(student*)malloc(n*sizeof(student));

for( 

(6) 

) 

%s"

s[i].name);

s[i].v=0;

for(j=0;

j<

3;

j++) 

s[i].a[j]);

(7) 

for(i=0;

is[k].v) 

k=j;

temp=s[i];

s[i]=s[k];

s[k]=temp;

s[i].name,s[i].a[0],s[i].a[1],s[i].a[2],s[i].v);

A,#include 

B,#include 

C,#include 

D,#include 

A,i=1;

=n;

i++ 

B,i=1;

C,i=0;

i0;

--i

A,s[i].v=s[i].v+s[i].a[j] 

B,s[i].v+=s[i].a[j]/3

C,s+i->

v=s+i->

v+s+i->

a[j]/3 

D,s+i->

v+=s+i->

a[j]/3

(8) 

A,j=i-1;

C,j=i+1;

j试题3(每小题3分,共12分)

从键盘输入一批以 

-1结束的整数,将其中的奇数写入当前目录下的文本文件res.txt.

x;

(9) 

if((fp=fopen("

res.txt"

"

w"

))==NULL) 

不能打开文件"

);

exit(0);

 

&

x);

while( 

(10) 

){

if(x%2!

=0) 

(11) 

(12) 

fclose(fp);

A,FILE 

fp 

B,FILE 

*fp 

C,file 

D,file 

*fp

A,x 

== 

-1 

B,feof(fp) 

C,!

feof(fp) 

D,x!

=-1

A,fprintf(fp, 

"

%d 

x) 

B,printf( 

x)

C,fprintf("

x, 

fp) 

D,break

A,printf("

B,fscanf(fp,"

D,scanf("

试题4(每小题3分,共12分)

阅读下列程序并回答问题,在每个小题提供的若干可选答案中,挑选一个正确的答案.

stdio.h"

main( 

j, 

k, 

n, 

s, 

a[6][6];

for(k=0;

a[k][j]=j*n+k;

a[0][1]=%d\n"

a[0][1]);

s=0;

for 

(k=0;

+=a[k][k];

sum1=%d\n"

s);

+=a[n-k-1][k];

sum2=%d\n"

+=a[k][2];

sum3=%d\n"

(13)程序运行时,输入3后,第一行输出____

a[1][0]=6 

a[0][1]=6 

a[1][0]=3 

a[0][1]=3 

(14) 

程序运行时,输入3后,第二行输出______

sum1=22 

sum1=21 

sum1=12 

sum1=11 

(15) 

程序运行时,输入6后,第一行输出______

sum2=210 

sum2=211 

sum2=200 

sum2=120 

(16) 

程序运行时,输入6后,第二行输出______

sum3=279 

sum3=927 

sum3=297 

sum3=277

试题5(每小题3分,共12分)

i=0,n;

s[10]="

95682h01"

n=0;

s[i]!

=’\0’;

i++)

if(s[i]=’0’)

n=n*10+(s[i]-’0’);

%d\n"

n);

else 

break;

(17)程序运行时,第2行输出____(17)____.

A,9 

B,95 

C,5 

D,59

(18)程序运行时,第3行输出____(18)____.

A,956 

B,659 

C,965 

D,96

(19)程序运行时,第4行输出____(19)____.

A,9586 

B,5896 

C,5698 

D,9568 

(20)程序运行时,第5行输出____(20)____.

A,92568 

B,95682 

C,68295 

D,58629

试题6(每小题3分,共12分)

student

name;

*sex;

age;

score;

};

initial(struct 

st[], 

*xm[ 

], 

*xb[ 

],int 

nl[],float 

cj[])

i;

(i=0;

4;

st[i].name 

xm[(i+3)%4];

st[i].sex 

xb[(i+3)%4];

st[i].age 

nl[(i+3)%4];

st[i].score 

cj[(i+3)%4];

show(struct 

st[])

学生信息如下:

\n"

姓名:

%s\t性别:

%s\t年龄:

%d\t成绩:

%f\n"

st[i].name,st[i].sex,st[i].age,st[i].score);

st[4];

xm[ 

]={"

张三"

李四"

小周"

小吴"

男"

女"

nl[]={18,17,17,18};

cj[]={85,86,80,84};

initial(st, 

xm, 

xb,nl,cj);

show 

(st);

(21)程序运行时,第1行输出____(21)____.

A,姓名:

小吴 

性别:

女 

年龄:

18 

成绩:

84.000000

B,姓名:

李四 

男 

17 

86.000000

C,姓名:

张三 

85.000000

D,姓名:

小周 

80.000000

(22)程序运行时,第2行输出____(22)____.

(23)程序运行时,第3行输出____(23)____.

(24)程序运行时,第4行输出____(24)____.

试题7 

(14分)

编写程序,求出数组a中各相邻两个元素的和,并将这些和存放在数组 

b中,按每行3个元素的形式输出.

试题8 

编写程序,找出100~999之间所有的Armstrong数.所谓Armstrong数是指这个3位数各位上数字的立方和等于自身.例如:

371=3*3*3+7*7*7+1*1*1,那么371就是Armstrong数.

练习题

二、按要求回答问题(每小题4分)

1.写出下列循环语句所对应的数学式子。

n=55;

t=1;

do{

t+=n;

n-=2;

while(n>

0);

2.写出程序实现的数学模型。

#include<

stdio.h>

voidmain()

{floatx,y;

printf("

enterx:

"

scanf("

%f"

if(x<

0.0)y=0.0;

elseif((x<

5.0)&

(x!

=2.0))y=1.0/(x+2.0);

elseif(x<

10.0)y=1.0/x;

elsey=10.0;

\n%f\n”,y);

}

3.运行下面程序后的w值为多少?

intf(intx)

{inty=0;

staticz=3;

y++;

z++;

return(x+y+z);

}

{intw=2,k;

for(k=1;

k<

k++)w=f(w);

w);

4.简述下列程序完成的功能

{inta[10],*p,*s,i;

for(i=0;

10;

i++)

scanf(%d”,a+i);

for(p=a,s=a;

p-a<

p++)

if(*p>

*s)s=p;

printf(“max=%d,index=%d\n”,*s,s-a);

5.简述下列程序完成的功能。

{char 

ch;

ch=getchar();

if(ch>

="

A"

ch<

Z"

)ch+=32;

=97&

=122)ch-='

a'

-'

A'

;

%c"

ch);

6. 

写出下列程序的结果。

include"

{intx[]={1,3,5};

ints=1,k=0,*p=x;

for(;

k+=2)

s*=*(p+k);

7.下列程序的执行结果

intf(inth)

{switch(h)

{case0:

return0;

case1:

case2:

return1;

return-10;

{intk;

k=f(-1);

printf(“%d\n”,k);

8.下列程序段运行后x的值是多少?

  a=b=c=0;

x=500;

if(!

a)x--;

elseif(b)

if(c)x=3;

elsex=4;

9.简述下列程序的功能

voidf(int*s,intn1,intn2)

{inti,j,t;

i=n1;

j=n2;

while(i<

j)

{t=*(s+i);

*(s+i)=*(s+j);

*(s+j)=t;

i++;

j--;

10.执行以下程序段后,m的值是多少。

a[]={2,4,3,1,10};

intm=10,k,*p=a;

5;

k++)

m=(*(p+k)<

m)?

*(p+k):

m);

11.写出下面程序的运行结果。

{inti=1;

while(i<

10)

if(++i%3==2)continue;

elseprintf("

%d"

i);

} 

12.写出下面程序的运行结果。

intfun(inta,intb)

{b=a+b;

returnb;

voidmain()

{intx=6,y=7,z=8,r;

r=fun((x--,y++,x+y),z--);

%d 

%d\n"

x,y,z,r);

13.写出程序的运行结果

intd=1;

intfun(intp)

{staticintd=3;

d+=p;

%3d"

d);

return(d);

{printf("

%3d\n"

fun(3+fun(d)));

14.写出程序的输出结果。

voidmain()

(inti,j;

for(i=6;

i>

0;

i--)

for(j=0;

10-i;

j++)printf("

=2*i-1;

*"

15.写出程序的输出结果。

8;

#"

16.写出下列程序段的输出结果。

a[]="

language"

b[]="

programe"

char*p1=a,*p2=b;

intk;

7;

if(*(p1+k)==*(p2+k))putchar(*(p1+k));

17.voidmain()

{intn1,n2;

n2);

while(n2!

=0)

{n1=n2%10;

n2=n2/10;

n1);

若键盘输入12345,则程序的运行结果是多少?

18.阅读程序,回答问题。

{inta,b,m,n;

%d%d"

a,&

b);

m=1;

n=1;

if(a>

0)m=m+n;

if(a<

b)n=2*m;

elseif(a==b)n=5;

elsen=m+n;

m=%d 

n=%d\n"

m,n);

问题:

当输入为:

-2时,程序的运行结果是

19.调用fun函数后,由指针变量p所指向的数组中的十个元素值是多少?

voidfun(int*p)

{int k;

for(k=1;

=10;

k++)*(p+k-1)=k+10;

k++)*(p+9-k)=*(p+k);

20.写出程序的输出结果

#include"

ast(intx,inty,int*cp,int*dp) 

{*cp=x=x+y;

*dp=y=x-y;

inta,b,c,d;

a=4;

b=3;

ast(a,b,&

c,&

d);

printf(“%d 

%d\n”,a,b,c,d);

三.编写程序(每小题10分)

1.求分段函数值。

2.求S=X-X2/2+X3/3-X4/4+…-X10/N

3.求S=1!

+(1!

+2!

)+(1!

+3!

)+…(1!

+…+8!

4.用台劳级数求e的近似值,直到最后一项小于10-6

e=1+1/1!

+1/2!

+1/3!

+……

5.求出100~1000之间能被7整除的数,要求以一行8个数的形式输出这些数,最后输出这些数的总和。

6.任意输入x[10][10]个数,找出并输出其中的最大数和最小数,以及它们的下标。

7.任意输入a[N][N]个数,求出行下标加列下标之和为奇数的这些元素之和。

8.任意输入50个数,求出其中的偶数之和、奇数之和,以及分别求出它们的个数。

9.编程对数组A[N]中的数据进行从小到大顺序排列。

10.编写一个函数,将两个字符串连接起来。

(不能用strcat函数)。

11.写一个判断素数的函数,并要求在主函数中输入一个整数并输出相应的判断信息("

YES"

或者"

NO"

)。

12.设数组A[n]中是一组有序数,编程完成从键盘任意输入一个数x,若数组A[n]中存在x则将它们删除,并将数组长度压缩(即后面元素向前移动,元素顺序不能改变。

不能引人新数组);

若数组A[n]中不存在x则显示“not 

found!

”。

13.设有2个字符串S1与S2,编程实现将S1中的第n个到第m个字符的内容复制到S2串的尾部。

(n、m由键盘输入)

14.编写一个函数intcomp(char*s1,char*s2),比较字符串S1和S2的大小,若S1大于S2则返回1,若S1等于S2则返回0,若S1小于S2则返回-1。

(不能用strcmp函数)

15.编写一函数:

intsubstring(char*str,char*sub),判断字符串sub是否是字符串str的子串,若是子串,则返回子串的位置,否则返回-1。

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

当前位置:首页 > 农林牧渔 > 林学

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

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