当前位置:文档之家› 2008--2010浙江省二级C语言考试真题__史杨杨

2008--2010浙江省二级C语言考试真题__史杨杨

2008年春浙江省高校计算机等级考试试卷(二级C)试题1(每小题3分,共12分)【程序说明】输入一个整数n(n>=2),输入菲波那契序列的前n项,每行输出6个数,菲波那序列:1,1,2,3,5,8,13,……,数列的前两个数都是1,从第三项开始,每个数是前两个数之和。

运行示例:Enter n:101 123 5 813 21 34 55#include <stdio.h>main(){int count,i,n,x1,x2,x;printf("Enter n:");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=2 B、count=0C、count=1D、count=-1 答案:A(2) A、x=x1-x2 B、x=x1+x2C、x=x1D、x=2 答案:B(3) A、count/6==0 B、count%6!=0C、count%6==0D、count/6!=0 答案:C(4) A、x=x1+x2 B、x2=x1C、x=x2D、x2=x 答案:D试题2(每小题3分,共12分)【程序说明】输入2个正数m和n(1<=m<n<=500),统计交输出m和n之间素数的个数以及这些素数的和,要求定义和调用函数prime(m)判断m是否为素数,当m为素数返回1,否则返回0。

素数就是只能被1和自身整除的正整,1不是素,2是素数。

运行示例:Enter m,n:1 10count=4,sum=17【程序】#include <stdio.h>#include <math.h>int prime(int m){int i,n;if(m==1)return (5);n=sqrt(m);for(i=2;i<=n;i++)if(m%i==0)return (6);return (7);}main(){int count=0,i,m,n,sum=0;printf("Enter m,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、1 B、mC、m==1D、0 答案:D(6) A、m B、1C、0D、n 答案:C(7) A、m B、1C、0D、i==n 答案:B(8) A、prime(i)!=0 B、prime(i)==0C、1=prime(i)D、!prime(i) 答案:A试题3(每小题3分,共12分)【程序说明】输入一个2*3的二维数组,找出最大值以及它的行下标和列下标,并输出该结果。

运行示例:Enter array(2*3):3 2 10 -9 6 -1max=a[0][2]=103 2 10-9 6 -1#include <stdio.h>main(){int col,row,i,j;int a[2][3];printf("Enter array(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] 答案:A(10) A、row=col=2; B、row=col=0;C、a[row][col]=0;D、a[row][col]=-1; 答案:B(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]; 答案:C(12) A、printf(“\n”)};B、}printf(“\n”);C、;D、printf(“\n”);}答案:D试题4(每小题3分,共12分)阅读下列程序并回答问题,在每小题提供的若干可选答案中挑选一个正确答案。

【程序】#include <stdio.h>main(){int op1,op2,res;char opertor;scanf ("%d",&op1);opertor=getchar();while(opertor!='='){scanf ("%d",&op2);switch(opertor){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;opertor=getchar();}printf("%d\n",res);}(13)程序运行时,输入2*3-2=,输出(13)。

A、6B、2C、0D、4 答案:D(14)、程序运行时,输入15+2/3=,输出(14)。

A、16B、15C、6D、5 答案:D(15)、程序运行时,输入1+2*10-10/2=,输出(15)。

A、10B、16C、15D、25 答案:A4、程序运行时,输入1+3*5/2-7=,输出(16)。

A、3B、1C、-2D、-3 答案:A试题5(每小题3分,共12分)阅读下列程序并回答问题,在每小题提供的若干可选答案中挑选一个正确答案。

【程序】#include <stdio.h>#define MAXLEN 80main(){int k=0,number=0;char str[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';else if(str[k]=='A'||str[k]=='B')number=number*12+str[k]-'A'+10;else ;//第15行else break; //第16行printf("%d\n",number);}(17)、程序运行时,输入10#,输出(17)。

A、16B、10C、12D、1 答案:A(18)、程序运行时,输入1a0#,输出(18)。

A、264B、10C、1D、12 答案:C(19)、第16行改为“;”后,程序运行时,输入A*0#,输出(19)。

A、0B、120C、10D、12 答案:B(20)、第16行改为“else break;”删除第15行后,程序运行时,输入1b0#,输出(20)。

A、10B、12C、276D、1 答案:B试题6(每小题3分,共12分)阅读下列程序并回答问题,在每小题提供的若干可选答案中挑选一个正确答案。

【程序】#include <stdio.h>#include <string.h>main(){ char *s[2]={"****","****"};while(*s[1]!='\0'){printf("%s\n",s[0]+strlen(s[1])-1);s[1]++;}}(21)、程序运行时,第1行输出(19)。

A、****B、***C、**D、* 答案:D(22)、程序运行时,第2行输出(19)。

A、****B、***C、**D、* 答案:C(23)、程序运行时,第3行输出(19)。

A、****B、***C、**D、* 答案:B(24)、程序运行时,第4行输出(19)。

A、****B、***C、**D、* 答案:A试题7(28分)1、定义函数fact(n)计算n的阶乘:n!=1*2*3*……*n,函数的返回值类型是double。

2、定义函数cal(m,n)计算累加和:s=m+(m+1)+(m+2) ……+n,函数的返回值类型是double。

3、定义函数main(),输入整数n,计算并输出下列算式的值。

该算式中,每一项的分子是累加和,要求调用函数cal(m,n)计算累加和;每一项的分母是阶乘,要求调用函数fact(n)计算n!。

y=1+(1+2)/2!+(1+2+3)/3!+……+(1+2+3+……n)/n!#include <stdio.h>double fact(int n)//第一题{int i;double t=1;for(i=1;i<=n;i++)t*=i;return t;}double cal(int m,int n) //第二题{double s=0;int i;for(i=m;i<=n;i++)s+=i;return s;}main()//第三题{int n,i;double s=0;printf("请输入一个正整数:");while(scanf("%d",&n),n<=0);for(i=1;i<=n;i++)s+=cal(1,i)/fact(i);printf("%f",s);}2008年秋浙江省高等学校计算机等级考试试卷(二级C)试题1(第小题3分,共12分)【程序说明】输入一批学生的成绩,遇到负数表示输入结束,要求统计并各等级成绩的学生个数。

相关主题