第七章单元测试
  1. 若在一个函数的复合语句中定义了一个变量,则该变量( )。

  2. A:在本源文件范围内有效
    B:在复合语句中定义非法
    C:在整个函数中有效
    D:只在该复合语句中有效

    答案:只在该复合语句中有效

  3. 某源文件中定义了一个全局变量,其作用范围是( )。

  4. A:从定义处到本源文件结束
    B:整个源文件的范围
    C:不知道有无声明,所以不确定
    D:所有源文件
  5. 在函数体中定义的局部变量,其作用范围是( )。

  6. A:定义它的函数内
    B:定义它的大括号内
    C:定义它的源文件内
    D:所有源文件
  7. 关于函数的形参,下列说法正确的是( )。

  8. A:形参只是一个符号,不是变量
    B:形参是动态局部变量
    C:形参是静态局部变量
    D:函数形参的声明不在任何大括号内,所以形参是全局变量
  9. 定义局部变量时不指定存储类型,则其存储类型是( )。

  10. A:extern
    B:register
    C:static
    D:auto
  11. 关于静态局部变量,正确的说法是( )。

  12. A:其他三种说法都不对
    B:执行到它的作用域时分配空间,离开它的作用域时释放空间
    C:程序装载时分配空间,程序结束时才释放空间
    D:从分配空间到程序结束,它一直存在,期间在任何地方都可以使用它
  13. 定义了一个变量但未赋初值,关于它的初值,下面说法正确的是( )。

  14. A:若是静态局部变量,则为0;若是自动变量或寄存器变量,则不确定
    B:若是static型的全局变量,为0;若是extern型的全局变量,则不确定
    C:若是动态存储,则为0;若是静态存储,则不确定
    D:若是全局变量,则为0;若是局部变量,则不确定
  15. 关于全局变量的生存期,下面说法正确的是( )。

  16. A:从程序装载到程序运行结束
    B:取决于它定义的位置
    C:从源文件开始执行到源文件执行结束
    D:取决于它所在的源文件
  17. 若全局变量定义时未规定属性,则它的属性是( )。

  18. A:auto
    B:register
    C:static
    D:extern
  19. #include<stdio.h>
    int a=2,b=3;
    int max(int a,int b)
    {
    int c;
    c=a>b?a:b;
    printf("%d",c);
    return c;
    }
    int main()
    {
    int a=4;
    max(a,b);
    printf("%d",max(a,b));
    return 0;
    }
    上面程序的运行结果是( )。

  20. A:444
    B:4
    C:34
    D:24
  21. int fac (int n)
    {
    static int f=1;
    f*=n;
    return f;
    }
    int main()
    {
    int i,n;
    for(i=1;i<=5;i++)
    n=fac(i);
    printf("%d",n);
    return 0;
    }
    上面程序的运行结果是( )。

  22. A:120
    B:5
    C:24
    D:100
  23. 根据变量的作用域可将变量分为( )。

  24. A:全局变量和局部变量
    B:自动变量和寄存器变量
    C:静态变量和动态变量
    D:自动变量和临时变量
  25. 全局变量和局部静态变量分配空间的时机是( )。

  26. A:执行到变量作用域的时候
    B:主函数执行时
    C:装载exe文件时
    D:主函数结束时
  27. 在程序运行过程中不占内存空间的变量是( )。

  28. A:寄存器变量
    B:全局变量
    C:自动局部变量
    D:静态局部变量
  29. 允许在其它源文件中使用的是( )。

  30. A:static型全局变量
    B:register型变量
    C:extern型全局变量
    D:static型局部变量

温馨提示支付 ¥3.00 元后可查看付费内容,请先翻页预览!
点赞(2) dxwkbang
返回
顶部