您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > 浙江省计算机等级考试二级c理论试题
2009年春浙江省高等学校计算机等级考试试卷(二级C)说明:⑴考生应将所有试题的答案填写在答卷上。其中试题一到试题六请在答卷上的各小题选项的对应位置上填“√”。⑵请将你的准考证号的后五位填写在答卷右下角的指定位置内;⑶考试时间为90分钟。试题1(每小题3分,共12分)输入一个正整数n,计算下列式的前n项之和。917151311s运行示例:Entern:2Sum=0.67#includestdio.Hmain(){intdenomiator,flag,i,n;doubleitem,sum;printf(Entern:);scanf(%d,&n);denomiator=1;(1);sum=0;for(i=1;(2);i++){(3);sum=sum+item;(4);denomiator=denomiator+2;}printf(Sum=%.2f\n,sum);}(1)A.flag=0B.flag=-1;C.flag=nD.flag=1(2)A.i=nB.inC.inD.i=n(3)A.item=flag/denomiatorB.item=1/denomiatorC.item=flag*1.0/denomiatorD.item=1.0/denomiator(4)A.flag==-1B.flag=0C.flag=-flagD.flag=flag试题2(每小题3分,共12分)验证哥德巴赫猜想:任何一个大于6的偶数均可表示为两个素数之和。例如6=3+3,8=3+5……,18=7+11。将6-20之间的偶数表示成两个素数之和,打印时一行打印5组。要求定义和调用函数prime(m)判断m是否为素数,当m为素数时返回1,否则返回0。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。运行示例:6=3+38=3+510=3+712=5+714=3+1116=3+1318=5+1320=3+17【程序】#includestdio.H#includemath.hintprime(intm){inti,n;if(m==1)return0;n=sqrt(m);for(i=2;i=n;i++)if(m%i==0)return0;(5)}main(){intcount,i,number;count=0;for(number=6;number=20;number=number+2){for(i=3;i=number/2;i=i+2)if((6)){printf(%d=%d+%d,number,i,number-i);count++;if((7))printf(\n);(8)}}}(5)A.;B.return1;C.return0;D.elsereturn1;(6)A.prime(i)!=0||prime(number-i)!=0B.prime(i)!=0&&prime(number-i)!=0C.prime(i)==0||prime(number-i)==0D.prime(i)==0||prime(number-i)==0(7)A.count%5==0B.count%5!=0C.(count+1)%5==0D.(count+1)%5!=0(8)A.break;B.elsebreak;C.continue;D.;试题3输入一行字符,统计并输出其中数字字符、英文字符和其它字符的个数。要求定义并调用函数count(s,digit,letter,other)分类统计字符串s中数字字符、英文字符和其它字符的个数,函数形参s是字符指针,形参digit,letter,other的类型是整型指针,函数类型是void.。运行示例:Entercharaters:f(x,y)=5x+2y-6Digit=3Letter=5Other=6#includestdio.hvoidcount(char*s,int*digit,int*letter,int*other){(9)while((10)){if(*s='0'&&*s='9')(*digit)++;elseif(*s='a'&&*s='z'||*s='A'&&*s='Z')(*letter)++;else(*other)++;s++;}}main(){inti=0,digit,letter,other;charch,str[80];printf(Entercharaters:);ch=getchar();while((11)){str[i]=ch;i++;ch=getchar();}str[i]='\0';(12);printf(Digit=%dLetter=%dOther=%d\n,digit,letter,other);}(9)A.intdigit=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++!='\n'C.*s!='\0'D.*s!='\n'(11)A.ch!='\0'B.ch!='\n'C.ch=='\0'D.ch=='\n'(12)A.count(str,&digit,&letter,&other)B.count(&str,&digit,&letter,&other)C.count(*str,digit,letter,other)D.count(*str,*digit,*letter,*other)试题4#includestdio.hmain(){intflag=0,i;inta[7]={8,9,7,9,8,9,7};for(i=0;i7;i++)if(a[i]==7){flag=i;break;}printf(%d\n,flag);flag=-1;for(i=6;i=0;i--)if(a[i]==8){break;flag-i;}printf(%d\n,flag);flag=0;for(i=0;i7;i++)if(a[i]==9){printf(%d,i);}printf(\n);flag=0;for(i=0;i7;i++)if(a[i]==7)flag=i;printf(%d\n,flag);}(13)程序运行时,第1行输出(13)。A.2B.0;C.3D.6(14)程序运行时,第2行输出(14)。A.4B.-1C.0D.5(15)程序运行时,第3行输出(15)。A.246B.4C.135D.6(16)程序运行时,第4行输出(16)。A.246B.2C.135D.6试题5#includestdio.hintf1(intn){if(n==1)return1;elsereturnf1(n-1)+n;}intf2(intn){switch(n){case1:case2:return1;default:returnf2(n-1)+f2(n-2);}}voidf3(intn){printf(%d,n%10);if(n/10!=0)f3(n/10);}voidf4(intn){if(n/10!=0)f4(n/10);printf(%d,n%10);}main(){printf(%d\n,f1(4));printf(%d\n,f2(4));f3(123);printf(\n);f4(123);printf(\n);}(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.321试题6#includestdio.hstructnum{inta;intb;};voidf(structnums[],intn){intindex,j,k;structnumtemp;for(k=0;kn-1;k++){index=k;for(j=k+1;jn;j++)if(s[j].bs[index].b)index=j;temp=s[index];s[index]=s[k];s[k]=temp;}}main(){intcount,i,k,m,n,no;structnums[100],*p;scanf(%d%d%d,&n,&m,&k);for(i=0;in;i++){s[i].a=i+1;s[i].b=0;}p=s;count=no=0;while(non){if(p-b==0)count++;if(count==m){no++;p-b=no;count=0;}p++;if(p==s+n)p=s;}f(s,n);printf(%d:%d\n,s[k-1].b,s[k-1].a);}(21)程序运行时,输入543,输出(21)。A.3:5B.2:3C.1:2D.4:1(22)程序运行时,输入534,输出(22)。A.3:5B.1:2C.4:3D.4:2(23)程序运行时,输入752,输出(23)。A.1:5B.6:1C.2:3D.2:4(24)程序运行时,输入424#,输出(24)。A.3:3B.4:2C.2:4D.4:1试题7(28分)(1)定义函数fact(n)计算n的阶乘:n!=1*2*……*n,函数形参n的类型是int,函数类型是double。(2)定义函数cal(x,e)计算下列算式的值,直到最后一项的绝对值小于e,函数形参x和e的类型都是double,函数类型是double。要求调用自定义函数fact(n)计算n的阶乘,调用库函数pow(x,n)计算x的n次幂。!4!3!2432xxxxs(3)定义函数main(),输入两个浮点数x和e,计算并输出下列算式的值,直到最后一项的值小于精度e,要求调用函数cal(x,e)计算下列算式的值。!4!3!2432xxxxs参考程序:#includestdio.h#includemath.h(1)doublefact(intn){inti;doublet=1;for(i=1;i=n;i++)t=t*i;returnt;}(2)doublecal(doublex,doublee){doublesum=0;inti=1;while(pow(x,i)/fact(i)=e){sum=sum+pow(x,i)/fact(i);i++;}returnsum;}(3)main(){doublex,e,sum;scanf(%lf%lf,&x,&e);sum=cal(x,e);{printf(sum=%f\n,sum);}}选着题:Adccbbaadcbaabcdabcbadcd2008年秋浙江省高等学校计算机等级考试试卷(二级C)试题1(第小题3分,共12分)【程序说明】输入一批学生的成绩,遇到负数表示输入结束,要求统计并各等级成绩的学生个数。成绩等级分为三级,分别为A(90~100)、P(60~80)和F(0~59)。运行示例:Enterscores:887168705981910607783-10A:1;P:8;F:2;[程序]#includestdio.hmain(){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、mark0C、mark=0D、mark0答案:A(2)A、elseif(mark=60)B、if(mark=60)C、else(mark=60)D、if(mark90)答案:A(3)A、else(mark60)B、elseC、elseif(mark0)D、elseif
本文标题:浙江省计算机等级考试二级c理论试题
链接地址:https://www.777doc.com/doc-2324242 .html