浙江省计算机等级考试二级c理论试题.docx
《浙江省计算机等级考试二级c理论试题.docx》由会员分享,可在线阅读,更多相关《浙江省计算机等级考试二级c理论试题.docx(101页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2009年春浙江省高等学校计算机等级考试试卷(二级C)说明:考生应将所有试题的答案填写在答卷上。其中试题一到试题六 请在答卷上的各小题选项的对应位置上填“请将你的准考证号的后五位填写在答卷右下角的指定位置内;考试时间为90分钟。试题1 (每小题3分,共12分)输入个正整数n,计算下列式的前n项之和。运行示例:Enter n:2Sum=0.67#include main()int denomiator,flag,i9n;double item,sum;printf(MEntern:n);scanf(M%dH,&n);denomiator=l; ;sum=0;for(i=l;(2);i+);sum
2、=sum+item;(4) :denomiator=denomiator+2;printf(MSum=% ,2fnM,sum);(1) A. flag=0 B. flag=-l;C. flag=n D. flag=l(2)A. i=nB.inD.i=n(3)A. item=flag/ denomiatorB. item=l/denomiatorC. item=flag* 1.0/denomiatorD. item=1.0/ denomiator(4)A. flag=-lB.flag=0C. flag=flagD.flag=flag试题2 (每小题3分,共12分)验证哥德巴赫猜想:任何个大于6的
3、偶数均可表示为两个素数之和。 例如6=3+3, 8=3+5,18=7+11。将6-20之间的偶数表示成两个素数之和 打印时一行打印5组。要求定义和调用函数prime(m)判断m是否为素数, 当m为素数时返回1,否则返回素数就是只能被1和自身整除的正整数 1不是素数,2是素数。运行示例:6=3+3 8=3+5 10=3+7 12=5+7 14=3+1116=3+13 18=5+13 20=3+17【程序】#include #include int prime(int m)int i,n;if(m=l)return 0;n=sqrt(m);for(i=2;i=n;i+)if(m% i=0)retu
4、m 0;(5)main()int count,i,number;count=0;for(number=6;number=20;number=number+2) for(i=3;i=number/2;i=i+2)if( (6)printf(M%d=%d+%d number,i,number-i); count+;if( (7) )printf(HnM):(8)(5)A.;C. return 0 ;B. return 1;D. else return 1;(6) A. prime(i)!=Ollprime(number-i)!=OB. prime(i)!=O&prime(number-i)!=OC
5、. prime(i)=Ollprime(nuniber-i)=OD. prime(i)=Ollprime(number-i)=O(7) A. count%5=()C. (count+l)%5=0(8) A. break;C. continue;B. count%5!=0D. (count+l)%5!=0B. else break;试题3输入一行字符,统计并输出其中数字字符、英文字符和其它字符的 个数。要求定义并调用函数count(s,digit,letter,other)分类统计字符串s中数 字字符、英文字符和其它字符的个数,函数形参s是字符指针,形参 digit,letter,other的类
6、型是整型指针,函数类型是void.运行示例:Enter charaters:f(x,y)=5x+2y-6Digit=3 Letter=5 Other=6#include void count(char *s,int digit,int letter,int other)(9)while( (10)if(*s=0,&*s=,a,&*s=,A,&*str80;printf(MEnter charaters:M);ch=getchar();while(11)stri=ch;i+;ch=getchar();)stri=O;(12);printf(HDigit=%d Letter=%d Other=%
7、dnH,digit,letter,other); )(9) A. int digit=0,letter=0,other=0;B. int *digit=0,*letter=0,*other=0;C. digit=letter=other=0;D. *digit=*letter=*other=0;(10)A. *s+!=*0,B. *s+!=nC. *s!=,0,D. *s!=n(11)A. ch!= AO*B. ch!nC. ch= *0D. ch= *n(12)A. count(stn&digit,&letter,&other)B. count(&sti;&digit,&letter,&ot
8、her)C. count(*sti;digit,lettei;other)D. count(*sti;*digit,*lettei;*other)试题4#include main()int flag=0,i;int a7=8,9,7,9,8,9,7);for(i=0;i=0;i-)if(ai=8)break;flag-i;printf(M%dnM,nag);flag=O;for(i=0;i7;i+)if(ai=9)printf(n%dH4);)printf(,nu);flag=O;for(i=0;i7;i+)if(ai=7) flag=i;printf(H%dnMlag);(13)程序运行时,
9、第1行输出(13)A. 2C. 3B. 0;D. 6(14)程序运行时,第2行输出(14)。A. 4B. -1C. 0D. 5(15)程序运行时,第3行输出(15)A. 246B. 4C. 135D. 6(16)程序运行时,第4行输出(16)。A. 24 6B. 2C. 135D. 6试题5#include int fl(int n)if(n=l)retum 1;else return fl(n-l)+n;)int f2(int n)switch(n) case 1:case 2:retum 1;default: return f2(n-l)+f2(n-2);void f3(int n)pri
10、ntf(H%dM,n%10);if(n/10!=0)f3(n/10);void f4(int n) if(n/10!=0)f4(n/10); printf(dm%10);) main()printf(u%dnn(4);print dn”財(4);f3(123);printf(iT);f4(123);printf(MnH);(17)程序运行时,第1行输出 (17)A.10B.24C. 6D.1(18)程序运行时,第2行输出 (18)A.1B.3C.2D.4(19)程序运行时,第3行输出 (19)A.123B.3C.321D.1(20)程序运行时,第4行输出 (20)A.1B.123C.3D.32
11、1试题6include struct numint a;int b;);void f(struct num s, int n)int index, j, k;struct num temp;for (k=0;kn-l;k+)index=k;for(j=k+l;jn;j+)if(sj. bsindex. b)index=j; temp=sindex;sindex=sk; sk=temp;。int count , i, k, m, n, no;struct num s100,*p;scanf (%d%d%d, &n, &m, &k);for(i=0;in;i+)si.a=i+l;si. b=0;P
12、=s;count=no=0;while(nob=0)count+;if(count=m)no+;p-b=no;count=0;p+;if (p=s+n)P=s;f (s,n);printf(%d:%dn”, sk-l. b, sk-l.a)(21)程序运行时,输入5 4 3,输出 (21).A. 3:5B. 2:3C. 1:2D. 4:1(22)程序运行时,输入5 3 4,输出(22).A. 3:5B. 1:2C. 4:3D. 4:2(23)程序运行时,输入752,输出(23)0A. 1:5B. 6:1C. 2:3D. 2:4(24)程序运行时,输入4 2 4#,输出 (24).A. 3:3B
13、. 4:2C. 2:4D. 4:1试题 (28分)(1)定义函数fact(n)计算!的阶乘:n!=l*2*n,函数形参!的类型是 int,函数类型是double。(2)定义函数cal (x,e)计算下列算式的值,直到最后一项的绝对值小于e, 函数形参x和e的类型都是double,函数类型是doubleo要求调用自定义 函数fact(n)计算n的阶乘,调用库函数pow(x,n)计算x的n次基。(3)定义函数main(),输入两个浮点数x和e,计算并输出下列算式的值, 直到最后项的值小于精度e,要求调用函数cal (x,e)计算下列算式的值。XXXS = X + + + 2!3!4!参考程序:#i
14、nclude #include (l)double fact(int n)int i;double t=l;for(i=l;i=e)(sum=sum+pow(x,i)/fact(i);i+;)return sum;)(3)main()double x,e,sum;scanf( If% lfn,&x,&e);sum=cal(x,e);printf(nsum=% fW/um);)选着题:Adcc bbaa dcba abed abeb aded2008年秋浙江省高等学校计算机等级考试试卷(二级C)试题1(第小题3分,共12分)【程序说明】输入批学生的成绩,遇到负数表示输入结束,要 求统计并各等级成
15、绩的学生个数。成绩等级分为三级, 分别为 A (910)、P (680)和 F (59)。运行示例:Enter scores:88 71 68 70 59 81 91 0 60 77 83 -10A:1;P:8;F:2;程序#include main() int mark,a,p,f;a=p=f=0;printf(Enter scores:);scanf(%d ,&mark);whi le(GJ)if(mark=90)a+;(2)p+;(3)f+:(4) printf(A:%d;P:%d;F:%d;n,a,p,O;【供选择的答案】(1) A mark=0C、mark=60)C、else (ma
16、rk=60)(3) A else (mark0)或填 else if(mark=0)(4)A、scanf(%d,mark);C、;案:Bmark0D、mark=60)D、if(mark90)答案:AB、elseD、else if(mark=60)答案:BB、scanf(%d,&mark);D、mark=getchar(); 答试题2(第小题3分,共12分) 【程序说明】求1999之间所有满足各位数字的立方之和等于它 本身的数。例如153的秋位数字的立方和是!3+53+3;,=153 运行示例:1 153 370 371 407程序、#include main() int digit,j,sum
17、,x;for(j=l;j1000;j+)(6)dosum=sum+digit*digit*digit;x=x/10; while (8);if(j=sum)printf(%d ,sum);【供选择的答案】(5) A sum=O;B、sum=l;C、sum=j;D、;答案:A(6)A、x=l;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!0C、j=0D、x!=0答案:D试题3(第小题3分,共12分)【程序说明】输入10个整数,将它们从大到小排序后输出运行示例:Enter 10 i
18、ntegers: 10 98 -9 3 6 9 100 -1 0 2After sorted: 100 98 10 9 6 3 2 0-1 -9程序#include (9)void sort(10)int i,index,k,t;for(k=0;kn-l ;k+)index=k;for(i=k+l ;iaindex)index=i;(11)void swap(int *x,int *y)int t;t=*x;*x=*y;*y=t; int i,a10;printf(Enter 10 integers:);for(i=0;i10;i+)scanf(%d,&ai);(12) :printf( Af
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 浙江省 计算机等级考试 二级 理论 试题
限制150内