⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 answer3.txt

📁 本资料是国家公务员考试的c语言资料以及答案
💻 TXT
字号:
1. 请改正下面这个远程序的错误:

#include <stdio.h>
main()
{
   int i,j,list(10);

   for(i=0,i<10,i++)
   {
       list[i] = 2*i+3;
       for(j=9,j>=0,j--)
          printf("%d\n",list[j]);
   }
}

    答案: int i,j,list(10); 改为 int i,j,list[10];
          for(i=0,i<10,i++) 改为 for(i=0;i<10;i++)
          for(j=9,j>=0,j--) 改为 for(j=9;j>=0;j--)


2.  指出下面各说明语句中哪些是合法的:(多选)
    A. int abcd[0x80];     B. char 9ab[10];
    C. char chi[-200];     D. int aaa[5]={3,4,5};
    E. float key[]={3.0,4.0,1,0};    F. char disk[];
    G. int n,floppy[n];      H. int cash[4]={1,2,3,4,5,6};

    答案: ADE

3.根据以下说明,写出正确的说明语句。
    (1)men是一个有10个整型元素的数组。
       ___
    (2)step是一个有4个实型元素的数组,元素值分别为1.9, -2.33, 0, 20.6。
       ___
    (3)grid是一个二维数组,共有4行,10列整型元素。
       ___

    答案: int mesh[10];
          float step[4] = {1.9, -2.33, 0, 20.6};
          int grid[4][10];

4.  请回答下列问题。
    (1)array是一个一维整形数组,有10个元素,前6个元素的初值是9,4,7,49,32,-5,请写出正确的说明语句。
       ___
    (2)该数组下标的取值范围是从___到___(从小到大)。
    (3)如何用scanf函数输入数组的第二个元素。
       ___
    (4)如何用赋值语句把39存入第一个元素。
       ___
    (5)如何表示把第六个和第四个元素之和存入第一个元素。
       ___


    答案:  int array[10] = {9,4,7,49,32,-5};
           0   9
           scanf("%d",&array[1]);
           array[0] = 39;
           array[0] = array[5] + array[3];


5.  写出以下初始化数组的长度。
    (1)int chn[3];
       数组chn的长度为___。
    (2)float isa[]={1.0,2.0,3.0,4.0,5.0};
       数组isa的长度为___。
    (3)int doom[8];
       数组doom的长度为___。
    (4)float pci[4][2];
       数组pci的长度为___。
    (5)int ast[3][3];
       数组ast的长度为___。
    (6)int att[3][4];
       数组att的长度为___。
    (7)float dell[][3]={{1,4,7},{2,5},{3,6,9}};
       数组dell的长度为___。

    答案: 6
          20
          16
          32
          18
          24
          36

6.  这个程序输入了20个数存放在一个数组中,并且输出其中最大者与最小者、,20个数的和及它们的平均值。请填空。

    void main()
    {
        char array___;
        int max,min,average,sum;
        int i;
    
        for(i=0;i<___;i++)
        {
           printf("请输入第%d个数:",i+1);
           scanf("%d",___);
        }

        max=array[0];
        min=array[0];
        for(i=0;i<=___;i++)
        {
           if(max<array[i])
              ___
           if(min>array[i])
              ___
           sum=___;
        }
        average = ___;

        printf("20个数中最大值是%d,",max);
        printf("最小值是%d,",min);
        printf("和是%d,",sum);
        printf("平均值是%d.\n",average);
    }

    答案: [20]
          20
          &array[i]
          19
          max=array[i];
          min=array[i];
          sum+array[i]
          sum/20
          

7.  该程序的运行结果是: min=___,m=___,n=___。
    void main()
    {
      float array[3][4]={
           {3.4,-5.6,56.7},
           {56.8,999.,-.0123},
           {0.45,-5.77,123.5},
           {43.4,0,111.2}
        };

        int i,j;
        int min;
        int m,n;
  
        min = array[0][0];
        m=0;n=0;
        for(i=0;i<3;i++)
        for(j=0;j<4;j++)
          if(min > array[i][j])
          {
            min = array[i][j];
            m=i;n=j;
          }

        printf("min=%d,m=%d,n=%d\n",min,m,n);
    }

    答案: -5.77  1   2

8. 下面的程序中哪一行有错误?(单选)

#include <stdio.h>
main()
{
   float array[5]={0.0};         //第A行
   int i;

   for(i=0;i<5;i++)
      scanf("%f",&array[i]);

   for(i=1;i<5;i++)
      array[0]=array[0]+array[i];//第B行

   printf("%f\n",array[0]);      //第C行
}

    A. 第A行  B. 第B行   
    B. 第C行  D. 没有

    答案: D

9. 若有以下整型的a数组,数组元素和它们得值如下所示:

   数组元素:  a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9]
   元素的值:  9    4    12   8    2    10   7    5    1    3

    (1)请写出对该数组的说明,并赋以上初值。
       ___
    (2)该数组的最小下标值为___,最大下标值为___。
    (3)写出下面各式的值:
         a[a[9]]的值为___
         a[a[4]+a[8]]的值为___

    答案: int a[10]={9,4,12,8,2,10,7,5,1,3};
          0    9
          8
          8
          

10. 写出下面这个程序的输出结果:

void main()
{
  char str[]="ABCDEFGHIJKL";

  printf("%s\n",str);       屏幕上显示___
  printf("%s\n",&str[4]);   屏幕上显示___
  str[2]=str[5];
  printf("%s\n",str);       屏幕上显示___
  str[9]='\0';
  printf("%s\n",str);       屏幕上显示___
}

    答案: ABCDEFGHIJKL
          EFGHIJKL
          AFCDEFGHIJKL
          AFCDEFGHI

11. 字符串"ab\n\\012/\\\""的长度为___。

    答案: 10

12. 下面哪一项是不正确的字符串赋值或赋初值的方式。(单选)

    A. char *str; str="string";
    B. char str[7]={'s','t','r','i','n','g'};
    C. char str1[10];str1="string";
    D. char str1[]="string",str2[]="12345678";

    答案: C

13. 若有以下说明和语句,则输出结果是哪一项?(单选)
    (strlen(s)为求字符串s的长度的函数)

    char s[12]="a book!";
    printf("%d",strlen(s));

    A. 12   B. 8   C. 7   D. 11

    答案: C


14. 若有以下说明和语句,则输出结果是___。(单选)
    (strlen(s)为求字符串s的长度的函数)

    char sp[]="\t\v\\\0will\n";    
    printf("%d",strlen(sp));

    A. 14    B. 3    C. 9    D. 字符串中有非法字符

    答案: B

15. 若有以下说明和语句,则输出结果是___。(单选)

    char str[]="\"c:\\abc.dat\"";
    printf("%s",str);

    A. 字符串中有非法字符     B. \"c:\\abc.dat\"
    C. "c:\abc.dat"           D. "c:\\abc.dat"

    答案: C


16. 读懂下面的程序并填空。

void main()
{
   char str[80];
   int i=0;

   gets(str);
   while(str[i]!=0)
   {
      if(str[i]>='a'&&str<='z')
        str[i]-=32;
      i++;
   }
   puts(str);
}

   程序运行时如果输入 upcase, 屏幕显示___
   程序运行时如果输入 Aa1Bb2Cc3, 屏幕显示___

   答案: UPCASE
         AA1BB2CC3

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -