[二级C语言考试]用户标识符的作用域和存储类(DOC X页)[二级C语言考试]用户标识符的作用域和存储类(DOC X页)
二级C语言教程章节测试 12.用户标识符的作用域和
存储类
一、选择题:
(1)有以下程序
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++;
}
main()
{ int s=a, i;
for( i=0; i<3; i+...
[二级C语言考试]用户标识符的作用域和存储类(DOC X页)
二级C语言教程章节测试 12.用户标识符的作用域和
存储类
一、选择题:
(1)有以下程序
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++;
}
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
(2) 以下叙述中正确的是______
A) 局部变量说明为static存储数,其生存期将得到延长
B) 全局变量说明为static存储类,其作用域将被扩大
C) 任何存储类的变量在未赋初值时,其值都是不确定的
D) 形参可以使用的存储类说明符与局部变量完全相同
(3) 有以下程序
int a=2;
int f(int *A)
{return (*A) ++;}
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
(4) 以下叙述中正确的是______
A) 全局变量的作用域一定比局部变量的作用域范围大
B)静态(static)类别变量的生存期贯穿于整个程序的运行期间
C)函数的形参都属于全局变量
D)未在定义语句中赋初值的auto变量和static变量的初值都是随机值
(5) 有以下程序
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
(6) 以下程序的输出结果是______
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
(7) 在C语言中,形参的缺省存储类是______
A) auto B) register C) static D) extern
(8) 以下程序的输出的结果是______
int x=3;
main()
{ int i;
for (i=1;i
f(int a)
{ int b=0; static c=3:
a=c+ +,b+ +;
return (a); }
main( )
{ int a=2,i,k;
for(i=0;i〈2;i=+ +〉 k=f(a+ +);
printf("%d\n",k); }
(20) 下列程序执行后输出的结果是______
int d=1;
fun (int q)
{ int d=5;
d + =p + +; printf("%d".d); }
main( )
{ int a=3;
fun(a);
"%d\n",d); } d + = a + +; printf(
A) 8 4 B) 9 6 C) 9 4 D) 8 5
(21) 下面程序的输出是______
A) 3 B) 4 C) 6 D) 9
fun3(int x)
static int a=3;
a+=x;
return(a);}
main()
{ int k=2, m=1, n;
n=fun3(k);
n=fun3(m);
printf("%d\n",n);}
(22) 下面程序的输出是______
A) 1 B) 2 C) 7 D) 10
int m=13;
int fun2(int x, int y)
{ int m=3;
return(x*y-m);
}
main()
{ int a=7, b=5;
printf("%d\n",fun2(a,b)/m);}
(23) 请读程序:
#include
void fun( int *s)
{ static int j=0;
do
s[j]+=s[j+1];
while(++j<2);
}
main()
{ int k, a[10]={1,2,3,4,5};
for(k=1; k<3; k++) fun(a);
for(k=0; k<5; k++) printf("%d", a[k]);
}
上面程序的输出结果是______
A) 34756 B) 23445 C) 35743 D) 12345
(24) 以下程序的输出结果是______
# include
main()
{ int k=4,m=1,p;
p=func(k,m); printf("%d,",p); p=func(k,m); printf("%d\n",p);}
func(a,b)
int a,b;
{ static int m=0,i=2;
i+=m+1; m=i+a+b; return(m); }
A) 8,17 B) 8,16 C) 8,20 D) 8,8
二、填空题:
(1)以下程序运行后的输出结果是 【1】
fun(int a)
{
int b=0;static int c=3;
b++; c++;
return (a+b+c);
}
main()
{
int i,a=5;
for(i=0;i<3;i++)
printf("%d %d ",i,fun(a));
printf("\n");
}
(2) 以下程序运行后的输出结果是 【2】
int a=5;
fun(int b)
{ static int a=10;
a+=b++;
printf("%d",a);
}
main()
{ int c=20;
fun(c);
a+=c++;
printf("%d\n",a);
}
(3) 以下程序输出的最后一个值是【3】 。
int ff(int n)
{ static int f=l;
f=f*n;
return f;
}
main()
{ int i;
for(I=1;I<=5;I++ printf(“%d\n”,ff(i));
}
(4) 以下程序的输出结果是 【4】 。
void fun()
{ static int a=0;
a+=2; printf(“%d”,a);
}
main()
{ int cc;
for(cc=1;cc<4;cc++) fun()
printf(“\n”);
}
(5) 以下程序的运行结果是 【5】
#include
main()
{ int k=4, m=1, p;
p=func(k,m); printf("%d,",p);
p=func(k,m); printf("%d \n",p);
}
func(int a, int b)
{ static int m=0, i=2;
i+=m+1;
m=i+a+b;
return m;
}
(6) 以下程序的输出结果是【6】 。
#include
int fun(int x,int y)
{ static int m=0,i=2;
i+=m+1;
m=i+x+y;
return m
}
main()
{ int j=4,m=1,k;
k=fun(j,m); printf("%d,",k);
k=fun(j,m); printf("%d\n",k);
}
(7) 下面程序的输出是【7】 。
#define MAX 5
int a[MAX],k;
main()
{ fun1();fun3(); fun2(); fun3();
printf("\n"); }
fun1()
{ for(k=0;k
#define MAX_COUNT 4
void fun();
main()
{ int count;
for (count=1; count<=MAX_COUNT; count++) fun();
}
void fun()
{ static int i;
i+=2; printf("%d",i);
}
上述程序的输出结果是 【8】 。
:
一、选择题:
1) C 2) A 3) C 4) B 5) A 6) D 7) A 8) C 9) A 10) B
11) B 12) C 13) B 14) C 15) C 16) A 17) C 18) B 19) D 20) A
21) C 22) B 23) C 24) A 25) 26) 27) 28) 29) 30)
二、填空题:
(1) 0 10 1 11 2 12
(2) 30 25
(3) 120
(4) 246
(5) 8,17
(6) 8,17
(7) o246802468
(8) 2468
本文档为【[二级C语言考试]用户标识符的作用域和存储类(DOC X页)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。