itgle.com

在C程序中有些变量随着其所在函数被执行而为其分配存储空间,当函数执行结束后由系统回收。这些变量的存储空间应在( )分配。A.代码区 B.静态数据区 C.栈区 D.堆区

题目
在C程序中有些变量随着其所在函数被执行而为其分配存储空间,当函数执行结束后由系统回收。这些变量的存储空间应在( )分配。

A.代码区
B.静态数据区
C.栈区
D.堆区

相似考题
更多“在C程序中有些变量随着其所在函数被执行而为其分配存储空间,当函数执行结束后由系统回收。这些变量的存储空间应在( )分配。”相关问题
  • 第1题:

    当一次函数调用发生时,对其执行过程正确描述的是(28)。

    A.复制实参变量的值→控制流转移到该函数的起始位置→分配一个栈帧→开始执行该函数→控制流返回到函数调用点

    B.控制流转移到该函数的起始位置→复制实参变量的值→分配一个栈帧→开始执行该函数→控制流返回到函数调用点

    C.控制流转移到该函数的起始位置→分配一个栈帧→复制实参变量的值→开始执行该函数→控制流返回到函数调用点

    D.分配一个栈帧→复制实参变量的值→控制流转移到该函数的起始位置→开始执行该函数→控制流返回到函数调用点


    正确答案:D
    解析:当一次函数调用发生时,其执行过程可归纳为以下5个步骤:①在内存的栈空间中为其分配一个栈帧,用来存放该函数的形参变量和局部变量;②把实参变量的值复制到相应的形参变量中;③控制流转移到该函数的起始位置;④该函数开始执行;⑤当这个函数执行完以后,控制流和返回值返回到函数调用点。

  • 第2题:

    下列说法中错误的是

    A.静态局部变量的初值是在编译时赋予的,在程序执行期间不再赋予初值

    B.若全局变量和某一函数中的局部变量同名,则在该函数中,此全局变量被屏蔽

    C.静态全局变量可以被其他的编辑单位所引用

    D.所有自动类局部变量的存储单元都是在进入这些局部变量所在的函数体(或复合语句)时生成,退出其所在的函数体(或复合语句)时消失


    正确答案:C
    解析:静态全局变量只限于本文件所使用。静态全局变量只限于本文件所使用,不能被其他的文件所引用。

  • 第3题:

    以下选项中叙述错误的是( )。

    A.C程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值

    B.在c程序的同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内

    C.C程序函数中定义的自动变量,系统不自动赋确定的初值

    D.C程序函数的形参不可以说明为static型变量


    正确答案:A
    静态变量只赋值一次,下一次调用.还是使用上次遗留的值。答案选择A)

  • 第4题:

    以下关于程序运行时内存分配区域的叙述中,说法错误的是(23)。

    A.全局变量区域,存放了程序当中的所有全局变量,是静态分配的区域

    B.栈区域是由系统自动来分配的

    C.堆是在函数调用时分配的,当函数调用结束之后,相应的堆就会被释放

    D.主函数和其他函数的代码在一个程序开始运行时,就被装入到内存,保存在代码区中


    正确答案:C
    解析:栈帧是指在调用一个函数时,系统会自动地分配一块内存区域给这个函数,用来保存它的运行上下文、形参和局部变量等信息的一块内存区域。栈帧是在函数调用时分配的,当函数调用结束之后,相应的栈帧就会被释放。而堆区域主要用于动态分配的内存。

  • 第5题:

    若程序中定义了局部变量与全局变量,则 ______ 。

    A.在函数内只能访问局部变量,而不能访问全局变量

    B.局部变量与全局变量的名字不得相同

    C.若一个函数被多次调用,则其定义的局部变量必定分配同一个存储单元

    D.函数中定义的局部变量与全局变量同名时,在函数内引用的是局部变量

    A.

    B.

    C.

    D.


    正确答案:D
    解析:本题考查程序语言的基本概念。
      在高级语言程序中,变量的作用域可能是全局的也可能是局部的。对于全局变量,其作用域是整个程序(或文件1,因此在函数内可以访问全局变量,而局部变量的作用域为声明该变量的函数。一般语言都规定,若全局变量和局部变量的名称相同,则在局部变量的作用域范围内,引用的是局部变量。程序运行过程中,每次调用一个函数时,都在栈区为该函数的运行创建活动记录,函数运行结束后则释放为其分配的活动记录。因此,函数多次运行时,其定义的局部变量不一定分配同一个存储单元。

  • 第6题:

    C 程序中全局变量的存储空间在( )分配

    A.代码区

    B.静态数据区

    C.栈区

    D.堆区


    正确答案:B

  • 第7题:

    试题39

    以下选项中的叙述错误的是()

    A.C程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次值

    B.在C程序的同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内

    C.C程序函数中定义的自动变量,系统不自动赋确定的初值

    D.C程序函数的形参不可以说明为static型变量


    正确答案:A
    试题39分析
    静态变量在调用的时候会保留原来的值。
    试题39答案
    A

  • 第8题:

    C.程序中全局变量的存储空间在( )分配

    A.代码区
    B.静态数据区
    C.栈区
    D.堆区

    答案:B
    解析:

  • 第9题:

    在VB系统中,()代表内存单元,是命了名的存储空间。

    • A、变量
    • B、常量
    • C、函数
    • D、字节

    正确答案:A

  • 第10题:

    ()语句用于声明变量,并定义变量的数据类型,给变量分配存储空间。

    • A、Sub
    • B、Dim
    • C、Call
    • D、End

    正确答案:B

  • 第11题:

    单选题
    在main()函数中定义变量XYZ,则变量XYZ的作用域是()。
    A

    整个程序

    B

    main()函数

    C

    所在文件

    D

    main()函数及被调函数


    正确答案: C
    解析: 暂无解析

  • 第12题:

    单选题
    以下选项中叙述错误的是(  )。
    A

    C程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值

    B

    在C程序的同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内

    C

    C程序函数中定义的自动变量,系统自动赋确定的初值

    D

    C程序函数的形参不可以说明为static型变量


    正确答案: C
    解析:
    函数内定义的静态变量,在整个程序运行期间,占据静态存储区的永久性存储单元。即使退出函数以后,下次再进入该函数时,静态局部变量仍使用原来的存储单元。对未赋初值的静态局部变量,C编译程序自动给它赋初值0。因此,在函数中定义的静态变量,只在第1次调用赋值,以后调用保留上次的值。答案选择A选项。

  • 第13题:

    程序中常采用变量表示数据,变量具有名、地址、值、作用域、生存期等属性。关于变量的叙述,(19)是错误的。

    A.根据作用域规则,在函数中定义的变量只能在函数中引用

    B.在函数中定义的变量,其生存期为整个程序执行期间

    C.在函数中定义的变量不能与其所在函数的形参同名

    D.在函数中定义的变量,其存储单元在内存的栈区


    正确答案:B
    解析:本题考查程序语言基础知识。变量程序语言中的一个重要概念,具有类型、存储地址和作用域和生存期等属性。变量的作用域是指一个范围,是从代码空间的角度考虑问题,它决定了变量的可见性,说明变量在程序的哪个区域可用,即程序中哪些行代码可以使用变量。作用域有三种:局部作用域、全局作用域和文件作用域,相对应于局部变量(local variable)、全局变量和静态变量(global variable)。在变量的作用域中,可以合法地引用它,设置它的值,或在表达式中使用它;在变量的作用域之外,就不能引用它的名称,这么做会导致一个编译错误。在程序执行时,所有的变量都有有限的生存期。它们从被声明的那一刻起存在,并在某一刻消失,最迟也要在程序终止时消失。变量生存多长时间取决于属性“存储持续时间”。函数中定义的变量(局部变量)一般在函数被执行时由系统自动在栈区分配存储空间,当函数执行结束时自动撒消其存储空间,这称为变量具有自动的存储持续时间。对于全局变量,其生存期一般从程序运行开始,至程序运行结束,称为变量具有静态的存储持续时间。还有一些变量,其存储空间由程序员根据需要申请或释放,称为具有动态的存储持续时间。

  • 第14题:

    若程序中定义了局部变量与全局变量,则(11)。A.在函数内只能访问局部变量,而不能访问全局变量SX

    若程序中定义了局部变量与全局变量,则(11)。

    A.在函数内只能访问局部变量,而不能访问全局变量

    B.局部变量与全局变量的名字不得相同

    C.若一个函数被多次调用,则其定义的局部变量必定分配同一个存储单元

    D.函数中定义的局部变量与全局变量同名时,在函数内引用的是局部变量


    正确答案:D
    本题考查程序语言的基本概念。在高级语言程序中,变量的作用域(引用变量的代码范围)可能是全局的或者是局部的。对于全局变量,其作用域是整个程序(或文件),因此在函数内可以访问全局变量,而局部变量的作用域为声明(定义)该变量的函数(过程,子程序)。一般语言都规定,若全局变量和局部变量的名称相同,则在局部变量的作用域范围内,引用的是局部变量(即最近嵌套原则)。程序运行过程中,每次调用一个函数时,都在栈区为该函数的运行创建活动记录(主要包括函数运行时需要的数据和控制信息),函数运行结束后则释放为其分配的活动记录。因此,函数多次运行时,其定义的局部变量不一定分配同一个存储单元。

  • 第15题:

    以下关于程序运行时内存分配区域的描述中,说法错误的是(12)。

    A.全局变量区域,存放了程序当中的所有全局变量,是静态分配的区域

    B.栈区域是由系统自动来分配的

    C.堆是在函数调用时分配的,当函数调用结束之后,相应的堆就会被释放

    D.主函数和其他函数的代码在一个程序开始运行时,就被装入到内存,保存在代码区


    正确答案:C
    解析:栈帧是指在调用一个函数时,系统会自动地分配—块内存区域给这个函数,用来保存它的运行上下文、形参和局部变量等信息的一块内存区域,栈帧是在函数调用时分配的,当函数调用结束之后,相应的堆就会被释放。

  • 第16题:

    当一次函数调用发生时,对它的执行过程正确的描述是(28)。

    A.分配一个栈帧→复制实参变量的值→控制流转移到该函数的起始位置→开始执行该函数→控制流返回到函数调用点

    B.控制流转移到该函数的起始位置→复制实参变量的值→分配一个栈帧→开始执行该函数→控制流返回到函数调用点

    C.控制流转移到该函数的起始位置→分配一个栈帧→复制实参变量的值→开始执行该函数→控制流返回到函数调用点

    D.复制实参变量的值→控制流转移到该函数的起始位置→分配一个栈帧→开始执行该函数→控制流返回到函数调用点


    正确答案:A
    解析:当一次函数调用发生时,其执行过程的先后顺序如下。1)在内存的栈空间中为其分配一个栈帧,用来存放该函数的形参变量和局部变量:2)把实参变量的值复制到相应的形参变量中;3)控制流转移到该函数的起始位置;4)该函数开始执行;5)当这个函数执行完以后,控制流和返回值返回到函数调用点。

  • 第17题:

    下面关于局部变量和全局变量的说法中,( )正确。

    A、main函数中定义的变量是全局变量

    B、在任何函数内部定义的变量都是局部变量

    C、全局变量都在程序运行期间根据需要动态分配存储空间的

    D、局部变量都是在程序运行期间根据需要动态分配存储空间的


    正确答案:B

  • 第18题:

    在c程序中有些变量随着其所在函数被执行而为其分配存储空间,当函数执行结束后由系统回收。这些变量的存储空间应在(32)分配。

    A.代码区

    B.静态数据区

    C.栈区

    D.堆区


    正确答案:C
    本题考查程序语言基础知识。程序运行时内存布局分为代码区、栈区、堆区和静态数据区。全局变量和静态变量的存储空间在静态数据区分配。函数中定义的局部自动变的存储空间是在栈区动态分配的,随着函数被执行而为其分配存储空间,当函数执行结束后由系统回收。

  • 第19题:

    程序中全局变量的存储空间在( )分配。

    A.代码区
    B.静态数据区
    C.栈区
    D.堆区

    答案:B
    解析:
    本题考查程序语言基础知识。程序运行时的用户内存空间一般划分为代码区、静态数据区、栈区和堆区,其中栈区和堆区也称为动态数据区。全局变量的存储空间在静态数据区。

  • 第20题:

    在main()函数中定义变量XYZ,则变量XYZ的作用域是()。

    • A、整个程序
    • B、main()函数
    • C、所在文件
    • D、main()函数及被调函数

    正确答案:B

  • 第21题:

    变量的有效范围与其定义位置有关,(),其作用域在整个源程序文件中都有效。

    • A、在第一个函数中定义的变量
    • B、在定义第一个函数之前所定义的变量
    • C、在主函数中定义的变量
    • D、在函数中定义的静态变量

    正确答案:B

  • 第22题:

    声明变量的含义是通知编译系统为变量分配合适大小的存储空间。


    正确答案:正确

  • 第23题:

    单选题
    在VB系统中,()代表内存单元,是命了名的存储空间。
    A

    变量

    B

    常量

    C

    函数

    D

    字节


    正确答案: C
    解析: 暂无解析