二级C语言教程章节测试12.docx

上传人:b****6 文档编号:13618211 上传时间:2023-06-15 格式:DOCX 页数:11 大小:18.23KB
下载 相关 举报
二级C语言教程章节测试12.docx_第1页
第1页 / 共11页
二级C语言教程章节测试12.docx_第2页
第2页 / 共11页
二级C语言教程章节测试12.docx_第3页
第3页 / 共11页
二级C语言教程章节测试12.docx_第4页
第4页 / 共11页
二级C语言教程章节测试12.docx_第5页
第5页 / 共11页
二级C语言教程章节测试12.docx_第6页
第6页 / 共11页
二级C语言教程章节测试12.docx_第7页
第7页 / 共11页
二级C语言教程章节测试12.docx_第8页
第8页 / 共11页
二级C语言教程章节测试12.docx_第9页
第9页 / 共11页
二级C语言教程章节测试12.docx_第10页
第10页 / 共11页
二级C语言教程章节测试12.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

二级C语言教程章节测试12.docx

《二级C语言教程章节测试12.docx》由会员分享,可在线阅读,更多相关《二级C语言教程章节测试12.docx(11页珍藏版)》请在冰点文库上搜索。

二级C语言教程章节测试12.docx

二级C语言教程章节测试12

二级C语言教程章节测试12.用户标识符的作用域和存储类

一、选择题:

    

(1)有以下程序

     int a=2;

     intf(int n)

     {staticint a=3;

      int t=0;

      if(n%2){staticint a=4;   t+=a++; }

      else  {staticint a=5;   t+=a++; }

      return t+a++;

     }

     main()

     {int s=a,i;

      for(i=0;i<3;i++) s+=f(i);

      printf("%d\n",s);

     }

    程序运行后的输出结果是______

     A)26   B)28   C)29   D)24

    

(2)以下叙述中正确的是______

    A)局部变量说明为static存储数,其生存期将得到延长

    B)全局变量说明为static存储类,其作用域将被扩大

    C)任何存储类的变量在未赋初值时,其值都是不确定的

    D)形参可以使用的存储类说明符与局部变量完全相同

    (3)有以下程序

    inta=2;

    intf(int*A)

    {return(*A)++;}

    main()

    { ints=0;

        {inta=5;

          s+=f(&A);

        }

       s+=f(&A);

       printf(“%d\n”,s);

    }

    执行后输出结果是______

    A)10    B)9    C)7    D)8

    (4)以下叙述中正确的是______

    A)全局变量的作用域一定比局部变量的作用域范围大

    B)静态(static)类别变量的生存期贯穿于整个程序的运行期间

    C)函数的形参都属于全局变量

    D)未在定义语句中赋初值的auto变量和static变量的初值都是随机值

    (5)有以下程序

    inta=3;

    main()

    { ints=0;

    {inta=5; s+=a++;}

    s+=a++;printf(“%d\n”,s);

    }

    程序运行后的输出结果是______

    A)8   B)10   C)7   D)11

    (6)以下程序的输出结果是______

    int  f()

    {  static int i=0;

    int s=1;

    s+=i; i++;

    return s;

    }

     main()

    {  int i,a=0;

    for(i=0;i<5;i++) a+=f();

    printf("%d\n",a);

    }

    A)20   B)24   C)25   D)15

    (7)在C语言中,形参的缺省存储类是______

    A)auto    B)register   C)static    D)extern

    (8)以下程序的输出的结果是______

    intx=3;

    main()

    {  inti;

    for(i=1;i

    }

    ncre()

    {  staic  int x=1;

    x*=x+1;

    printf(" %d",x);

    }

    A)3 3     B)2  2     C)2  6     D)2  5

    (9)设有以下函数:

    f(int a)

    {  int  b=0;

    staticint c=3;

    b++; c++;

    return(a+b+c);

    }

    如果在下面的程序中调用该函数,则输出结果是______

    main()

    {  int a=2, i;

    for(i=0;i<3;i++) printf(“%d\n”,f(a));

    }

    A)7   B) 7          C)7           D)7

    8    9     10     7

    9    11     13     7

    (10)以下程序的输出结果是______

    int  a,b;

    voidfun()

    {  a=100;b=200; }

    main()

    {  int a=5,b=7;

    fun();

    printf(“%d%d\n”,a,b);

    }

    A)100200  B)57   C)200100  D)75

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

    A)auto和static       B)auto和register

    C)register和static      D)extern和register

    (12)在C语言中,函数的隐含存储类别是______

    A)auto           B)static         C)extern        D)无存储类别

    (13)下列程序的输出结果是______

    A)4           B)6             C)8            D)10

          intb=2;

          intfunc(int*a)

          {b+=*a;return(b);}

          main()

          {inta=2,res=2;

            res+=func(&a);

            printf("%d\n",res);

          }

    (14)以下程序的输出结果是______

    A)6 9 9  B)6 6 9    C)6 15 15     D)6 6 15

      int  d=1;

      fun(int p)

      {  static int d=5;

          d+=p;

          printf("%d",d);

          return(d);

      }

      main( )

      {  int  a=3; printf("%d\n",fun(a+fun(d)));  }

    (15)以下程序运行后,输出结果是______

    A)8,15         B)8,16          C)8,17          D)8,8

          func(int a, int  b)

          {  staticint  m=0,i=2;

              i+=m+1;

              m=i+a+b;

              return(m);

           }

           main()

          { int  k=4,m=1,p;

             p=func(k,m);printf("%d,",p);

             p=func(k,m);printf("%d\n",p);

          }

    (16)以下程序运行后,输出结果是______

    A)84           B)99            C)95            D)44

          int  d=1;

          fun(intp)

          { int  d=5;

             d+=p++;

             printf("%d,d);

          }

          main()

          {  inta=3;

              fun(a);

              d+=a++;

              printf("%d\n,d);

          }

    (17)以下叙述中不正确的是______

    A)在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值。

    B)在C中,在调用函数时,实在参数和对应形参在类型上只需赋值兼容。

    C)在C中,外部变量的隐含类别是自动存储类别。

    D)在C中,函数形参可以说明为register变量。

    (18)下面程序的输出是______

    intw=3;

    main()

    {intw=10; printf("%d\n",fun(5)*w); }

    fun(intk)

    {if(k==0)returnw;

    return(fun(k-1)*k);  }

    A)360       B)3600       C)1080       D)1200

    (19)下列程序执行后输出的结果是______

    #include

    f(inta)

    { intb=0;       staticc=3:

    a=c++,b++;

    return(a);    }

    main()

    { inta=2,i,k;

    for(i=0;i〈2;i=++〉    k=f(a++);

    printf("%d\n",k);    }

    (20)下列程序执行后输出的结果是______

    intd=1;

    fun(intq)

    {intd=5;

    d+=p++;  printf("%d".d);    }

    main()

    {inta=3;

    fun(a);

    d+=a++;    printf("%d\n",d);    }

    A)8  4      B)9  6        C)9  4        D)8   5

    (21)下面程序的输出是______

    A)3            B)4             C)6             D)9

    fun3(intx)

    staticinta=3;

    a+=x;

    return(a);}

    main()

    {intk=2,m=1,n;

    n=fun3(k);

    n=fun3(m);

    printf("%d\n",n);}

    (22)下面程序的输出是______

    A)1            B)2             C)7             D)10

    intm=13;

    intfun2(intx,inty)

    {intm=3;

    return(x*y-m);

    }

    main()

    {inta=7,b=5;

    printf("%d\n",fun2(a,b)/m);}

    (23)请读程序:

    #include

    voidfun(int*s)

    {staticintj=0;

    do

    s[j]+=s[j+1];

    while(++j<2);

    }

    main()

    {intk,a[10]={1,2,3,4,5};

    for(k=1;k<3;k++)fun(a);

    for(k=0;k<5;k++)printf("%d",a[k]);

    }

    上面程序的输出结果是______

    A)34756        B)23445         C)35743         D)12345

    (24)以下程序的输出结果是______

    #include

    main()

    {intk=4,m=1,p;

       p=func(k,m); printf("%d,",p); p=func(k,m); printf("%d\n",p);}

    func(a,b)

    inta,b;

    {staticintm=0,i=2;

     i+=m+1; m=i+a+b;  return(m); }

     A)8,17      B)8,16     C)8,20    D)8,8

二、填空题:

    

(1)以下程序运行后的输出结果是【1】

    fun(int a)

    {

      intb=0;static intc=3;

      b++;  c++;

      return (a+b+c);

    }

    main()

    {

      inti,a=5;

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

         printf("%d%d ",i,fun(a));

      printf("\n");

    }

    

(2)以下程序运行后的输出结果是【2】

    int  a=5;

    fun(int b)

    { static  int a=10;

    a+=b++;

    printf("%d",a);

    }

    main()

    { int c=20;

    fun(c);

    a+=c++;

    printf("%d\n",a);

    }

    (3)以下程序输出的最后一个值是【3】。

    int ff(int n)

    { static int f=l;

    f=f*n;

    return f;

    }

    main()

    {  int  i;

    for(I=1;I<=5;I++ printf(“%d\n”,ff(i));

    }

    (4)以下程序的输出结果是【4】 。

    void fun()

    {   static  int  a=0;

    a+=2;   printf(“%d”,a);

    }

    main()

    { int  cc;

    for(cc=1;cc<4;cc++)fun()

    printf(“\n”);

    }

    (5)以下程序的运行结果是 【5】    

         #include

         main()

         { int k=4,m=1,p;

            p=func(k,m);printf("%d,",p);

            p=func(k,m);printf("%d\n",p);

         }

         func(int a,int b)

         { static intm=0,i=2;

            i+=m+1;

            m=i+a+b;

            returnm;

         }

    (6)以下程序的输出结果是【6】。

       #include    

       int  fun(int  x,int y)

       {static int  m=0,i=2;

         i+=m+1;

         m=i+x+y;

         return m

       }

       main()

       {int  j=4,m=1,k;

         k=fun(j,m);       printf("%d,",k);

         k=fun(j,m);       printf("%d\n",k);

       }

    (7)下面程序的输出是【7】。

    #defineMAX5

    inta[MAX],k;

    main()

    {fun1();fun3();fun2(); fun3();

    printf("\n"); }

    fun1()

    {for(k=0;k

    fun2()

    {inta[MAX],k;

    for(k=0;k<5;k++) a[k]=k;}

    fun3()

    {intk;

    for(k=0;k

}

    (8)阅读下列程序:

                 #include

                 #defineMAX_COUNT4

                 voidfun();

                 main()

                 { intcount;

                     for(count=1;count<=MAX_COUNT;count++) fun();

                 }

                 voidfun()

                 { staticinti;

                    i+=2; printf("%d",i);

                 }

    上述程序的输出结果是【8】 。

 答案:

    一、选择题:

    1) C 2) A 3) C 4) B 5) A 6) D 7) A 8) C 9) A 10) B

    11) B 12) C 13) B 14) C 15) C 16) A 17) C 18) B 19) D 20) A

    21) C 22) B 23) C 24) A 25)  26)  27)  28)  29)  30) 

    

    二、填空题:

    

(1)0  10  1 11  2 12

    

(2)3025

    (3)120

    (4)246

    (5)8,17

    (6)8,17

    (7)o246802468

    (8)2468转贴于:

计算机等级考试_考试大

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2