1、浙江省高校计算机等级考试二级C笔试试题2009年秋浙江省高等学校计算机等级考试试卷(二级C)试题1(每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。【程序说明】计算并输出下列式值,要求精确到最后一项的绝对值小于10-3(保留4伴小数)。运行示例:sum=-0.8361【程序】#include #include main() int denomintor=1,flag=1; double item,sum=0; (1) while( (2) ) (3) denomintor=denomintor+3; flag=-flag; printf(sum=
2、(4) n,sum);【供选择的答案】(1)Aitem =0; Bf item =0.0001;C; Ditem=2; /答案D(2)Afabs(item)=1E-3 Bfabs(item)=0.0001 Dfabs(item)0.001 /答案A(3)Asum=sum+item;item=flag*1.0/denominator; Bsum=sum+ flag*1.0/denominator;Citem=flag*1.0/denominator;sum=sum+item;D item=item+flag*1.0/denominator; /答案C(4)A%.0f B%.4fC%f D%4.f
3、 /答案B试题2(每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。【程序说明】输出1到100之间的所有完数,要求定义和调用函数is(n)判断n是否为完数,若n为完数返回1,否则返回0。完数是因子和与它本身相等的数,1不是完数。运行示例:6 28【程序】#include main() int i;int is(int n); for(i=1;i=100;i+) if( (5) ) printf(%d ,i);int is(int n) int i,sum; (6) sum=0; for(i=1;in/2 Dsum=n /答案D试题3(每小题3分,共1
4、2分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。【程序说明】计算并输出Fibonacci序列前10项之和。要求定义和调用函数fun(fib,n),该函数将Fibonacci序列前n项的存放在一维数组fib中。Fibonacci序列:1,2,3,5,8,13,21,34,55,该序列的第一个数和第二数据是1,从第三个开始,每个数是前两数之和。运行示例:sum = 143【程序】#include main()int i,sum,a10; (9) (10) sum=0;for(i=0;i10;i+) sum+= (11) ;printf(sum=%d,sum);void
5、 fun(int fib,int n)int i;fib0=fib1=1;for(i=2;in;i+) (12) 【供选择的答案】(9)A fun(int fib ,int n); Bvoid fun(int fib ,int n)C; Dvoid fun(int fib ,int n); /答案D(10)Afun(fib,10); Bfun(a,10);Cfun(a,10); Dfun(a10,10); /答案C(11)Afibi Bai Ca10 Dfib0 /答案B(12)Afibi=fibi-1+fibi-2; Bfibi-1=fibi-2+fibi-3;Cfibi+1=fibi-1+
6、fibi; Dfibi=fibi-1+fibi+1; /答案A试题4(每小题3分,共12分)阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。【程序】#include #define S(a,b) (a)(b)?(a):(b)int f1(char ch)int grade; switch(ch) case A:grade=95;break; case B:grade=85;break; case C:grade=75; case D:grade=65;break; default:grade=0; return grade;int f2() static int k=1
7、,s; s=s+k; k+; return s;int f3(int n) if(n=1)return 2; else return f3(n-1);main() int i; printf(%dn,f1(C); for(i=1;i=3;i+) f2(); printf(%dn,f2(); printf(%dn,f3(4); printf(%dn,S(3,2+2);(13)程序运行时,第1行输出 (13) 。A65 B0C75 D95 /答案A(14)程序运行时,第2行输出 (14) 。A10 B1C6 D2 /答案A(15)程序运行时,第3行输出 (15) 。A24 B2 C10 D1 /答
8、案B(16)程序运行时,第4行输出 (16) 。A3 B4 C 5 D1 /答案B试题5(每小题3分,共12分)阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。【程序】程序1#include main() int i,j,a33=1,0,0,4,5,0,7,8,9; int flag=1; for(i=0;i3;i+) for(j=0;j0;j-) for(i=2;i=j;i-) flag=aij; printf(%dn,flag);程序2#include main() char str10=4Ae2E; int i; for(i=0;stri;i+) if(stri=
9、a&stri=a&stri=A&stri=Z) putchar(stri-A+a); putchar(n);(17)程序运行时,第1行输出 (17) 。A0 B1C8 D9 /答案C(18)程序运行时,第2行输出 (18) 。A9 B7C5 D1 /答案C(19)程序运行时,第3行输出 (19) 。AAeE Ba Cae De /答案D(20)程序运行时,第4行输出 (20) 。A4Ae2E B42 CAeE DaEe /答案D试题6(每小题3分,共12分)阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。【程序】#include #include main() int
10、i,j; char str10,*s10=SQL,hello,bear,zone; gets(str); for(i=0;i0)continue; j=3; while(j=i) sj+1= sj; j-; si=str; break; if(i=4)s4=str; for(i=0;i5;i+) printf(%s ,si); putchar(n);(21)程序运行时,输入apple,输出 (21) 。ASQL apple hello bear zone Bapple SQL hello bear zoneCSQL hello bear zone apple DSQL hello apple
11、bear zone /答案A(22)程序运行时,输入I,输出 (22) 。ASQL hello bear I zone BI SQL hello bear zoneCSQL I hello bear zone DSQL hello bear zone I /答案B(23)程序运行时, 输入zoo,输出 (23) 。Azoo SQL hello bear zone BSQL hello bear zoo zone CSQL hello bear zone zoo DSQL hello bear zoo zone /答案C(24)程序运行时,输入orange,输出 (24) 。ASQL orang
12、e hello bear zone BSQL hello orange bear zone Corange SQL hello bear zone DSQL hello bear orange zone /答案D试题7(28分)1编写程序,编写程序输入100个整数,将它们存入数组a中,查找并输出数组a中最小值。参考程序:#include #define N 100main() int aN, i,min; printf(请输入%d个整数:,N); for(i=0;iN;i+) scanf(%d,&ai); /输入100个整数 min=a0; for(i=1;iai)min=ai; /求最小值
13、printf(最小值是%dn,min); /输出最小值2按下面要求编写程序: (1)定义函数cal_power(x,n)计算x的n次幂(xn),函数的返回值勤类型是double。(2)定义函数main(),输入两个浮点数x和整数n,计算并输出下列算式的值。要求调用函数cal _power(x,n)计算x的n次幂。参考程序:#include double cal_power(double x,int n) /第(1)题int i; double t=1; for(i=1;i=n;i+) t=t*x; return t;main() /第(2)题 double x,sum=0; int i,n;
14、scanf(%f,%d,&x,&n); for(i=1;i=n;i+) sum+=1/cal_power(x,i); printf(%fn,sum);2010年上半年浙江省高等学校计算机等级考试二级C程序设计试卷一、程序阅读与填空(24小题,每小题3分同,共72分)1阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。【程序说明】输入一个正整数,求它的各位数字及位数,例如,17的各位数字之和是8,位数是2。运行示例:Enter an integer:-153sum=9,count=3【程序】#include main() int count=0,in,sum=0; prin
15、tf(Enter an integer:); scanf(%d,&in); if( (1) )in=-in; do sum=sum+ (2) ; (3) ; count+; while( (4) ); printf(sum=%d,count=%dn,sum,count); 【供选择的答案】(1)Ain=0 Bin0Cin!=0 Din0 /答案D(2)Ain/10 Bin mod 10Cin%10 Din /答案C(3)Ain=in%10 Bin/10 Cin=in/10 Din%10 /答案C(4)Ain%10!=0 Bin!=0C!in Din/10!=0 /答案B2阅读下列程序说明和程序
16、,在每小题提供的若干可选答案中,挑选一个正确答案。【程序说明】输出50到70之间的所有素数,要求定义和调用函数isprime(m)判断m是否为素数,当m为素数时返回1,否则返回0。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。运行示例:53 59 61 67【程序】#include #include main() int i,isprime(int m); for(i=50;i=70;i+) if( (5) ) printf(%d ,i); int isprime(int m) int i,k; (6) ; k=(int)sqrt(double)m); for(i=2;i=k;i+
17、) if(m%i=0) (7) ; (8) ;【供选择的答案】(5)Aisprime(m)!=0 B.isprime(i)!=0Cisprime(m)=0 D.isprime(i)=0 /答案B(6)Aif(m!=1)return 1; Bif(m=1)return 0;C; Dif(m=1)return 1; /答案B(7)Areturn 0 Breturn 1Creturn i=k Dreturn /答案A(8)Areturn 1 Breturn 0Creturn Dreturn i=k /答案A3阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。【程序说明】输入6个
18、整数,找出最小的数,将它和最后一个数交换,然后输出这6个数。要求定义和调用函数swap(x,y),该出函数交换指针所指向单元的内容。运行示例:Enter 6 integers:6 1 8 2 10 97After swaped:6 97 8 2 10 1【程序】#include void swap(int *x,int *y) int t; (9) ;main() int i,index,a10; printf(Enter 6 integers:); for(i=0;i6;i+) scanf(%d,&ai); (10) ; for(i=1;iai) (11) ; (12) ; printf(A
19、fter swaped:); for(i=0;i6;i+) printf(%d ,ai); printf(n);【供选择的答案】(9)At=*x,*x=*y,*y=tBt=x,x=y,y=tC*t=*x,*x=*y,*y=*t D&t=x,x=y,y=& /答案A(10)Aindex=0 Bindex=5Cindex=index Dindex=i /答案A(11)Aaindex =ai Bi=indexCai=aindex Dindex=i /答案D(12)Aswap(aindex,a5) Bswap(*aindex,*a5)Cswap(a*index,a*5) Dswap(&aindex,&
20、a5) /答案D4 .阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。【程序】#include #define T(c) (c)=0)&(c)9)?(c)-0:-1)void f1(char ch) switch(ch) case 0:printf(0); case 1:printf(1); case 2:printf(2); break; case 3:printf(3); default:printf(9); printf(n);double f2() return (double)(5/2);double f3(int n) if(n=1)return 1.0;
21、else return 1.0+1.0/f3(n-1);main() printf(%d %dn,T(7),T(a); f1(1); printf(%0.1fn,f2(); printf(%.3fn,f3(4);(13)程序运行时,第1行输出 (13) 。A7 -1 B-1 7C7 a D-1 -1 /答案A(14)程序运行时,第2行输出 (14) 。A1239 B12C1 D9 /答案B(15)程序运行时,第3行输出 (15) 。A2.5 B2 C2.0 D3 /答案C(16)程序运行时,第4行输出 (16) 。A1.00 B2.000 C1.500 D1.667 /答案D5阅读下列程序并回
22、答问题,在每小题提供的若干可选答案中,挑选一个正确答案。【程序】程序1#include main() int i,j,t,a34=1,2,3,4,5,6,7,8,9,10,11,12; for(i=0;i3;i+) for(j=0;j=i/2;j+) t=aij,aij=ai3-j,ai3-j=t; printf(%dn,a01); printf(%dn,a22);程序2#include main() char str10=27; int i,number=0; for(i=0;stri!=0;i+) if(stri=0&stri=0&stri=5) number=number*6+stri-
23、0; printf(%dn,number);(17)程序1运行时,第1行输出 (17) 。A3 B4C1 D2 /答案D(18)程序1运行时,第2行输出 (18) 。A12 B11C10 D9 /答案C(19)程序2运行时,第1行输出 (19) 。A2 B27 C23 D16 /答案C(20)程序2运行时,第2行输出 (20) 。A19 B140 C147 D2 /答案B6阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。【程序】#include main() int i,j; char ch,*p1,*p2,*s4=four,hello,peak,apple; for(i=0;i4;i+) p1=p2=si; ch=*(p1+i); while(*p1!=0) if(*p1!=ch) *p2=*p1; p2+; p1+; *p2=0; for(i=0;i4;i+
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1