变量的存储类别题库共25页word资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第七章变量的存储类别
一、选择题
1.有以下程序
#include
int a=2;
int f(int n)
static int a=3;
int t=0;
if(n%2)
static int a=4; t += a++;
else
static int a=5; t += a++;
return t+a++;
void main()
int s=a, i;
for( i=0; i<3; i++) s+=f(i);
printf("%d\n", s);
程序运行后的输出结果是______。
A)26 B)28 C)29 D)24
答案: C
2. 凡是函数中未指定存储类别的局部变量,其默认的存储类别是。
A) auto B) register C) extern D) static
答案:A
3. 以下不正确的说法是。
A)在不同的函数中可以使用名称相同的变量
B)在函数内定义的变量只在本函数范围内有效
C)形式参数是局部变量
D)在函数内的复合语句中定义的变量在本函数范围内有效
答案:D
4. 在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是。
A) auto B) register C) extern D) static
答案:D
5.如果在一个函数中的复合语句中定义了一个变量,则以下说法正确的是。
A)在本函数范围内有效
B)在本程序范围内有效
C)只在复合语句中有效
D)非法变量
答案:C
6. 下列变量定义错误的是。
A) int x,y;
B) register static int a,b,c;
C) auto int x,y;
D) extern int A;
答案:B
7. 以下程序的正确运行结果是_____________。
#include
int m=1;
int n=5;
int min(int a,int b);
void main( )
int m=100,n=10,t;
t=min(m,n);
printf ("%d\n", t);
int min(int a,int b)
int c;
c=(a<=b)? a:b;
return(c);
A) 1 B) 5 C) 10 D) 0答案:C
8. 以下程序的正确运行结果是_____________。
#include
void main( )
int m=1,n=2,t=3;
++m;
t+=++n;
int n=10,t;
t=n*2;
m+=t;
printf("%d,%d,%d\n",m,n,t);
printf("%d,%d,%d\n",m,n,t);
A) 22,11,5 B)22,10,20
18,5,6 22,3,6
C) 32,9,5 D) 16,21,6
10,10,20 22,3,9
答案:B
9.以下叙述中正确的是。
(A)全局变量的作用域一定比局部变量的作用域范围大
(B)静态(static)类别变量的生存期贯穿于整个程序的运行期间(C)函数的形参都属于全局变量
(D)未在定义语句中赋初值的auto变量和static变量的初值都是随机值
答案:B
10.下面程序的输出是。
#include
int fun3 (int x)
static int a=3;
a+=x;
return(a);
void main( )
int k=2,m=1,n;
n=fun3(k);
n=fun3(m);
printf("%d\n",n);
(A)3 (B)4 (C)6 (D)9答案:C
11.有以下程序
#include
int a=2;
int f(int *a)
return(*a)++;
void main( )
int s=0;
int a=5;
s+=f(&a);
s+=f(&a);
printf("%d\n",s);
执行后输出结果是。
(A)10 (B)9 (C)7 (D)8
答案:C
12.以下只有在使用时才为该类型变量分配内存的存储类说明是。
(A)auto和static (B)auto和register
(C)register和static (D)extern和register 答案:B
13.下面叙述中正确的是。
A)全局变量的作用域一定比局部变量的作用域范围大
B)静态(static)类别变量的生存期贯穿于整个程序的运行期间
C)函数的形参都属于全局变量
D)未在定义语句中赋初值的auto变量和static变量的初值都是随机值
答案:B
14.在C语言中,形参的缺省存储类型是。
A)auto B)register C)static D)extern
答案:A
15.下面程序运行后的输出结果是。
#include
int f()
static int i=0;
int s=1;
s+=i;i++;