返回旧版>>
您当前的位置: LUPA教育 > 教学资源 > 认证课程 > Linux程序员(C语言)
考试样卷
发布时间:2013-01-29 14:23

一、程序阅读选择题(每选择3分,共8个选择,共24分) 

1.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。某企业有12个部门,现在需要统计各个部门的人数,部门人数存放在数据库PeopleNum中(在本题中用数组PeopleNum进行模拟),程序中通过调用函数获SumNum取各个部门人数总和。

#include<stdio.h>

static int PeopleNum[20]={10,8,4,2,15,23,8,5,12,20,4,18};

int SumNum( )

{

    int i,     1      ;

    i=1;

    while(       (2)        )

    {

        sum+= PeopleNum[i];

              (3)     ;

    }

   rerurn  sum;

}

int main()

{

    printf("     (4)      n", SumNum( ));

    return 0;

}

【供选择的答案】

(1)  A、 sum=1              B、sum=2

     C、 sum=0              D、sum=10

(2)  A、 i<=11              B、i<11

     C、 i==12              D、i<=12

(3)  A、 i+1                B、i+ +

     C、 i++                D、i

(4)  A、 sum=%f             B、sum=%-6d

     C、 sum=%c             D、sum=%ld

2.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。注意:各小题之间相互独立。

#include<stdio.h>

int fun_char(char s[],char ch)

{

 int i=0,k=0;

 for(;s[i]!='?';i++){

if (s[i]==ch)       //6

                     //7

     k++;

  }

 return k;

}

                                                                               

int main( )

{

  char  s[80],ch;

  int n=100;

  printf("enter a string:");

  gets(s);

  printf("enter a char:");

  ch=getchar( );

  n=fun_char(s,ch);

  printf("The n value is :%dn",n);

  return 0;

}

 

【供选择的答案】

(1)程序运行时从键盘输入的字符串为:”bdahgfabdfa”,输入的字符为’a’,则输出为

      A、11               B、3

      C、8                D、2

(2)程序第6行改为:if (s[i]!=ch)后,程序运行时从键盘输入的字符串为:”bdahgfabdfa”,输入的字符为’a’,则输出为

      A、11               B、3

      C、8                D、2

 (3) 程序第7行改为:break;后,程序运行时从键盘输入的字符串为:”bdahgfabdfa”,输入的字符为’a’,则输出为

      A、1                B、3

      C、8                D、2

(4) 程序第7行改为:continue;后,程序运行时从键盘输入的字符串为:”bdahgfabdfa”,输入的字符为’a’,则输出为

      A、11               B、3

      C、8                D、2

 

二、程序改错题(每个错误4分,写出第2题的编译命令4分,共20分)

1. 程序中有两个错误,请改正。程序的功能是模拟打印某职工的图像,从数据库中读出两张图像,并测定图像的大小,根据界面的选定决定是高清晰打印还是一般的图像打印,高清晰打印是指打印图像像素大的图像。设图像的像素大小为x、y ; 如界面选定用flag表示,flag为1,表示高清晰打印,flag为0,表示一般的图像打印。x、y、flag的值用键盘输入进行模拟,打印的时间长短用函数sleep进行模拟,如sleep(5)打印需时间为5s,sleep函数在stdio.h库中,它的参数用像素值表示。

       #include<stdio.h>

       int main()

       {

         int  x,y,time,flag;

         scanf("%d %d,x,y");

         scanf("%d",&flag);

         if(x>y,flag)

            time=x;

         else

           time=y;

        printf(" 正在打印中…请等待  time=%d Sn",time);

        sleep(time);

        return  0;

  }

2. 程序kk.c中有两个错误,请改正。程序的功能统计本部门职工工资低于平均工资的人数,及需要增加发放消费券的职工人数,可发放消费券的职工条件是比平均工资低800元的职工。职工的工资来自职工数据库,本程序中用键盘输入来模拟,当读到职工工资小于等于0时程序结束。

#include<stdio.h>

int main()

{

  int  i=0,num1=0,num2=0;

  double  sum=0,average,a[100];

  for( ;   ;i++)

  {

     scanf("%lf",&a[i]);

     if(a[i]<0)

         break;

     sum=sum + a[i];

  }

  average=sum/i;

  printf("i=%d     av=%lfn",i,average);

  while(i>=0)

  {i--;

   if(a[i]+800<average)

      num2++;

   else if  (a[i]<average)

      num1++;

  }

  printf("你部门低于本部门平均工资的人数%dn",num1);

  printf("你部门需要发放消费券的职工人数%dn",num2);

  return  0;

}

 

三、函数设计(10分)

程序功能:C程序文件exec.c中有main函数与fun函数,main函数中读入一字符串,调用函数fun判断此字符串是否能构成回文,所谓的回文是指左读与右读都相同的文字,例如”abcdcba”、”abcddcba”,如果是回文,返回给main函数1,否则返回给main函数0,在main函数中输出结果。完成函数的设计,请不要改变main函数与fun函数的参数。

#include<stdio.h>

//fun函数代码                                                                                                             

int main( )

{

  char str[81];

  gets(str);

  if(fun(str)==1)

    printf("字符串%s是回文n",str);

  else

    printf("字符串%s不是回文n",str);

 }

答案:

 

四、程序设计与调试(本题共16分)

文本文件my.h中的内容有若于行预处理命令,文件名为proc.c中有一函数double fun(double x , int  n)定义,函数的功能是计算并返回x的n(n<=50)次幂 。此两个文件都存放在/home/aa目录下。已知main函数定义在mainp.c文件中,mainp.c文件存放在/root目录下。请建立文件proc.c完成fun函数的定义,写出文件my.h中的预处理命令,写出编译命令编译程序。注意:文件proc.c中没有任何预处理命令,不能改变mainp.c的文件内容,考生可自行建立目录aa。

//mainp.c

#include "my.h"

int main()

{

  double  x , s;

int n;

  scanf("%d  %lf",&n,&x);

  s=fun(x , n);

  printf("s=%ldn",s);

}

(1)

 //my.h

请写出相应的代码:

(2)

//proc.c

请写出相应的代码:

(3)

请写出相应的命令:

 

五、程序设计(本大题,共2小题,共30分)

1.设计程序:设计一个计算器程序,键盘输入一个10进制整数及一个字符,如输入大写字符X、D、O,此数字分别以十六进制数、十进制数、八进制数输出。
2.设计程序:有一游戏程序,有一小丑爬台阶,台阶由N×N方阵的辅对角线构成,其规则为:小丑的生命特征值大小等于方阵辅对角线的当前元素,能顺利上一台阶,否则回到原地,小丑的生命特征值减1,同时方阵辅对角线的当前元素值减2。然后又继续攀登,最终如小丑的生命特征值减为0或攀登的次数大于2N,游戏失败,如果小丑的生命特征值大于0或攀登的次数小于2N,输出恭喜你字样。方阵及小丑的生命特征值由键盘输入。

上一篇:
下一篇:


Powered by LUPA @ 2010-2016
教育部LUPA开源软件实习实训基地 版权所有 浙ICP备06002895号 浙公网安备 33010602003256号 站长统计