工学

判断题内部静态类变量与自动类变量作用域相同,但是生存期不同。A 对B 错

题目
判断题
内部静态类变量与自动类变量作用域相同,但是生存期不同。
A

B

参考答案和解析
正确答案:
解析: 暂无解析
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

以下叙述中错误的是( )。A.全局变量的作用域一定比局部变量的作用域范围大B.静态(static)类别变量的生存期贯穿于整个程序的运行期间C.全局变量的生存期是整个程序的运行期间D.静态局部变量的初值是在编译时赋予的,在程序执行期间不再赋予初值


正确答案:A
静态类别变量的生存期贯穿于整个程序的运行,直到程序运行结束为止,全局变量也是一样,静态局部变量的初值在编译时赋予,程序执行期间不再赋予其他值,即重复当调用函数时,函数内部的再次赋初值无效。

第2题:

以下叙述中正确的是

A.局部变量说明为static存储类,其生存期将得到延长

B.全局变量说明为static存储类,其作用域将被扩大

C.任何存储类的变量在未赋初值时,其值都是不确定的

D.形参可以使用的存储类说明符与局部变量完全相同


正确答案:A
解析:静态局部变量在整个程序运行期间,静态局部变量在内存的静态存储区中占据着永久性的存储单元。由此可知静态局部变量的生存期将一直延长到程序运行结束。而全局变量的只有一种静态存储类别,故全局变量说明为static存储类,和没有说明为static存储类其生存期都是一直延长到程序运行结束;未赋初值的auto型变量的初值是随机的,未赋初值的static型变量的初值是0。

第3题:

下列变量中,哪类变量的生存期和作用域是不一致的 _______ 。

A.自动变量

B. 定义在文件最前面的全局变量

C. 局部静态变量

D. 寄存器变量


参考答案:C

第4题:

一种语言中不同种类的变量往往采用不同的存储分配策略,C语言中的全局变量和静态变量采用静态分配,而自动(Auto)类变量采用(30)。

A.最佳分配

B.首先分配

C.堆式分配

D.栈式分配


正确答案:D
解析:在目标程序运行时,目标代码所引用的数据对象在内存空间中。因此,在编译阶段产生目标时,要把目标代码所引用的数据对象映射到内存空间上,在运行时,再分配给需要的内存单元,这个过程称为存储分配。分配的对象有简单数据类型(如整、实和布尔型等)、结构数据类型(如数组和记录等)和连接数据(如返回地址、参数等)。由于各种语言的语义不同,主要是名字的作用域和生存期不同,因而对存储空间的组织和采用的存储分配策略也不同,可分为静态和动态两大类。把过程或函数的一次执行叫一个活动,把一个活动所需要的存储空间组织在一起构成一个活动记录(有的书上称数据区),不同语言的活动记录结构是不同的。如果在编译时能确定目标程序运行中所需的全部数据空间的大小及相互位置,那么,能在编译时安排好目标程序运行时全部数据对象在存储空间中的位置,且不随目标程序的运行而改变,则称这种分配为静态存储分配,如先于FORTRAN77版本的FORTRAN语言采用这种分配策略。如果一个程序语言允许递归过程、可变数组或动态数据结构,那么,就需采用动态存储分配策略,它有两种方式:栈式和堆式。栈式动态存储分配策略适用于组织PASCAL、C、ALGOL之类的语言的活动记录。每当调用一个过程产生一个活动时,它所需的活动记录就分配在栈顶。每当过程的一个活动结束时,就释放栈顶的活动记录。如果一个程序语言提供用户构造动态数据结构的设施,有自由地申请数据空间和退还数据空间的机制(如C++中的newdelete,PASCAL的new),或者不仅有过程而且有进程的程序结构,即空间的使用未必服从“先申请后释放,后申请先释放”的原则,那么栈式的动态存储分配方案就不适用了,这种情况下通常使用一种称为堆式的动态存储分配方案。下图所示为C语言运行时的内存空间安排,编译程序通常把全局量和每个函数中的静态量分在静态数据区,把一个函数中的自动变量和必需的数据组织成活动记录,随着调用函数的展开,分配在栈中。对于程序员构造动态数据结构,调用malloc动态申请的单元,则分配在堆中。

第5题:

下面关于C++语言变量的叙述错误的是

A.在C++语言中变量分为auto,static,extern和register四种存储类型

B.自动变量和外部变量的作用域为整个程序

C.内部静态变量的作用域是定义它的函数

D.外部静态变量的作用域是定义它的文件


正确答案:B

第6题:

下面叙述中正确的是( )。

A.全局变量的作用域一定比局部变量的作用域范围大

B.静态类型变量的生存期贯穿于整个程序的运行期间

C.函数的形参都属于全局变量

D.未在定义语句中赋值的auto变量和static变量的初值都是随机值


正确答案:B

第7题:

关于变量的作用范围,下列说法错误的是( )。

A.异常处理参数作用域为整个类

B.局部变量作用于声明该变量的方法代码段

C.类变量作用于声明该变量的类

D.方法参数作用于传递到方法内代码段


正确答案:A

第8题:

下列关于变量存储类的描述中,错误的是()。

A.任何变量定义后都具有一个确定的存储类

B.变量的存储类确定了变量的作用域和寿命

C.定义变量时没有存储类说明符者一律为自动类

D.内部静态类变量和外部静态类变量的存储类说明符都是static


正确答案:C

第9题:

关于变量的作用域,下列说法错误的是( )。

A.类成员变量的作用域为类定义体

B.方法参数的作用域为方法体

C.对于for语句中定义的变量,当for语句执行完时,该变量就消亡了

D.在方法void f(int i)的for语句块中,可以声明变量“int i;”


参考答案:D

第10题:

静态变量就是类变量,系统只为每个类分配一套类变量,所有的实例变量共享一套类变量。

A.错误

B.正确


参考答案:B

更多相关问题