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

📄 answer2.txt

📁 本资料是国家公务员考试的c语言资料以及答案
💻 TXT
字号:
1.  C程序的结构可分为哪几类?(多选)

    A.顺序结构
    B.循环结构
    C.程序结构
    D.选择结构

    答案: ABD

2.  输入两个实数a,b,然后交换它们的值,最后输出(提示:要交换两个数得借助一个中间变量temp。首先让temp存放a的值,然后把b存入a,再把temp存入b就完成了)。
  
   void main()
   {
      float a,b,temp;

      printf("请输入a和b的值:");
      scanf("%d,%d",___);

      temp = a;
      ___
      ___
      printf("交换后, a=%d , b=%d\n",___);
   }

    答案: &a ,&b
          a = b;
          b = temp;
          a , b

3. 当a,b,c的值分别为3,4,5时,以下各语句执行后a,b,c的值为多少?

        (1)if(a>c)
           {a=b;b=c;c=a;}
           else
           {a=c;c=b;b=a;}
           
           执行后a,b,c的值为___,___,___
        (2)if(a<c)
             a=c;
           else
             a=b;c=b;b=a;
           
           执行后a,b,c的值为___,___,___
        (3)if(a!=c)
             ;
           else
             a=c;c=b;b=a;
           
           执行后a,b,c的值为___,___,___

    答案: 5  5  4
          5  5  4
          3  3  4

4.  当a=3,b=4,c=5时,写出下列各式的值。
    a<b的值为___, a<=b的值为___, 
    a==c的值为___, a!=c的值为___,
    a&&b的值为___, !a&&b的值为___, 
    a||c的值为___, !a||c的值为___,
    a+b>c&&b==c的值为___。

    答案: 1  1
          0  1
          1  0
          1  1
          0

5.  假设所有变量均已说明,写出下列各程序段运行后x的值。(多选)
    ok1=1; ok2=2; ok3=0; x=15; a=3; b=4;

    (1)if(!ok1)
         x++;
       else if(ok2)
       {
         if(ok3)
           x=3; 
         else   
           x=4; 
       }
       
       运行后x的值为下面哪一个?
       A. 15   B. 3   C. 16  D. 4

    (2)if(ok1)
       {
         if(a<b)
         {
           if(!ok3)
              x=0;
           else
              x=1;
         }
         else
           x=2;
       }
       else
         x=3;
       
       运行后x的值为下面哪一个?
       A. 0    B. 1    C. 2  D. 3

       答案: D  A



6.  若整数x分别等于95、87、100、43、66、79,则以下程序段运行后屏幕显示是什么?
    switch(x/10)
    {
      case 6:
      case 7:
         printf("Pass\n");
         break;
      case 8:
         printf("Good\n");
         break;
      case 9:
      case 10:
         printf("VeryGood\n");
         break;
      default:
         printf("Fail\n");
    }

    x等于 95时,程序段运行后屏幕上显示___
    x等于 87时,程序段运行后屏幕上显示___
    x等于100时,程序段运行后屏幕上显示___
    x等于 43时,程序段运行后屏幕上显示___
    x等于 66时,程序段运行后屏幕上显示___
    x等于 79时,程序段运行后屏幕上显示___
 
    答案: VeryGood   
          Good
          VeryGood
          Fail
          Pass
          Pass

7.  在C语言的if语句中,用作判断的表达式为___。(单选)
    
    A. 关系表达式        B. 逻辑表达式
    C. 算术表达式        D. 任意表达式

    答案: D

8.  请问:下面这个程序段的输出是什么?(单选)

    int a,b,c;

    a=7;b=8;c=9;
    if(a>b)
       a=b,b=c;c=a;
    printf("a=%d b=%d c=%d\n",a,b,c);

    A. a=7 b=8 c=7     B. a=7 b=9 c=7 
    C. a=8 b=9 c=7     D. a=8 b=9 c=8 

    答案: A

9. 该程序的运行结果是:(单选)

    void main()
    {
        int a,b,c;

        a=2;b=7;c=5;
        switch(a>0)
        {
        case 1:
           switch(b<10)
           {
              case 1:printf("^");break;
              case 0:printf("!");break;
           }
        case 0:
           switch(c==5)
           {
              case 0: printf("*");break;
              case 1: printf("#");break;
              default:printf("%%");break;
           }
        default:
           printf("&");
        }
        printf("\n");
    }

    A. ^#&     B. ^   C. &   D. ^!*#%&

    答案: A

10. 该程序的输出结果是多少?(单选)
   
    m=37;n=13;
    while(m!=n)
    {
       while(m>n)
         m=m-n;
       while(n>m)
         n-=m;
    }
    printf("m=%d\n",m);

    输出结果为:
    A. m=13   B. m=11
    C. m=1    D. m=2

    答案:C

11. 该程序的输出结果是多少?(单选)
   
    for(i=0;i<5;i++)
    {
      for(j=1;j<10;j++)
         if(j==5)
            break;
      if(i<2)
         continue;
      if(i>2)
         break;
      printf("%d,",j);
    }
    printf("%d\n",i);

    输出结果为:
    A. 10,3   B. 5,2
    C. 5,3    D. 10,2

    答案:C

12. 该程序的输出结果是什么?(单选)

  #include <stdio.h>
  void main()
  {
    int n;  
    n=0;
    while(n<8)
    {
      switch(n%3)
      {
      case 2:
        putchar('2');
      case 1:
        putchar('i');
        break;
      case 0:
        putchar('H');
      }
      n++;
    }
  }

    A. Hi2Hi2Hi  B. Hi2
    C. Hi2iHi2i  D. Hi2iHi2iHi

    答案: D


13. 该程序的输出结果是多少?(单选)

   #include <stdio.h>
   main()
   {
      int i,j,x=0;

      for(i=0;i<2;i++)
      {
         x++;
         for(j=0;j<=3;j++)
         {
            if(j%2)
               continue;
            x++;
         }
      }
      printf("x=%d\n",x);
   }

   A. x=4    B. x=8    C. x=6    D. x=12

   答案:  B


14. 若k为整型,以下while循环执行___次.(单选)

    k=2;
    while(k=0)
      printf("%d",k),k--;
    printf("\n");

    A. 无限次   B. 0次   C. 1次   D. 2次

    答案: D

15. 下面这个程序的输出是什么?(单选)

   #include <stdio.h>
   main()
   {
      int y=10;

      while(y--);
      printf("y=%d\n",y);
   }

   A. y=0    B. while构成死循环   C. y=1   D. y=-1

   答案: D

16. 以下程序从读入的整数数据中,统计大于零的整数个数和小于零的整数个数.用输入零来结束输入,程序中用变量i统计大于零的整数个数,用变量j统计小于零的整数个数.请填空.

   #include <stdio.h>
   main()
   {
      ___ n,i,j;
   
      printf("输入非零的整数(输入零结束程序)");
      i=j=0;
      scanf("%d",&n);
      while___
      {
         if(n>0)
            i=___;
         if(n<0)
            j=___;
         ___;
      }
      printf("i=%4d j=%4d\n",i,j);
   }

   答案: int
         (n!=0)
         i+1
         j+1
         scanf("%d",&n)


17. 圆周率pi的近似率可用下面的公式求得:
     pi*pi/6 约等于 1/(1*1) +1/(2*2) +...+1/(n*n)
    由以上公式可知,若n取值10000,则最后一项的值为1E-4,认为可达到精度要求。   以下程序用来求pi的近似值。请填空。(其中函数sqrt(a)用于求a的平方根)(单选)

   #include <stdio.h>
   #include <math.h>
   main()
   {
      long i;
      float pi;
   
      pi=0.0;
      for(i=1;i<=10000;i++)
         pi+=___;
      pi=sqrt(6.0*pi);
      printf("pi=%10.6lf\n",pi);
   }

    A. 1/i*i    B. 1/(i*i)    C. 1.0/i*i   D. 1.0/(i*i)
    答案: D


18. 斐波哪契数列中的头两个数是0和1,从第三个数开始,每个数等于前两个数的和,即:0,1,1,2,3,5,8,13,21,...等。下面这个程序就是求斐波哪契数列的前20个数。请填空。

   #include <stdio.h>
   void main()
   {
       int f,f1,f2,i;

       f1=0;f2=___;
       printf("%d\n%d\n",f1,f2);
       for(i=3;i<=30;___)
       {
          f=___;
          printf("%d\n",f);
          f1=f2;
          f2=___;
       }
   }

    答案: 1
          i++
          f1+f2
          f

19. 下面这个程序执行后i和s的值为多少?(单选)

#include <stdio.h>
void main()
{
    int i,s;

    i=0;s=0;
    while(i<10);
    {
        s+=(i++);
        printf("%d\n",s);
    }
    printf("i=%d\n",i);
}

    A. i值为9,s值为45   B. i值为10,s值为45
    C. i值为10,s值为36  D. 程序陷入了死循环

    答案:  D


20. 下面这个程序打印出以下这个三角形.请填空。

0
11
222
3333
44444
555555
6666666
77777777
888888888
9999999999

   void main()
   {
      int i,j;

      for(i=0;i<=___;i++)
      {
         for(j=0;j<___;j++)
             printf(___);
         ___
      }
   }

   答案: 9
         i
         "%d",i
         printf("\n");


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

   #include <stdio.h>
   void main()
   {
      long a,b,r;
 
      scanf("%ld",&a);
      b=0;
      do{
         r=a%10;
         a=a/10;
         b=b*10+r;
      }while(a);

      printf("%ld",b);
   }

    程序运行时如果输入 37   , 输出为___。
    程序运行时如果输入 -345 , 输出为___。
    程序运行时如果输入 10239, 输出为___。

    答案: 73
          -543
          93201

22. 如图所示,该算式在四个字母所在处欠缺四个数位,下面这个程序用穷举法搜寻解法。请填空。

    1A8   
   * 3B   
_________ 
   C73D   

#include <stdio.h>
void main()
{
  int A,B,C,D;
  int x,y,z;

  for(A=1;A<=9;A++)
    for(B=1;B<=9;B++)
      for(C=1;C<=9;C++)
        for(D=1;D<=9;D++)
        {
          x=100 + ___ + 8;
          y=___;
          z=___+700 +30 +___;

          if(___)
            printf("A=%d,B=%d,C=%d,D=%d\n",
                A,B,C,D);
        }
}

    答案:A*10 
         30+B
         C*1000
         D
         x*y==z

⌨️ 快捷键说明

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