0810省二级考试 文档.docx
- 文档编号:10214558
- 上传时间:2023-02-09
- 格式:DOCX
- 页数:63
- 大小:63.93KB
0810省二级考试 文档.docx
《0810省二级考试 文档.docx》由会员分享,可在线阅读,更多相关《0810省二级考试 文档.docx(63页珍藏版)》请在冰豆网上搜索。
0810省二级考试文档
2008年春浙江省高等学校
计算机等级考试试卷(二级C)
说明:
考生应将所有试题的答案填写在答卷上。
其中试题一到试题六请在答卷上的各小题选项的对应位置上填“√”。
请将你的准考证号的后五位填写在答卷右下角的指定位置内;
考试时间为90分钟。
试题1(每小题3分,共12分)
阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序说明】
输入一个正整数n(n>=2),输出菲波那契(Fibonacci)序列的前n项,每行输出6个数。
菲波那契(Fibonacci)序列:
1,1,2,3,5,8,13,……,数列的前两个数都是1,从第三个数开始,每个数是前两个数之和。
运行示例:
Entern:
10
112358
13213455
【程序】
#include
main()
{intcount,i,n,x1,x2,x;
printf("Entern:
");
scanf("%d",&n);
x1=x2=1;
printf("%6d%6d",x1,x2);
(1);
for(i=1;i<=n-2;i++){
(2);
printf("%6d",x);
count++;
if((3))
printf("\n");
x1=x2;
(4)
}
}
【供选择的答案】
(1)A、count=2B、count=0
C、count=1D、count=-1
(2)A、x1=x1–x2B、x=x1+x2
C、x=x1D、x=2
(3)A、count/6==0B、count%6!
=0
C、count%6==0D、count/6!
=0
(4)A、x=x1+x2;B、x2=x1;
C、x=x2;D、x2=x;
试题2(每小题3分,共12分)
阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序说明】
输入2个正整数m和n(1<=m 要求定义和调用函数prime(m)判断m是否为素数,当m为素数时返回1,否则返回0。 素数就是只能被1和自身整除的正整数,1不是素数,2是素数。 运行示例: Enterm,n: 110 count=4,sum=17 【程序】 #include #include intprime(intm) {inti,n; if(m==1)return(5); n=sqrt(m); for(i=2;i<=n;i++) if(m%i==0)return(6); return(7); } main() {intcount=0,i,m,n,sum=0; printf("Enterm,n: "); scanf("%d%d",&m,&n); for(i=m;i<=n;i++) if((8)){ sum+=i; count++; } printf("count=%d,sum=%d\n",count,sum); } 【供选择的答案】 (5)A、1B、mC、m==1D、0 (6)A、mB、1C、0D、n (7)A、mB、1C、0D、i==n (8)A、prime(i)! =0B、prime(i)==0 C、i==prime(i)D、! prime(i) 试题3(每小题3分,共12分) 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】 输入一个2*3的二维数组,找出最大值以及它的行下标和列下标,并输出该矩阵。 运行示例: Enteraarray(2*3): 3210-96-1 max=a[0][2]=10 3210 -96-1 【程序】 #include main() {intcol,i,j,row; inta[2][3]; printf("Enterarray(2*3): "); for(i=0;i<2;i++) for(j=0;j<3;j++) scanf("%d",(9)); (10) for(i=0;i<2;i++) for(j=0;j<3;j++) if(a[i][j]>a[row][col]){ (11) } printf("max=a[%d][%d]=%d\n",row,col,a[row][col]); for(i=0;i<2;i++){ for(j=0;j<3;j++) printf("%4d",a[i][j]); (12) } 【供选择的答案】 (9)A、&a[i][j]B、&a[j][i] C、a[i][j]D、a[j][i] (10)A、row=col=2;B、row=col=0; C、a[row][col]=0;D、a[row][col]=-1; (11)A、row=j;col=i;B、a[row][col]=a[i][j] C、row=i;col=j;D、a[row][col]=a[j][i] (12)A、printf(“\n”)}B、}printf(“\n”); C、;D、printf(“\n”);} 试题4(每小题3分,共12分) 阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 #include voidmain() {intop1,op2,res; charoperator; scanf("%d",&op1); operator=getchar(); while(operator! =‘=’){ scanf("%d",&op2); switch(operator){ case‘+’: res=op1+op2;break; case‘-’: res=op1-op2;break; case‘*’: res=op1*op2;break; case‘/’: res=op1/op2;break; default: res=0; } op1=res; operator=getchar(); } printf("%d\n",res); } (13)程序运行时,输入2*3-2=,输出(13)。 A、6B、2C、0D、4 (14)程序运行时,输入15+2/3=,输出(14)。 A、16B、15C、6D、5 (15)程序运行时,输入1+2*10-10/2=,输出(15)。 A、10B、16C、15D、25 (16)程序运行时,输入1+3*5/2-7=,输出(16)。 A、3B、1C、-2D、-3 试题5(每小题3分,共12分) 阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 #include #defineMAXLEN80 main() {intk=0,number=0; charstr[MAXLEN]; while((str[k]=getchar())! =‘#’) k++; str[k]=‘\0’; for(k=0;str[k]! =‘\0’;k++) if(str[k]>=’0’&&str[k]<=‘9’||str[k]==‘A’||str[k]==‘B’) if(str[k]>=’0’&&str[k]<=‘9’) number=number*12+str[k]–‘0’; elseif(str[k]==‘A’||str[k]==‘B’) number=number*12+str[k]–‘A’+10; else;/*第15行*/ elsebreak;/*第16行*/ printf("%d",number); } (17)程序运行时,输入10#,输出(17)。 A、16B、10C、12D、1 (18)程序运行时,输入1a0#,输出(18)。 A、264B、10C、1D、12 (19)将第16行改为“;”后,程序运行时,输入A*0#,输出(19)。 A、0B、120C、10D、12 (20)将第16行改为“elsebreak;”后,删除第15行,程序运行时,输入1b0#,输出(20)。 A、10B、12C、276D、1 试题6(每小题3分,共12分) #include #include main() {char*s[2]={”****”,”****”}; while(*s[1]! =’\0’){ printf("%s\n",s[0]+strlen(s[1])-1); s[1]++; } } (21)程序运行时,第1行输出(21)。 A、****B、***C、**D、* (22)程序运行时,第2行输出(22)。 A、****B、***C、**D、* (23)程序运行时,第3行输出(23)。 A、****B、***C、**D、* (24)程序运行时,第4行输出(24)。 A、****B、***C、**D、* 试题7(28分) (1)定义函数fact(n)计算n的阶乘: n! =1*2*……*n,函数返回值类型是double。 (2)定义函数cal(m,n)计算累加和: ,函数返回值类型是double。 (3)定义函数main(),输入正整数n,计算并输出下列算式的值。 该算式中,每一项的分子是累加和,要求调用函数cal(m,n)计算 ;每一项的分母是阶乘,要求调用函数fact(n)计算n! 。 2008年春浙江省高等学校计算机等级考试参考答案(二级C) 试题1ABCD试题2DCBA试题3ABCD 试题4DDAA试题5CCBB试题6DCBA 试题7 #include doublefact(intn) {inti;doubles=1; for(i=1;i<=n;i++) s*=i; returns; } doublecal(intm,intn) { inti;doubles=0; for(i=m;i<=n;i++) s+=i; returns; } voidmain() { intn,i;doubles=0; printf("Inputn(n>0): \n"); doscanf("%d",&n);while(n<=0); for(i=1;i<=n;i++) s+=cal(1,i)/fact(i); printf("s=%lf\n",s); } 2008年秋浙江省高等学校 计算机等级考试试卷(二级C) 说明: 考生应将所有试题的答案填写在答卷上。 其中试题一到试题六请在答卷上的各小题选项的对应位置上填“√”。 请将你的准考证号的后五位填写在答卷右下角的指定位置内; 考试时间为90分钟。 试题1(每小题3分,共12分) 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】 输入一批学生的成绩,遇负数表示输入结束,要求统计并输出各等级成绩的学生个数。 成绩等级分为三级,分别为A(90~100)、P(60~89)和F(0~59)。 运行示例: Enterscores: 887168705981910607783-10 A: 1;P: 8;F: 2; 【程序】 #include main() {intmark,a,p,f; a=p=f=0; printf("Enterscores: "); scanf("%d",&mark); while( (1)){ if(mark>=90)a++; (2)p++; (3)f++; (4) } printf("A: %d;P: %d;F: %d;\n",a,p,f); } 【供选择的答案】 (1)A、mark>=0B、mark>0 C、mark<=0D、mark<0 (2)A、elseif(mark>=60)B、if(mark>=60) C、else(mark>=60)D、if(mark<90) (3)A、else(mark<60)B、else C、if(mark>0)D、elseif(mark<=60) (4)A、scanf("%d",mark);B、scanf("%d",&mark); C、;D、mark=getchar(); 试题2(每小题3分,共12分) 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】 求1~999之间所有满足各位数字的立方和等于它本身的数。 例如153的各位数字的立方和是13+53+33=153。 运行示例: 1153370371407 【程序】 #include main() {intdigit,j,sum,x; for(j=1;j<1000;j++){ (5) (6) do{ (7) sum=sum+digit*digit*digit; x=x/10; }while((8)); if(sum==j)printf("%d",sum); } } 【供选择的答案】 (5)A、sum=0;B、sum=1; C、sum=j;D、; (6)A、x=1;B、x=j; C、;D、x=sum; (7)A、digit=x/10;B、; C、digit=x%10;D、digit=x; (8)A、x==0B、j! =0 C、j==0D、x! =0 试题3(每小题3分,共12分) 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】 输入10整数,将它们从大到小排序后输出。 运行示例: Enter10integers: 1098-9369100-102 Aftersorted: 100981096320-1-9 【程序】 #include (9) voidsort((10)) {inti,index,k; for(k=0;k index=k; for(i=k+1;i if(a[i]>a[index])index=i; (11); } } voidswap(int*x,int*y) {intt; t=*x;*x=*y;*y=t; } main() {inti,a[10]; printf("Enter10integers: "); for(i=0;i<10;i++) scanf("%d",&a[i]); (12); printf("Aftersorted: ”); for(i=0;i<10;i++) printf("%d",a[i]); printf("\n"); } 【供选择的答案】 (9)A、voidswap(int*x,int*y)B、; C、voidswap(int*x,int*y);D、voidswap(int*x,*y) (10)A、int&a,intnB、int*a,int*n C、int*a,intnD、inta,int*n (11)A、swap(*a[index],*a[k])B、swap(a[index],a[k]) C、swap(index,k)D、swap(&a[index],&a[k]) (12)A、sort(a)B、sort(a[10]) C、sort(a[],10)D、sort(a,10) 试题4(每小题3分,共12分) 阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 程序1 #include main() {intj,k,s1,s2; s1=s2=0; for(j=1;j<=5;j++){ s1++; for(k=1;k<=j;k++) s2++; } printf("%d%d",s1,s2); } 程序2 #include main() {intj,k,s1,s2; s1=0; for(j=1;j<=5;j++){ s1++; for(k=1,s2=0;k<=j;k++) s2++; } printf("%d%d",s1,s2); } 程序3 #include main() {intj,k,s1,s2; s1=0; for(j=1;j<=5;j++){ s1++; for(k=1;k<=j;k++,s2=0) s2++; } printf("%d%d",s1,s2); } 程序4 #include main() {intj,k,s1,s2; s1=s2=0; for(j=1;j<=5;j++,s1=0){ s1++; for(k=1;k<=j;k++) s2++; } printf("%d%d",s1,s2); } (13)程序1运行时,输出(13)。 A、015B、50C、55D、515 (14)程序2运行时,输出(14)。 A、015B、50C、55D、515 (15)程序3运行时,输出(15)。 A、015B、50C、55D、515 (16)程序4运行时,输出(16)。 A、015B、50C、55D、515 试题5(每小题3分,共12分) 阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 程序1 #include main() {inti,m=15,y=-1; for(i=2;i<=m/2;i++) if(m%i==0)y=0; elsey=1; printf("%d",y); } 程序2 #include main() {inti,m=15,y=-1; for(i=2;i<=m/2;i++) if(m%i==0){y=0;break;} printf("%d",y); } 程序3 #include main() {inti,m=15,y=-1; for(i=2;i<=m/2;i++) if(m%i==0)break; if(i>m/2)y=1; elsey=0; printf("%d",y); } 程序4 #include main() {inti,m=15,y=-1; for(i=2;i<=m/2;i++) if(m%i==0){break;y=0;} printf("%d",y); } (17)程序1运行时,输出(17)。 A、1B、0C、15D、-1 (18)程序2运行时,输出(18)。 A、15B、0C、-1D、1 (19)程序3运行时,输出(19)。 A、-1B、1C、0D、15 (20)程序4运行时,输出(20)。 A、0B、15C、1D、-1 试题6(每小题3分,共12分) #include main() {intk; charch,a[10],*s[10]={”one”,”two”,”three”,”four”}; k=0; while((ch=getchar())! =’#’&&k<9) if(ch>=’5’&&ch<=’8’)a[k++]=ch; a[k]=‘\0’; for(k=0;a[k]! =’\0’;k++) printf("%s",s[(‘9’-a[k])-1]); } (21)程序运行时,输入5678#
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 0810省二级考试 文档 0810 二级 考试