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

题目

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

A.代码区

B.静态数据区

C.栈区

D.堆区


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

    在函数调用中执行到(return/break/continue/if)______语句时,将结束所在函数的执行过程,返回到调用该函数的原来位置。


    参考答案return

  • 第2题:

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

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

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

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

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


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

  • 第3题:

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

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

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

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

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


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

  • 第4题:

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

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

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

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

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


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

  • 第5题:

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

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

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

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

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


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

  • 第6题:

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

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

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

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

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


    正确答案:B

  • 第7题:

    试题39

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

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

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

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

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


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

  • 第8题:

    在程序中执行到()语句时,将结束所在函数的执行过程,返回到调用该函数的位置。
    return或返回

  • 第9题:

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

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

    正确答案:B

  • 第10题:

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

    整个程序

    B

    main()函数

    C

    所在文件

    D

    main()函数及被调函数


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

  • 第11题:

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

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

    B

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

    C

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

    D

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


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

  • 第12题:

    单选题
    对于一个正常运行的C程序,以下叙述中正确的是(  )。
    A

    程序的执行总是从程序的第一个函数开始,在main函数结束

    B

    程序的执行总是从main函数开始

    C

    程序的执行总是从main函数开始,在程序的最后一个函数中结束

    D

    程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束


    正确答案: A
    解析:
    一个正常运行的C程序总是从main函数开始执行,最后返回到main函数结束。答案选择B选项。

  • 第13题:

    在函数调用过程中,下列说法正确的是()。

    A.形式参数和实在参数各占一个独立的存储单元

    B.形式参数和实在参数存储空间都是在函数调用时分配的

    C.)在函数的执行过程中,形参变量值的改变不会影响实参值的改变

    D.函数调用结束时,临时存储区被撤消

    E.在函数调用过程中,实在参数与形式参数在个数、类型上必须匹配


    正确答案:ACDE

  • 第14题:

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

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

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

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

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


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

  • 第15题:

    下列说法中错误的是

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

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

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

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


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

  • 第16题:

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

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

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

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

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


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

  • 第17题:

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

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

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

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

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


    正确答案:A
    静态变量不是每调用一次就赋一次初值,而是将需要定义许多相同的具有相同属性的值时,使用静态变量来节省空间,所以A选项错误。

  • 第18题:

    对C语言源程序执行过程描述正确的是______。

    A.从main函数开始执行

    B.从程序中第一个函数开始执行,到最后一个函数结束

    C.从main函数开始执行,到源程序最后一个函数结束

    D.从第一个函数开始执行,到main函数结束


    正确答案:A

  • 第19题:

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

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

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

  • 第20题:

    在程序中执行到break语句时,将结束所在函数的执行过程,返回到调用该函数的位置。()

    A

    B



  • 第21题:

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

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

    正确答案:B

  • 第22题:

    填空题
    在程序中执行到()语句时,将结束所在函数的执行过程,返回到调用该函数的位置。

    正确答案: return或返回
    解析: 暂无解析

  • 第23题:

    判断题
    在程序中执行到break语句时,将结束所在函数的执行过程,返回到调用该函数的位置。()
    A

    B


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