当前位置:首页 > 2008--2010浙江省二级C语言考试真题__史杨杨
2008年春浙江省高校
计算机等级考试试卷(二级C)
试题1(每小题3分,共12分) 【程序说明】
输入一个整数n(n>=2),输入菲波那契序列的前n项,每行输出6个数,菲波那序列:1,1,2,3,5,8,13,??,数列的前两个数都是1,从第三项开始,每个数是前两个数之和。
运行示例: Enter n:10
1 1 2 3 5 8 13 21 34 55 #include
{int count,i,n,x1,x2,x; printf(\scanf(\x1=x2=1;
printf(\ (1) ; for(i=1;i<=n-2;i++) { (2) ;
printf(\ count++;
if( (3) )printf(\ x1=x2;
(4) ; }
}
【供选择的答案】 (1)A、count=2 C、count=1 (2) A、x=x1-x2
B、count=0 D、count=-1 B、x=x1+x2 D、x=2 B、count%6!=0 D、count/6!=0 B、x2=x1 D、x2=x
答案:A 答案:B 答案:C 答案:D
C、x=x1 (3) A、count/6==0 C、count%6==0 (4) A、x=x1+x2 C、x=x2
试题2(每小题3分,共12分) 【程序说明】
输入2个正数m和n(1<=m count=4,sum=17 【程序】 #include {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(\ scanf(\ for(i=m;i<=n;i++) if( (8) ){ sum+=i; count++; } printf(\} 【供选择的答案】 (5)A、1 B、m C、m==1 (6) A、m C、0 (7) A、m C、0 D、0 B、1 答案:D 答案:C 答案:B 答案:A D、n B、1 D、i==n (8) A、prime(i)!=0 C、1=prime(i) B、prime(i)==0 D、!prime(i) 试题3(每小题3分,共12分) 【程序说明】 输入一个2*3的二维数组,找出最大值以及它的行下标和列下标,并输出该结果。 运行示例: Enter array(2*3):3 2 10 -9 6 -1 max=a[0][2]=10 3 2 10 -9 6 -1 #include {int col,row,i,j; int a[2][3]; printf(\ for(i=0;i<2;i++) for(j=0;j<3;j++) scanf(\ (9) ); (10) ; for(i=0;i<2;i++) for(j=0;j<3;j++) if(a[i][j]>a[row][col]) { (11) } printf(\ for(i=0;i<2;i++) { for(j=0;j<3;j++) printf(\ (12) } 【供选择的答案】 (9)A、&a[i][j] C、a[i][j] (10) A、row=col=2; C、a[row][col]=0; (11) A、row=j;col=i; C、row=i;col=j; (12) A、printf(“\\n”)}; B、&a[j][i] D、a[j][i] 答案:A B、row=col=0; D、a[row][col]=-1; 答案:B B、a[row][col]=a[i][j]; D、a[row][col]=a[j][i]; 答案:C B、}printf(“\\n”); 答案:D C、; D、printf(“\\n”);} 试题4(每小题3分,共12分) 阅读下列程序并回答问题,在每小题提供的若干可选答案中挑选一个正确答案。 【程序】 #include {int op1,op2,res; char opertor; scanf (\ opertor=getchar(); while(opertor!='=') { scanf (\ 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(\ } (13)程序运行时,输入2*3-2=,输出 (13) 。 A、6 B、2 C、0 A、16 D、4 B、15 答案:D (14)、程序运行时,输入15+2/3=,输出 (14) 。 C、6 D、5 答案:D (15)、程序运行时,输入1+2*10-10/2=,输出 (15) 。 A、10 C、15 B、16 D、25 答案:A 4、程序运行时,输入1+3*5/2-7=,输出 (16) 。 A、3 B、1 C、-2 D、-3 答案:A 试题5(每小题3分,共12分) 阅读下列程序并回答问题,在每小题提供的若干可选答案中挑选一个正确答案。 【程序】 #include {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(\ } (17)、程序运行时,输入10#,输出 (17) 。 A、16 B、10 C、12 D、1 答案:A (18)、程序运行时,输入1a0#,输出 (18) 。
共分享92篇相关文档