浙江省高等学校.docx
- 文档编号:11408185
- 上传时间:2023-02-28
- 格式:DOCX
- 页数:23
- 大小:45KB
浙江省高等学校.docx
《浙江省高等学校.docx》由会员分享,可在线阅读,更多相关《浙江省高等学校.docx(23页珍藏版)》请在冰豆网上搜索。
浙江省高等学校
2010年春浙江省高等学校
计算机等级考试试卷(二级C)
一、程序阅读与填空(24小题,每小题3分,共72分)
1.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序说明】
输入一个整数,求它的各位数字之和及位数。
例如,17的各位数字之和是8,位数是2。
运行示例:
Enteraninteger:
-153
sum=8,count=3
【程序】
#include
main()
{
intcount=0,in,sum=0;
printf("Enteraninteger:
");
scanf("%d",&in);
if(
(1))in=-in;
do{
sum=sum+
(2);
(3);
count++;
}while((4));
printf("sum=%d,count=%d\n",sum,count);
}
【供选择的答案】
(1)A、in==0B、in>0
C、in!
=0D、in<0
(2)A、in/10B、inmod10
C、in%10D、in
(3)A、in=in%10B、in/10
C、in=in/10D、in%10
(4)A、in%10!
=0B、in!
=0
C、!
inD、in/10!
=0
D
C
C
B
B
B
A
A
A
A
D
D
A
B
C
D
2.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序说明】
输出50到70之间的所有素数。
要求定义和调用函数isprime(m)判断m是否为素数,若m为素数则返回1,否则返回0。
素数就是只能被1和自身整除的正整数,1不是素数,2是素数。
运行示例:
53596167
【程序】
#include
#include
main()
{inti;intisprime(intm);
for(i=50;i<=70;i++)
if((5))
printf("%d",i);
}
intisprime(intm)
{
inti,k;
(6)
k=(int)sqrt((double)m);
for(i=2;i<=k;i++)
if(m%i==0)(7);
(8);
}
【供选择的答案】
(5)A、isprime(m)!
=0B、isprime(i)!
=0
C、isprime(m)==0D、isprime(i)==0
(6)A、if(m!
=1)return1;B、if(m==1)return0;
C、;D、if(m==1)return1;
(7)A、return0B、return1
C、returni<=kD、return
(8)A、return1B、return0
C、returnD、returni<=k
D
C
C
B
B
B
A
A
A
A
D
D
A
B
C
D
3.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序说明】
输入6个整数,找出其中最小的数,将它和最后一个数交换,然后输出这6个数。
要求定义和调用函数swap(x,y),该函数交换指针x和y所指向单元的内容。
运行示例:
Enter6integers:
61821097
Afterswaped:
69782101
【程序】
voidswap(int*x,int*y)
{intt;
(9);
}
main()
{inti,index,a[10];
for(i=0;i<6;i++)
scanf("%d",&a[i]);
(10);
for(i=1;i<6;i++)
if(a[index]>a[i])
(11);
(12);
printf("Afterswaped:
");
for(i=0;i<6;i++)
printf("%d",a[i]);
printf("\n");
}
【供选择的答案】
(9)A、t=*x,*x=*y,*y=t//
B、t=x,x=y,y=t
C、*t=*x,*x=*y,*y=*t
D、&t=x,x=y,y=&t
(10)A、index=0B、index=5
C、index=indexD、index=1
(11)A、a[index]=a[i]B、i=index
C、a[i]=a[index]D、index=i
(12)A、swap(a[index],a[5])
B、swap(*a[index],*a[5])
C、swap(a[*index],a[*5])
D、swap(&a[index],&a[5])
D
C
C
B
B
B
A
A
A
A
D
D
4.阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序】
#include
#defineT(c)(((c)>='0')&&((c)<='9')?
(c)-'0':
-1)
voidf1(charch)
{
switch(ch){
case'0':
printf("0");
case'1':
printf("1");
case'2':
printf("2");break;
case'3':
printf("3");
default:
printf("9");
}
printf("\n");
}
doublef2()
{
return(double)(5/2);//
}
doublef3(intn)
{
if(n==1)return1.0;
elsereturn1.0+1.0/f3(n-1);
}
main()
{
printf("%d%d\n",T('7'),T('a'));
f1('1');
printf("%.1f\n",f2());
printf("%.3f\n",f3(4));
}
【问题】
(13)程序运行时,第1行输出(13)。
A、7-1B、-17C、7aD、-1-1
(14)程序运行时,第2行输出(14)。
A、1239B、12C、1D、9
(15)程序运行时,第3行输出(15)。
A、2.5B、2C、2.0D、3
(16)程序运行时,第4行输出(16)。
A、1.000B、2.000C、1.500D、1.667
A
B
C
D
5.阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序】
程序1
#include
main()
{
inti,j,t,a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
for(i=0;i<3;i++)
for(j=0;j<=i/2;j++){
t=a[i][j],a[i][j]=a[i][3-j],a[i][3-j]=t;
}
printf("%d\n",a[0][1]);
printf("%d\n",a[2][2]);
}
程序2
#include
main()
{
charstr[10]="27";
inti,number=0;
for(i=0;str[i]!
='\0';i++)
if(str[i]>='0'&&str[i]<='7')
number=number*8+str[i]-'0';
printf("%d\n",number);
for(i=0;str[i]!
='\0';i++)
if(str[i]>='0'&&str[i]<='5')
number=number*6+str[i]-'0';
printf("%d\n",number);
}
【问题】
(17)程序1运行时,第1行输出(17)。
A、3B、4C、1D、2
(18)程序1运行时,第2行输出(18)。
A、12B、11C、10D、9
(19)程序2运行时,第1行输出(19)。
A、2B、27C、23D、16
(20)程序2运行时,第2行输出(20)。
A、19B、140C、147D、2
6阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序】
#include
main()
{
inti,j;
charch,*p1,*p2,*s[4]={"four","hello","peak","apple"};
for(i=0;i<4;i++){
p1=p2=s[i];
ch=*(p1+i);
while(*p1!
='\0'){
if(*p1!
=ch){
*p2=*p1;
p2++;
}
p1++;
}
*p2='\0';
}
for(i=0;i<4;i++)
printf("%s\n",s[i]);
}
【问题】
(21)程序运行时,第1行输出(21)。
A、ourB、fourC、furD、fou
(22)程序运行时,第2行输出(22)。
A、elloB、hlloC、heoD、hell
(23)程序运行时,第3行输出(23)。
A、peakB、eakC、pekD、pak
(24)程序运行时,第4行输出(24)。
A、ppleB、appleC、aleD、appe
二、程序编写(每小题14分,共28分)
1.编写程序,输入100个整数,将他们存入数组a,求数组a中所有奇数之和。
2.按下面要求编写程序:
(1)定义函数total(n)计算
,函数返回值类型是int。
(2)定义函数main(),输入正整数n,计算并输出下列算式的值。
要求调用函数total(n)计算
。
计算机等级考试参考答案(二级C)
一、程序阅读与填空(24小题,每小题3分,共72分)
D
C
C
B
B
B
A
A
A
A
D
D
A
B
C
D
D
C
C
B(21)A(22)B(23)C(24)D
二、程序编写(每小题14分,共28分)
1.
#include
voidmain()
{
inta[100],i,s=0;
for(i=0;i<100;i++)
{
scanf("%d",&a[i]);
if(a[i]%2==1)
s=s+a[i];
}
printf("%d\n",s);
}
2.
#include
inttotal(intn)
{
inti,s=0;
for(i=1;i<=n;i++)
s=s+i;
returns;
}
voidmain()
{
inti,n;
floats=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
s=s+1.0/total(i);
printf("%f\n",s);
}
2010年下半年浙江省高等学校计算机等级考试
二级C程序设计试卷
说明:
⑴本试卷共6页,满分100分;考试时间为90分钟;
⑵考生应将所有试题的答案填写在答卷上。
其中试题一到试题六请在答卷上的各小题选项的对应位置上填“”。
⑶考生应将所有试题的答案填写在答卷上。
一、程序阅读与填空(24小题,每小题3分,共72分)
1.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案
【程序说明】
输入5个整数,将它们从小到大排序后输出。
运行示例:
Enteraninteger:
9-9360
Aftersorted:
-90369
【程序】
#include
main()
{inti,j,n,t,a[10];
printf(”Enter5integers:
”);
for(i=0;i<5;i++)
scanf(”%d”,
(1));
for(i=1;
(2);i++)
for(j=0;(3);j++)
if((4)){
t=a[j],a[j]=a[j+1],a[j+1]=t;
}
printf(”Aftersorted:
”);
for(i=0;i<5;i++)
printf("=",a[i]);
}
【供选择的答案】
(1)A、&a[i]B、a[i]C、*a[i]D、a[n]
(2)A、i<5B、i<4C、i>=0D、i>4
(3)A、j<5–i–1B、j<5–iC、j<5D、j<=5
(4)A、a[j]a[j-1]
C、a[j]>a[j+1]D、a[j-1]>a[j+1]
2.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案
【程序说明】
输出80到120之间的满足给定条件的所有整数,条件为构成该整数的每位数字都相同。
要求定义和调用函数is(n)判断整数n的每位数字是否都相同,若相同则返回1,否则返回0。
运行示例:
8899111
【程序】
#include
main()
{inti;intis(intn);
for(i=80;i<=120;i++)
if((5))
printf("%d",i);
printf("\n");
}
intis(intn)
{intold,digit;
old=n%10;
do{
digit=n%10;
if((6))return0;
(7)
n=n/10;
}while(n!
=0);
(8)
}
【供选择的答案】
(5)A、is(n)==0B、is(i)==0C、is(n)!
=0D、is(i)!
=0
(6)A、digit!
=n%10B、digit==old
C、old==n%10D、digit!
=old
(7)A、digit=old;B、;C、old=digit;D、old=digit/10;
(8)A、return;B、return1;C、return0;D、returndigit!
=old;
3.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案
【程序说明】
输入一个以回车结束的字符串(少于80个字符),将其逆序输出。
要求定义和调用函数reverse(a),该函数将字符串s逆序存放。
运行示例:
Enterastring:
1+2=3
Afterreversed:
3=2+1
【程序】
#include
voidreverse(char*str)
{inti,j,n=0;
chart;
while(str[n]!
=’\0’)
n++;
for(i=0,(9);i t=str[i],str[i]=str[j],str[j]=t; } } main() {inti=0; chars[80]; printf(”Enterastring: ”); while((11)) i++; s[i]=’\0’; (12); printf(“Afterreversed: “); puts(s); } 【供选择的答案】 (9)A、j=n–1B、j=nC、j=n-2D、j=n+1 (10)A、i++,j--B、i++,j++C、i--,j++D、i--,j-- (11)A、s[i]=getchar()B、(s[i]=getchar())! =’\n’ C、s[i]! =’\0’D、(s[i]=getchar()! =’\n’) (12)A、reverse(*s)B、reverse(s)C、reverse(&s)D、reverse(str) 4.阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案 【程序】 #include #defineS(x)3<(x)<5 intn,a; voidf1(intn) {for(;n>=0;n--){ if(n%2! =0)continue; printf(”%d”,n); } printf(”\n”); } doublef2(doublex,intn) {if(n==1)returnx; elsereturnx*f2(x,n-1); } main() {inta=9; printf("%d%d\n",a,S(a)); f1(4); printf("%.1f\n",f2(2.0,3)); printf("%d%d\n",n,S(n)); } 【问题】 (13)程序运行时,第1行输出(13)。 A、01B、91C、00D、90 (14)程序运行时,第2行输出(14)。 A、31B、420C、4321D、0 (15)程序运行时,第3行输出(15)。 A、8.0B、2.0C、4.0D、3.0 (16)程序运行时,第4行输出(16)。 A、01B、31C、00D、30 5.阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案 【程序】 程序1 #include main() {inti,j; statica[4][4]; for(i=0;i<4;i++) for(j=0;j<=i;j++){ if(j==0||j==i)a[i][j]=1; elsea[i][j]=a[i-1][j-1]+a[i-1][j]; } for(i=2;i<4;i++){ for(j=0;j<=i;j++) printf(“%d”,a[i][j]); printf(”\n”); } } 程序2 #include main() {charstr[80]; inti; gets(str); for(i=0;str[i]! =’\0’;i++) if(str[i]==’z’)str[i]=’a’; elsestr[i]=str[i]+1; puts(str); } 【问题】 (17)程序1运行时,第1行输出(17)。 A、1B、11C、121D、1331 (18)程序1运行时,第2行输出(18)。 A、1B、11C、121D、1331 (19)程序2运行时,输入123,输出(19)。 A、123B、012C、231D、234 (20)程序2运行时,输入sz,输出(20)。 A、szB、tyC、taD、tz 6.阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案 【程序】 #include main() {inti,j; charch,*p1,*p2,*s[4]={”tree”,”flower”,”grass”,”garden”}; for(i=0;i<4;i++){ p2=s[i]; p1=p2+i; while(*p1! =’\0’){ *p2=*p1; p1++,p2++; } *p2=’\0’; } for(i=0;i<4;i++) printf("%s\n",s[i]); } 【问题】 (21)程序运行时,第1行输出(21)。 A、reeB、ssC、treeD、e (22)程序运行时,第2行输出(22)。 A、flowerB、owerC、werD、lower (23)程序运行时,第3行输出(23)。 A、grassB、ssC、rassD、ass (24)程序运行时,第4行输出(24)。 A、enB、ardenC、denD、garden 二、程序编写(每题14分,共28分) 1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 浙江省 高等学校