第九章单元测试
  1. 以下关于数据存储的说法错误的是(   )。


  2. A:

    目标程序在目标机中运行时,都置身在一个连续的逻辑地址空间

    B:

    目标程序代码通常存放在静态代码区,过程/函数存放在动态数据区的栈区

    C:

    程序运行时,存储空间需要为机器的操作系统和体系结构等代码预留一部分存储空间

    D:

    在静态数据区,数据对象并不是一个字节一个字节连续存放,存放时需要“留白”处理,目的是为了“边界对齐”


    答案:

    目标程序在目标机中运行时,都置身在一个连续的逻辑地址空间


  3. 关于数据对象存储分配的描述正确的是( )。

  4. A:数据对象中,常量存放在静态数据区,变量存放在动态数据区 B:无论何种编程语言,若要使用堆式存储模式,就必须编写编写函数显式分配和释放存储空间 C:C语言中,所有的函数以栈式分配模式存储 D:编译完成就能确定变量个数和数据大小的存放在静态数据区,只有运行时才能确定数据对象数量和大小的存放在动态数据区
  5. 关于过程/函数的活动记录描述错误的是( )。

  6. A:为最大限度提高存储空间的利用率,一个函数在栈区仅保留一份活动记录 B:过程/函数的活动记录在过程/函数被调用时创建,运行中访问并/或修改,调用结束撤销 C:过程/函数的活动记录中变量的信息,有的是变量的值,有的是变量指代的偏移地址 D:过程/函数的活动记录存放着控制类信息、实际参数值、过程/函数声明的变量、临时变量等
  7. 关于过程/程序块嵌套时,活动记录的相关描述正确的是( )。

  8. A:过程/函数的返回值传递时,通常值传递不可靠,要用地址传递方式 B:过程/函数的返回值是由被调用过程/函数产生的运算结果,要存放在被调用过程/函数的活动记录中 C:过程/程序块的活动记录中,可以增加一个区域,专门存放静态链和动态链信息,通过动态链进行访问 D:过程/程序块的活动记录中,增加一个存储单元,记录作用域层数信息,按照内层变量可以访问外层变量的规则进行访问
  9. 存储组织中,为某些量动态分配存储空间的含义正确是( )。

  10. A:源程序中某些量动态分配存储空间时,可以采取栈式存放,也可以堆式存放。但是二选一,一旦确定后,所有同类型变量都采用统一的存放模式 B:在编译阶段为源程序的某些量进行分配存储空间,运行时只能访问不能修改 C:在运行时为源程序的某些量分配存储空间 D:在编译阶段为源程序的某些量进行分配存储空间,运行时再进行动态调整
  11. 对于下面的高级语言程序:

    procedure P(X,Y,Z);
    begin
      Y:=Y+1;
      Z:=Z+X;
    end P;
    begin
      A:=2;
      B:=3;
      P(A+B,A,A);
      print A
    end
    若参数传递的方法为传值,程序执行时所输出的A是(  )


  12. A:

    7

    B:

    8

    C:

    2

    D:

    9

  13. 一个目标程序运行所需的存储空间包括( )。

  14. A:存放数据项目的空间 B:存放程序运行的控制数据所需单元 C:存放目标代码的空间 D:存放程序运行的连接数据所需单元
  15. 对于下面的嵌套过程语言的程序,按照最近嵌套原则进行作用域分
    析,下面说法正确的是( )
    program P
    var a,b: integer;
    procedure P1(i1,j1:integer);
    var c,d: integer;
    ...
    end;
    procedure P2(i2,j2:integer);
    var a,c: integer;
    procedure P21;
    var b1,b2:boolean;
    ...
    end;
    ...
    end;
    ...
    end;

  16. A:子程序P2可以访问子程序P1中的变量 c B:子程序P21可以访问子程序P2中的形式参数i2 C:子程序P1可以调用子程序P21 D:子程序P21可以调用子程序P1
  17. 对于在编译时不能确定程序运行时数据空间的大小、允许递归调用的程序设计语言,一般采取静态存储分配策略。

  18. A:错 B:对
  19. 一个程序设计语言只能提供一种参数传递机制。

  20. A:错 B:对

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