C语言程序设计

变量被赋初值可以分为两个阶段:即()和()。

题目

变量被赋初值可以分为两个阶段:即()和()。

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

通过LOCAL命令建立内存变量,并为该内存变量赋初值( )。

A..T.

B..F.

C.0

D.1


正确答案:B
解析:通过PUBLIC和LOCAL等命令建立内存变量的同时也为该内存变量赋初值卫。

第2题:

以下关于静态成员变量的叙述不正确的是

A.静态成员变量为类的所有对象所公有

B.静态成员变量可以在类内任何位置上声明

C.静态成员变量的赋初值必须放在类外

D.定义静态成员变量时必须赋初值


正确答案:D
解析:静态成员变量的引入是为了解决同一类的不同对象间数据共享的需要。因此,类的静态数据成员在定义时不能赋初值。只能在类外赋初值,此外要注意赋值时要用类名进行限制。

第3题:

在函数模块之外定义的变量称为全局变量,若没有被初始化则系统隐含对它赋初值0。()

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


正确答案是“对”。

第4题:

设函数中有整型变量n,为保证其在未赋初值的情况下初值为0,应选择存储类别是( )。 A.auto

设函数中有整型变量n,为保证其在未赋初值的情况下初值为0,应选择存储类别是( )。

A.auto

B.register

C.static

D.auto或register


正确答案:C
C。【解析】未赋初值的静态局部变量,编译程序自给它赋初值0。所以选择C。

第5题:

以下叙述中不正确的是 ( )

A.在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值

B.在C中,在调用函数时,实参和对应形参在类型上只需赋值兼容

C.在C中,外部变量的隐含类别是自动存储类别

D.在C中,函数形参可以说明为register变量


正确答案:C

第6题:

以下关于C语言的一些叙述,不正确的是(59)。

A.在调用函数时,实参和对应形参在类型上只需赋值兼容

B.函数形参可以说明为register变量

C.函数中的自动变量可以赋初值,每调用一次,赋一次初值

D.外部变量的隐含类别是自动存储类别


正确答案:D
解析:外部变量的作用域是整个程序(全局变量),它由编译程序在编译时给其分配空间,属于静态分配变量,隐含类别是extern(外部)存储类。引进外部变量的原因如下:一是程序运行外部变量的值是始终存在的;二是外部变量可以在所有函数间共享。

第7题:

以下叙述中不正确的是______。

A.函数中的自动变量可以赋初值,每调用一次,赋一次初值

B.在调用函数时,实参和对应形参在类型上只需赋值兼容

C.外部变量的隐含类别是自动存储类别

D.函数形参可以说明为register变量


正确答案:C

第8题:

局部静态变量是在编译时赋初值的,即只赋初值一次。()

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


参考答案:正确

第9题:

下列叙述中错误的是( )。A.在C语言中,函数中的自动变量可以赋初值,每调用一次赋一次初值

下列叙述中错误的是( )。

A.在C语言中,函数中的自动变量可以赋初值,每调用一次赋一次初值

B.在C语言中,在调用函数时,实参和对应形参在类型上只须赋值兼容

C.在C语言中,外部变量的隐含类型是自动存储类别

D.在C语言中,函数形参的存储类型是自动(auto)类型的变量


正确答案:A
如果是static修饰的静态变量,不是每次调用都赋初值。

第10题:

C语言局部变量问题?

局部变量按说当再次执行时是可以回初值的,可是我在C51编译器下试验,却发现如果不在定义时不给它赋初值,哪它当再次执行时是不会回初值的,这是怎么回事?


您好!
Java中的类的static变量相当于C语言里的全局(extern或者static)变量,放在全局数据区,被操作系统初始化成全0;而因为对象都由new操作生成,所以对象的成员变量放置在(相当于)C中由calloc分配的堆空间中,calloc将其全部初始化为0。

而局部变量放置在栈中,栈空间是经常被复用的,比如先调用A函数:A()等A执行完了之后会释放所用的栈空间,然后调用B函数:B(),B函数占用的栈空间就会是原来A占用的那片空间,而那片空间是A函数读写了很多次的。如果想要局部变量默认初始化为0的话,就必须要么一个函数申请栈空间后就将其memset成0,要么函数释放栈空间时将其memset成0,无论是什么情况,都会增加不必要的开销。所以干脆就放任局部变量的值未定义了

局部变量通常你自己都会给它去赋值的,因为你的代码告诉你,你需要去给它赋值才能达到你的要求;

成员变量如果你一开始定义了,你怎么给它赋值?我想也没多少人能一开始就能肯定自己用到什么值吧。
所以java就只对成员变量默认初始化了,
在局部变量里,你定义了量就一定要用到它(那么赋值就少不了),如果你忘了赋值,那么就出错了,方便提醒你,而且你写的程序大了,局部变量多了,找问题就有点麻烦了。
而对于这个问题,成员变量就不会有多少了
int f()
{
    int a = 5;
    return 1;
}
当执行一次结束后,变量a也就释放了,消失了,当再次执行时声明的a已经不是上次的a了,已经是再次声明的一个变量了,如果在换成这个static int a = 5;那么执行结束后,a不会释放,下次执行时还是这个a,且值是保存的,而不是重新声明一个.

更多相关问题