最新浙江省二级C语言考试真题.docx
- 文档编号:5335482
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:49
- 大小:56.20KB
最新浙江省二级C语言考试真题.docx
《最新浙江省二级C语言考试真题.docx》由会员分享,可在线阅读,更多相关《最新浙江省二级C语言考试真题.docx(49页珍藏版)》请在冰豆网上搜索。
最新浙江省二级C语言考试真题
2008年春浙江省高校
计算机等级考试试卷(二级C)
试题1(每小题3分,共12分)
【程序说明】
输入一个整数n(n>=2),输入菲波那契序列的前n项,每行输出6个数,菲波那序列:
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答案:
A
(2)A、x=x1-x2B、x=x1+x2
C、x=x1D、x=2答案:
B
(3)A、count/6==0B、count%6!
=0
C、count%6==0D、count/6!
=0答案:
C
(4)A、x=x1+x2B、x2=x1
C、x=x2D、x2=x答案:
D
试题2(每小题3分,共12分)
【程序说明】
输入2个正数m和n(1<=m 素数就是只能被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、m C、m==1D、0答案: D (6)A、mB、1 C、0D、n答案: C (7)A、mB、1 C、0D、i==n答案: B (8)A、prime(i)! =0B、prime(i)==0 C、1=prime(i)D、! prime(i)答案: A 试题3(每小题3分,共12分) 【程序说明】 输入一个2*3的二维数组,找出最大值以及它的行下标和列下标,并输出该结果。 运行示例: Enterarray(2*3): 3210-96-1 max=a[0][2]=10 3210 -96-1 #include main() {intcol,row,i,j; 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]答案: 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 main() {intop1,op2,res; charopertor; 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、2 C、0D、4答案: D (14)、程序运行时,输入15+2/3=,输出(14)。 A、16B、15 C、6D、5答案: D (15)、程序运行时,输入1+2*10-10/2=,输出(15)。 A、10B、16 C、15D、25答案: A 4、程序运行时,输入1+3*5/2-7=,输出(16)。 A、3B、1 C、-2D、-3答案: A 试题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\n",number); } (17)、程序运行时,输入10#,输出(17)。 A、16B、10 C、12D、1答案: A (18)、程序运行时,输入1a0#,输出(18)。 A、264B、10 C、1D、12答案: C (19)、第16行改为“;”后,程序运行时,输入A*0#,输出(19)。 A、0B、120 C、10D、12答案: B (20)、第16行改为“elsebreak;”删除第15行后,程序运行时,输入1b0#,输出(20)。 A、10B、12 C、276D、1答案: B 试题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行输出(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 doublefact(intn)//第一题 {inti; doublet=1; for(i=1;i<=n;i++) t*=i; returnt; } doublecal(intm,intn)//第二题 {doubles=0; inti; for(i=m;i<=n;i++) s+=i; returns; } main()//第三题 {intn,i; doubles=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分) 【程序说明】 输入一批学生的成绩,遇到负数表示输入结束,要求统计并各等级成绩的学生个数。 成绩等级分为三级,分别为A(90~100)、P(60~80)和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答案: A (2)A、elseif(mark>=60)B、if(mark>=60) C、else(mark>=60)D、if(mark<90)答案: A (3)A、else(mark<60)B、else C、elseif(mark>0)D、elseif(mark<=60)答案: B或填elseif(mark>=0) (4)A、scanf("%d",mark);B、scanf("%d",&mark); C、;D、mark=getchar();答案: B 试题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(j==sum)printf("%d",sum); } } 【供选择的答案】 (5)A、sum=0;B、sum=1; C、sum=j;D、;答案: A (6)A、x=1;B、x=j; C、;D、x=sum;答案: B (7)A、digit=x/10;B、digit=x; C、digit=x%10;D、;答案: C (8)A、x==0B、j! 0 C、j==0D、x! =0答案: D 试题3(第小题3分,共12分) 【程序说明】 输入10个整数,将它们从大到小排序后输出。 运行示例: Enter10integers: 1098-9369100-102 Aftersorted: 100981096320-1–9 [程序] #include (9) voidsort((10)) {inti,index,k,t; 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);答案: C (10)A、int&a,intnB、int*a,int*n C、int*a,inynD、inta,int*n答案: C (11)A、swap(*a[index],*a[k])B、swap(a[index],a[k]) C、swap(index,k)D、swap(&a[index],&a[k])答案: D (12)A、sort(a)B、sort{a[10]} C、sort(a[],10)D、sort(a,10)答案: D 试题4(第小题3分,共12分) 阅读下列程序并回答问题,在每小题提供的若干可选答案中挑选一个正确答案。 [程序] 程序1 #include main() {intj,k,s1,s2; s1=s2=0; for(j=0;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)。 答案: D A、015B、50 C、55D、515 (14)程序2运行时。 输出(14)。 答案: C A、015B、50 C、55D、515 (15)程序3运行时。 输出(15)。 答案: B A、015B、50 C、55D、515 (16)程序4运行时。 输出(16)。 答案: A A、015B、50 C、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 A、1B、0 C、15D、-1 (18)程序1运行时。 输出(18)。 答案: B A、1B、0 C、15D、-1 (19)程序1运行时。 输出(19)。 答案: B A、1B、0 C、15D、-1 (20)程序1运行时。 输出(20)。 答案: D A、1B、0 C、15D、-1 试题6(第小题3分,共12分) 阅读下列程序并回答问题,在每小题提供的若干可选答案中挑选一个正确答案。 【程序】 #include main() {intk; charch,a[10],*s[10]={"one","two","three","four"}; k=0; while((ch=getchar())! ='\n'&&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]); } (22)程序运行时,输入5678,输出(22)。 答案: D A、twothreeB、two C、onefourthreeD、fourthreetwoone (23)程序运行时,输入8561#,输出(23)。 答案: C A、twothreeB、two C、onefourthreeD、fourthreetwoone (24)程序运行时,输入7902#,输出(24)。 答案: B A、twothreeB、two C、onefourthreeD、fourthreetwoone (25)程序运行时,输入7633#,输出(25)。 答案: B A、twothreeB、two C、onefourthreeD、fourthreetwoone 试题7(28分) (1)定义函数fact(n)计算n的阶乘: n! =1*2*……*n,函数的返回值类型是double。 (2)定义函数cal(e)计算下列算式的值,直到最后一项的绝对值小于e,函数的返回值类型是double。 (3)定义函数main()。 输入正整数n,当精度e分别取值10-1、10-2、10-3……、10-n时,分别计算并输出下列式的值,直到最后一项的绝对值小于精度e,以比较不同精度下算出的结果。 要求调用函数cal(e)计算下列算式的。 参考程序: #include #include (1)doublefact(intn) {inti; doublet=1; for(i=1;i<=n;i++) t=t*i; returnt; } (2)doublecal(doublee) { doublesum=0,t=1; inti=1; while(1/t>=e) {t=fact(i); sum=sum+1.0/t; i++; } returnsum; } (3)main() {intn,i; while(scanf("%d",&n),n<=0); for(i=1;i<=n;i++) {printf("i=%d1+1/2! +1/3! +……=%f\n",i,cal(pow(10,-i))); } } 2009年春浙江省高等学校 计算机等级考试试卷(二级C) 说明: (1)请将所有试题的答案填写在答卷上。 其中试题一到试题六请在答卷上各小题正确选项的对应位置处填“√”; (2)请在答卷上填写学校名称、准考证号和姓名,并将你的准考证号的后五位填写在答卷右下角的指定位置内; (3)考试时间为90分钟。 试题1(每小题3分,共12分)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 浙江省 二级 语言 考试