、在一个源文件中定义的全局变量的作用域为( )。

作者&投稿:支朋 (若有异议请与网页底部的电邮联系)
在一个源程序文件中定义的全局变量,其作用域为~

B从定义开始到本源程序文件结束

B、本程序的全部范围
全局静态变量是文件级的
局部变量是函数级的

1、以下说法中正确的是____。(C)

A、C语言程序总是从第一个函数开始执行
B、在C语言程序中,要调用的函数必须在main()函数中定义
C、C语言程序总是从main()函数开始执行
D、C语言程序中的main()函数必须放在程序的开始部分

2、某文件中定义的静态全局变量(或称静态外部变量)其作用域是_____。(B)

A、只限某个函数
B、本文件
C、跨文件
D、不限制作用域

3、下列叙述中正确的是_____。(A)

A、函数定义不能嵌套,但函数调用可以嵌套
B、函数定义可以嵌套,但函数调用不可以嵌套
C、函数定义和函数调用都不能嵌套
D、函数定义与函数调用都可以嵌套

4、以下说法中正确的是_____。(A)

A、#define和printf都是C语句
B、#define是C语句,而printf不是
C、printf是C语句,但#define
D、#define和printf都不是C语句

5、以下关于函数叙述中,正确的是_____。(D)

A、在函数体中可以直接引用另一个函数中声明为static类别的局部变量的值
B、在函数体中至少必须有一个return 语句
C、在函数体中可以定义另一个函数
D、在函数体中可以调用函数自身

6、在C语言中,若对函数类型未加显式说明,则函数的隐含类型是______。(A)

A、void
B、double
C、int
D、char

7、下面不正确的描述为______。(A)

A、调用函数时,实参可以是表达式
B、调用函数时,实参与形参可以共用内存单元
C、调用函数时,将为形参分配内存单元
D、调用函数时,实参与形参的类型必须一致

8、在一个源文件中定义的全局变量的作用域为______。(D)
A、本文件的全部范围
B、本程序的全部范围
C、本函数的全部范围
D、从定义该变量开始至本文件结束

9、以下叙述中,错误的是______。(D)
A、不同函数中可以使用相同名字的变量
B、在函数外部定义的变量是全局变量
C、形式参数是局部变量
D、在main函数体内定义的变量是全局变量

10、C语言规定,调用一个函数时,当实参和形参都是普通变量时,它们之间数据传递的方式是______。(B)
A、地址传递
B、单向值传递
C、双向值传递
D、由用户定义传递方式

11、若用数组名作为函数调用的实参,则传递给形参的是______。(A)
A、数组的首地址
B、数组的第一个元素的值
C、数组中全部元素的值
D、数组元素的个数

12、C语言规定,函数返回值的类型是______。(D)
A、return语句中的表达式的类型
B、调用该函数时的主调函数的类型
C、由系统确定
D、该函数定义时的类型

13、若一个void型函数定义中没有return语句,则调用该函数时,函数______。(A)
A、没有返回值
B、返回若干个系统默认值
C、返回一个用户所希望的函数值
D、返回一个不确定的值

14、以下有关C语言的叙述中,错误的是______。(A)
A、函数调用可以作为独立的语句出现
B、函数调用可以出现在表达式中
C、函数调用可以作为函数的实参
D、函数调用可以作为函数的形参

15、以下程序输出结果是__________。(B)
#include <stdio.h>
int i=10;
main()
{int j=1;
j=fun();
printf("%d,",j);
j=fun();
printf("%d",j);
}
fun()
{int k=0;
k=k+i;
i=i+10;
return (k);
}
A、0,0
B、10,20
C、10,10
D、20,20

如果计算extern
B正确,
A定义变量前使用会提示错误:变量未定义
C是局部变量,但与B逻辑矛盾
D在其他文件需要extern声明,与B矛盾

如果不算extern
D正确
A是静态全局变量
B不知道
C是局部变量

不知道谁出的题,A和B的选项是怎么出的?如果B对那么岂不是其他全错?
这题还不如这样:
如果要引用本工程其他源文件A定义的全局变量需要的声明(变量定义int gACount):_________
如果要获取或修改其他源文件A定义的静态全局变量需要A提供的接口(变量定义static int sACount),写出函数体:_________________________________

D

正确答案为:A。
全局变量具有全局作用域。全局变量只需在一个源文件中定义,就可以作用于所有的源文件。当然,其他不包含全局变量定义的源文件需要用extern 关键字再次声明这个全局变量。

在一个c源程序文件中,若要定义一个只容许本源文件中所有函数使用的全局...
答:用static来修饰c源程序中的全局变量,会使它只能在本c文件中可见。

在一个C程序中,若要定义一个只允许本源程序文件中所有函数使用的全局...
答:非静态的全局变量在各个源文件中都是有效的。而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同一源程序的其它源文件中不能使用它。由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用, 因此可以避免在其它源文件中引起错误。

全局变量是在函数外面定义的,定义之后可以在当前源文件的任何地方使用...
答:是的,全局变量是在函数外面定义的,在整个源文件中都可以使用该变量。具体来说,当你在一个源文件中定义了一个全局变量时,该变量就可以在该源文件中的任何函数中使用,包括 main 函数以及其他自定义函数。此外,如果你在另外一个源文件中需要使用该变量,你可以通过在该源文件中声明该变量来访问它。需...

C语言中某一个文件里定义的static变量,那么另一个文件能否读取这个变 ...
答:(a)若程序由一个源文件构成时,全局变量与全局静态变量没有区别。(b)若程序由多个源文件构成时,全局变量与全局静态变量不同:全局静态变量使得该变量成为定义该变量的源文件所独享,即:全局静态变量对组成该程序的其它源文件是无效的。(c)具有外部链接的静态;可以在所有源文件里调用;除了本文件,...

C语言中如何定义全局变量?
答:1、首先,我们可以在函数外面定义变量,就是全局变量。2、局部变量可以与全局变量同样命名。3、但是优先级是局部变量优先。4、但是局部变量的生命周期是整个结构内。5、全局变量是整个程序结束,才释放。6、我们也可以为变量加上修饰符。

静态全局变量和全局变量有什么区别
答:全局变量是不显式用static修饰的全局变量,但全局变量默认是动态的,作用域是整个工程,在一个文件内定义的全局变量,在另一个文件中,通过extern 全局变量名的声明,就可以使用全局变量。全局静态变量是显式用static修饰的全局变量,作用域是声明此变量所在的文件,其他的文件即使用extern声明也不能使用。

c 的全局变量如何在其他源文件引用,放在头文件中有什么利弊
答:1、在函数源文件中定义全局变量,在引用它的地方extern进来 2、放在头文件的好处减少了程序代码的冗余,弊端是会重复引入编译报错,可讲extern放入头文件中 ,这样的话好处与前面的相同 其实没有绝对的利弊,就好比在goto在实际开发中的运用,适合就是最好的 ...

静态变量在程序运行过程中只在第一次初始化时,会赋初始值,以后即使再...
答:静态变量、全局变量和局部变量 1.从作用域看:C++变量根据定义的位置的不同的生命周期,具有不同的作用域,作用域可分为6种:全局作用域,局部作用域,语句作用域,类作用域,命名空间作用域和文件作用域。1>全局变量具有全局作用域。全局变量只需在一个源文件中定义,就可以作用于所有的源文件。当然...

C语言中怎样在头文件中定义一个能够在所有文件中都可以使用的全局数组...
答:设有一个多项目文件有 1.c、2.c和3.c三个源程序文件;如果有一个全局数组需要所有文件使用,那么可以添加一个data.c文件,在其中添加全局数组的定义;向项目中添加data.h文件,在data.h文件中用 extern声明该数组;只需要在相应的.c文件中添加#include "data.h",那么久可以使用data.c中的全局...

C++中在头文件里定义的变量的作用范围是什么?
答:在引用了该头文件的源文件中可以直接使用var, 在没有引用该头文件的源文件中,可以通过 extern TYPE var;进行声明,从而使用var。3 在头文件中定义了带初始化值的变量。TYPE var = init_value;当项目中,只有一个源文件中引用了该头文件时,等同于在源文件中定义了这个全局变量,可在该文件中使用...