春浙江省高等学校 计算机等级考试试卷
试题1(每小题3分,共12分)
阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】
输入一个正整数n,计算下列式的前n项之和。 运行示例: Enter n:2 Sum=0.67 【程序】
#include 
{ int denomiator,flag,i,n; double item,sum; printf(\ scanf(\ denomiator=1; (1) ; sum=0;
for(i=1; (2) ;i++) {
(3) ; sum=sum+item; (4) ;
denomiator=denomiator+2; }
printf(\}
【供选择的答案】
(1)A.flag=0 B.flag=-1;
C.flag=n                                D.flag=1                  //答案D (2)A.i>=n                                   B.i C.i>n                                     D.i<=n                     //答案D (3)A.item=flag/ denomiator         B.item=1/ denomiator C.item=flag*1.0/ denomiator   D.item=1.0/ denomiator//答案C (4)A.flag==-1                             B.flag=0  C.flag=-flag                           D.flag=flag                //答案C 试题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+3 8=3+5 10=3+7 12=5+7 14=3+11 16=3+13 18=5+13 20=3+17 【程序】  #include  int i,n;  if(m==1)return 0; n=sqrt(m);  for(i=2;i<=n;i++) if(m%i==0)return 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(\       count++;         if(    (7)    )printf(\           (8)           }   } }  【供选择的答案】  (5)A.;                                        B.return 1;  C.return 0  ;                           D.else return 1;                //答案B (6)A.prime(i)!=0||prime(number-i)!=0 B.prime(i)!=0&&prime(number-i)!=0 C.prime(i)==0||prime(number-i)==0       D.prime(i)==0||prime(number-i)==0                       //答案B (7)A.count%5==0                       B.count%5!=0  C.(count+1)%5==0                 D.(count+1)%5!=0   //答案A (8)A.break;                                 B.else break;  C.continue;                             D.;                           //答案A 试题3(每小题3分,共12分)  阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】  输入一行字符,统计并输出其中数字字符、英文字符和其它字符的个数。要求定义并调用函 数count(s,digit,letter,other)分类统计字符串s中数字字符、英文字符和其它字符的个数,函数形参s是字符指针,形参digit,letter,other的类型是整型指针,函数类型是void.。 运行示例:  Enter charaters:f(x,y)=5x+2y-6 Digit=3 Letter=5 Other=6 【程序】  #include  void count(char *s,int *digit,int *letter,int *other) {       (9)         while(    (10)    )     {if(*s>='0'&&*s<='9')         (*digit)++;        else if(*s>='a'&&*s<='z'||*s>='A'&&*s<='Z')                (*letter)++;             else                (*other)++;        s++;     } }  main()  {int i=0,digit,letter,other; char ch,str[80];  printf(\ch=getchar();  while(    (11)    ) {str[i]=ch; i++;  ch=getchar(); }  str[i]='\\0';     (12)    ;  printf(\}  【供选择的答案】  (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;                                 //答案D (10)A.*s++!='\\0'                B.*s++!='\\n'  C.*s!='\\0'                         D.*s!='\\n'        //答案C (11)A.ch!= '\\0'                             B.ch!= '\\n'    C.ch== '\\0'                        D.ch== '\\n'       //答案B  (12)A.count(str,&digit,&letter,&other)                             B.count(&str,&digit,&letter,&other)