全局变量破坏了函数的封装性,不能实现信息隐藏,依赖全局变量的函数很难在其他程序中复用,对于使用全局变量的程序维护也比较困难,因此建议尽量不用全局变量。

题目

全局变量破坏了函数的封装性,不能实现信息隐藏,依赖全局变量的函数很难在其他程序中复用,对于使用全局变量的程序维护也比较困难,因此建议尽量不用全局变量。


相似考题
更多“全局变量破坏了函数的封装性,不能实现信息隐藏,依赖全局变量的函数很难在其他程序中复用,对于使用全局变量的程序维护也比较困难,因此建议尽量不用全局变量。”相关问题
  • 第1题:

    若一个C程序中说明一个全局变量int ⅰ;(在所有函数之外说明的),则该程序任何一点都可引用全局变量ⅰ。()

    此题为判断题(对,错)。


    参考答案:错误

  • 第2题:

    以下叙述中错误的是( )

    A.局部变量的定义可以在函数体和复合语句的内部

    B.全局变量的定义可以在函数以外的任何部位

    C.同一程序内局部变量和全局变量不允许同名

    D.函数的形参属于局部变量


    正确答案:C

  • 第3题:

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

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

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

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

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

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


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

  • 第4题:

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

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

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

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

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

    A.

    B.

    C.

    D.


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

  • 第5题:

    在多个应用程序访问同一个 DLL时,下面关于 DLL中使用全局变量的说法哪个是正确的?

    A.每个应用程序都各自使用在他自己的进程空间内复制的一份该全局变量

    B.全局变量在 DLL中是不允许使用的

    C.每个应用程序访问的是同一个全局变量,该全局变量的有引用计数。


    正确答案:C

  • 第6题:

    在程序里设置的全局变量也可以在子程序里应用。


    正确答案:正确

  • 第7题:

    全局变量可使用static关键词进行定义,由于全局变量一直存在,占用了大量的内存单元,且加大了程序的耦合性,不利于程序的移植或复用。


    正确答案:正确

  • 第8题:

    在函数外部定义的变量称为全局变量。


    正确答案:正确

  • 第9题:

    在函数内部没有办法定义全局变量。


    正确答案:错误

  • 第10题:

    在函数内部,既可以使用global来声明使用外部全局变量,也可以使用global直接定义全局变量。


    正确答案:正确

  • 第11题:

    判断题
    全局变量会增加不同函数之间的隐式耦合度,从而降低代码可读性,因此应尽量避免过多使用全局变量。
    A

    B


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

  • 第12题:

    单选题
    以下针对全局变量的叙述错误的是(  )。
    A

    全局变量的作用域是从定义位置开始至源文件结束

    B

    全局变量是在函数外部任意位置上定义的变量

    C

    用extern说明符可以限制全局变量的作用域

    D

    全局变量的生存期贯穿于整个程序的运行期间


    正确答案: A
    解析:
    在不同编译单位内用extern说明符来扩展全局变量的作用域,extern可以将全局变量作用域扩展到其他文件,而不是限制全局变量的作用域。答案选择C选项。

  • 第13题:

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

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

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

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

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


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

  • 第14题:

    下列说法中错误的是

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

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

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

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


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

  • 第15题:

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

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

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

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

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


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

  • 第16题:

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

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

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

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

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


    正确答案:B

  • 第17题:

    关于全局变量,下列哪种说法是错误的?()

    • A、全局变量是用于在不同的程序之间传递数据。
    • B、它只有前面板,没有程序框图。
    • C、全局变量是一个特殊的VI,可以使用公式节点进行编程。
    • D、全局变量通过接口实现主程序和子程序之间的数据传递。

    正确答案:C

  • 第18题:

    全局变量是在某一函数中存在的变量,它只在该函数内部有效。


    正确答案:错误

  • 第19题:

    在main函数中定义的变量称为全局变量。


    正确答案:错误

  • 第20题:

    在C语言程序中,在函数内部定义的变量称为()

    • A、全局变量
    • B、外部变量
    • C、局部变量
    • D、内部变量

    正确答案:C

  • 第21题:

    全局变量会增加不同函数之间的隐式耦合度,从而降低代码可读性,因此应尽量避免过多使用全局变量。


    正确答案:正确

  • 第22题:

    全局变量在函数之间共享。


    正确答案:正确

  • 第23题:

    判断题
    在函数内部,既可以使用global来声明使用外部全局变量,也可以使用global直接定义全局变量。
    A

    B


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

  • 第24题:

    单选题
    在多个应用程序访问同一个DLL时,下面关于DLL中使用全局变量的说法哪个是正确的?()
    A

    每个应用程序都各自使用在他自己的进程空间内复制的一份该全局变量

    B

    全局变量在DLL中是不允许使用的

    C

    每个应用程序访问的是同一个全局变量,该全局变量的有引用计数。


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