2014年3月计算机二级考试真题:C语言程序设计(网友版)

时间:2014-03-29 12:40:00   来源:开云网页版     [字体: ]

全国计算机等级考试热点-备考方案
报名时间 考试时间 成绩查询 考试真题 考试试题 收藏本站
不断更新中......敬请期待!!开云网页版计算机等级考试频道

12、以下只有在使用时才为该类型变量分配内存的存储类型说明是( )。

A.aut0和static B.auto和register

C.register和static D.extern和register

5、若fp是指向某文件的指针,且尚未读到文件末尾,则函数feof(fp)的返回值是( )。

A.EOF B.-1 C.非零值 D.0

1、数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是( )。

A.DB包含DBS和DBMS B.DBMS包含DB和DBS

C.DBS包含DB和DBMS D.没有任何关系

2、有下列程序: fun(int x,int y){return(x+y);) main() (int a=1,b=2,c=3,sHm; sum=fun((a++,b++,a+b),c++); printf(”%d\n”,sum); ) 执行后的输出结果是( )。

A.6 B.7 C.8 D.9

请补充函数proe(),该函数的功能是:按’0’到’9’统计一个字符串中的奇数数字字符各自出现的次数,结果保存在数组mum中(注意:不能使用字符串库函数)。

  例如,输入“x=1581453927843770hfds574",结果为:1=2,3=2,5=3,7=4,9=1。

  注意:部分源程序给出如下。

  请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。

  试题程序:

  #include

  #include

  #define M 1000

  void proc(char*str,int num[])

  {

   int i,j;

   int bb[10];

   char*p=str;

   for(i=0;i<10;i++)

   {

   num[i]=0;

   bb[iJ=0;

   }

   while(【1】)

   {

   if(*p>=’0’&&*p<=’9’)

   【2】 ;

   p++;

   }

   for(i=1,j=0;i<10;i=i+2,j++)

   【3】 ;

  }   void main()

  {

   char str[M];    int num[10],k;

   system("CLS");

   printf("\nPlease enter a char string:");

   gets(str);

   printf("\n**The original string**\n");

   puts(str);

   proc(str,num);

   printf("\n**The number of letter**\n");

   for(k=0;k<5;k++)

   {

   printf("\n");

   printf("%d=%d",2*k+1,num[k]);

   }

   printf("\n");

  }

下列给定的程序中,函数proc()的功能是:为一个偶寻找两个素数,这两个素数之和等于该偶数,并将这两个数通过形参指针传回主函数。

  请修改函数proc()中的错误,使它能得出正确的结果

  注意:不要改动main()函数,不得增行或删行,也不更改程序的结构。   试题程序:

  #include

  #include

  void proc(int num,int*b,int*c)

  {

   int i,j,d,y;

   for(i=3;i<=num/2;i=i+2)

   //****found****

   { y=0;

   for(j=2;j<=sqrt((double)i);j++)

   if(i%j==0)y=0;

   if(y==l)

   //****found****

   { d=i-num;

   for(j=2;j<=sqrt((double)d);    j++)

   if(d%j==0)y=0;

   if(y==l)

   {*b=i;*c=d;)

   }

   }

  }   void main()

  { int mum,b,C;

   do

   { printf("\nlnput num:");

   scanf("%d",&num);)

   while(num%2); ’

   proc(num,&b,&c);

   printf("\n\n%d=%d+%d\n",num,b,c);

   }

  }

编写函数int proc(int lim,int aa[M]),该函数的功能是求出小于或等于lim的所有素数并放在aa数组中,该函数返回所求出的素数。

  例如,若输人12时,则输出:2 3 5 7 11。

  注意:部分源程序给出如下。

  请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。   试题程序:

  #include

  #include

  #include

  #define M 1OO

  int proc(int lira,int aa[M])

  {

     }

  void main()

  {

   int limit,i,sum;

   int arr[M];

   system("CLS"):

   printf("输入一个整数");

   scanf("%d",&limit);

   sum=proc(limit,arr):

   for(i=0;i  

{    if(i%10==0&&i!一O)//每行输出10个数

   printf("\n");

   printf("%5d",arr[i]);

  }

  }