计算机等级考试(国家)-c语言中用户标识符的作用域和存储类计算机等级考试(国家)-c语言中用户标识符的作用域和存储类
C语言中用户标识符的作用域和存储类
一、选择题
1、在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量使
用的存储类别是______。
A. extern B. register C. auto D. static
2、以下说法不正确的为______。
A. 在不同函数中可以使用相同名字的变量
B. 形式参数是局部变量
C. 在函数内定义的变量只在本函数范围内有效
D. 在函数内的复合语句中定义的变量在本函数范围内有效...
计算机等级考试(国家)-c语言中用户标识符的作用域和存储类
C语言中用户标识符的作用域和存储类
一、选择
1、在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量使
用的存储类别是______。
A. extern B. register C. auto D. static
2、以下说法不正确的为______。
A. 在不同函数中可以使用相同名字的变量
B. 形式参数是局部变量
C. 在函数内定义的变量只在本函数范围内有效
D. 在函数内的复合语句中定义的变量在本函数范围内有效
3、以下叙述中正确的是______。
A. 局部变量说明为static存储类,其生存期将得到延长
B. 全局变量说明为static存储类,其作用域将被扩大
C. 任何存储类的变量在未赋初值时,其值都是不确定的
D. 形参可以使用的存储类说明符与局部变量完全相同
4、以下叙述中不正确的是______。
A. 函数中的自动变量可以赋初值,每调用一次,赋一次初值
B. 在调用函数时,实参和对应形参在类型上只需赋值兼容
C. 外部变量的隐含类别是自动存储类别
D. 函数形参可以说明为register变量
5、以下程序的输出结果是______。
int d=1;
fun (int p)
{ static int d=5;d+=p;
printf("%d",d);return(d);
}
main()
{int a=3;printf("d\n",fun(a+fun(d)));}
A. 699 B. 669 C. 6 15 15 D. 66 15
6、以下程序运行后,输出结果是______。
func (int a,int b)
{ static int m=0,i=2;
i+=m+1; m=i+a+b;
return m;
}
main()
{ int k=4,m=1,p;
p=func(k,m); printf("%d,",p);
p=func(k,m);printf("%d\n",p);
}
A.8, 15 B.8, 16 C.8, 17 D.8, 8
7、以下只有在使用时才为该类型变量分配内存的存储类说明是
A. auto和static B. auto和register
C. register和static D. extem和register
8、以下程序运行后,输出结果是______。
int d=1;
fun(int p)
{ int d=5;
d+=p++;
printf("%d",d); }
main()
{ int a=3;
fun(a); d+=a++;
printf("%d\n",d);
}
A. 84 B. 99 C. 95 D. 44
9、有以下程序
int a=3;
main()
{ int s=0;
{ int a=5;s+=a++;}
s+=a++;
printf("%d\n",s);
}
程序运行后的输出结果是______。
A. 8 B. 10 C. 7 D. 11
10、设有以下函数
f(int a)
{ int b=0;
static int c=3;
b++;c++;
return(a+b+c);
}
如果在下面的程序中调用该函数,则输出结果是______。
main()
{ int a=2,i;
for(i=0;i,3;i++)printf("%d\n"f(a));
}
A. 7
8
9
B. 7
9
11
C. 7
10
13
D. 7
7
7
11、以下程序的输出结果是______。
int f()
{ static int i=0;
int s=1;
s+=i;i++;
return s;
}
main()
{ int i,a=0;
for(i=0;i,5;i++)a+=f():
printf("%d\n",a);
}
A. 20 B. 24 C. 25 D. 15
二、填空题
12、以下程序的输出结果是______。
void fun()
{ static int a=0;
a+=2;printf("%d",a);
}
main()
{ int cc;
for(cc=1;cc,4;cc++)fun();
printf("\n");
}
13、以下程序的输出结果是______。
int a,b;
void fun()
{ a=100;b=200;
}
main()
{ int a=5,b=7;
fun();
printf("%d, d\n",a,b);
}
14、以下程序的输出的结果是______。
int x=3;
main()
{ int i;
for (i=1;i,x;i++) incre();
}
incre()
{ staic int x=1;
x*=x+1;
printf("%d",x);
}
15、以下程序输出的最后一个值是______。
int ff(int n)
{ static int f=1;
f=f*n;
return f
}
main()
{ int i;
for(i=1;i,=5;i++) printf("%d ",ff(i));
}
答案:
一、选择题
1、D 2、D 3、A 4、C 5、C 6、C 7、B 8、A 9、
A 10、A 11、D
二、填空题
12、246 13、57 14、26 15、1 2 6 24 120
本文档为【计算机等级考试(国家)-c语言中用户标识符的作用域和存储类】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。