欢迎来到天天文库
浏览记录
ID:37199429
大小:57.50 KB
页数:18页
时间:2019-05-19
《C语言模拟题11-用户标识符的作用域和存储类》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第十二部分:用户标识符的作用域和存储类一、选择题:(1)有以下程序inta=2;intf(intn){staticinta=3;intt=0;if(n%2){staticinta=4;t+=a++;}else{staticinta=5;t+=a++;}returnt+a++;}main(){ints=a,i;for(i=0;i<3;i++)s+=f(i);printf("%d",s);}程序运行后的输出结果是 A)26 B)28 C)29 D)24(2)以下叙述中正确的是 A)局部变量说明为static
2、存储数,其生存期将得到延长 B)全局变量说明为static存储类,其作用域将被扩大 C)任何存储类的变量在未赋初值时,其值都是不确定的 D)形参可以使用的存储类说明符与局部变量完全相同(3)有以下程序inta=2;intf(int*A){return(*A)++;}main(){ints=0;{inta=5;s+=f(&A);}s+=f(&A);printf(“%d”,s);}执行后输出结果是 A)10 B)9 C)7 D)8(4)以下叙述中正确的是 A)全局变量的作用域一定比局部变量的作用域范围大 B
3、)静态(static)类别变量的生存期贯穿于整个程序的运行期间 C)函数的形参都属于全局变量 D)未在定义语句中赋初值的auto变量和static变量的初值都是随机值(5)有以下程序inta=3;main(){ints=0;{inta=5;s+=a++;}s+=a++;printf(“%d”,s);}程序运行后的输出结果是 A)8 B)10 C)7 D)11(6)以下程序的输出结果是intf(){staticinti=0;ints=1;s+=i;i++;returns;}main(){inti,a=0;
4、for(i=0;i<5;i++)a+=f();printf("%d",a);} A)20 B)24 C)25 D)15(7)在C语言中,形参的缺省存储类是 A)auto B)register C)static D)extern(8)以下程序的输出的结果是intx=3;main(){inti;for(i=1;i5、b=0;staticintc=3;b++;c++;return(a+b+c);}如果在下面的程序中调用该函数,则输出结果是main(){inta=2,i;for(i=0;i<3;i++)printf(“%d”,f(a));} A)7B)7C)7D)789107911137(10)以下程序的输出结果是inta,b;voidfun(){a=100;b=200;}main(){inta=5,b=7;fun();printf(“%d%d”,a,b);} A)100200 B)57 C)200100 D)756、(11)以下只有在使用时才为该类型变量分配内存的存储类说明是 A)auto和static B)auto和register C)register和static D)extern和register(12)在C语言中,函数的隐含存储类别是 A)auto B)static C)extern D)无存储类别(13)下列程序的输出结果是A)4B)6C)8D)10intb=2;intfunc(int*a){b+=*a;return(b);}main(){inta=2,res=2;res+=func(&a);printf(7、"%d",res);}(14)以下程序的输出结果是 A)699 B)669 C)61515 D)6615intd=1;fun(intp){staticintd=5;d+=p;printf("%d",d);return(d);}main(){inta=3;printf("%d",fun(a+fun(d)));}(15)以下程序运行后,输出结果是 A)8,15 B)8,16 C)8,17 D)8,8func(inta,intb){staticintm=0,i=2;i+=m+1;m=i+a+b;retur8、n(m);}main(){intk=4,m=1,p;p=func(k,m);printf("%d,",p);p=func(k,m);printf("%d",p);}(16)以下程序运行后,输出结果是 A)84 B)99 C)95 D)44intd=1;fun(intp){intd=5;d+=p++;printf("%d,d);}main(){inta=3;fun(a);d+=a++;printf("%d,
5、b=0;staticintc=3;b++;c++;return(a+b+c);}如果在下面的程序中调用该函数,则输出结果是main(){inta=2,i;for(i=0;i<3;i++)printf(“%d”,f(a));} A)7B)7C)7D)789107911137(10)以下程序的输出结果是inta,b;voidfun(){a=100;b=200;}main(){inta=5,b=7;fun();printf(“%d%d”,a,b);} A)100200 B)57 C)200100 D)75
6、(11)以下只有在使用时才为该类型变量分配内存的存储类说明是 A)auto和static B)auto和register C)register和static D)extern和register(12)在C语言中,函数的隐含存储类别是 A)auto B)static C)extern D)无存储类别(13)下列程序的输出结果是A)4B)6C)8D)10intb=2;intfunc(int*a){b+=*a;return(b);}main(){inta=2,res=2;res+=func(&a);printf(
7、"%d",res);}(14)以下程序的输出结果是 A)699 B)669 C)61515 D)6615intd=1;fun(intp){staticintd=5;d+=p;printf("%d",d);return(d);}main(){inta=3;printf("%d",fun(a+fun(d)));}(15)以下程序运行后,输出结果是 A)8,15 B)8,16 C)8,17 D)8,8func(inta,intb){staticintm=0,i=2;i+=m+1;m=i+a+b;retur
8、n(m);}main(){intk=4,m=1,p;p=func(k,m);printf("%d,",p);p=func(k,m);printf("%d",p);}(16)以下程序运行后,输出结果是 A)84 B)99 C)95 D)44intd=1;fun(intp){intd=5;d+=p++;printf("%d,d);}main(){inta=3;fun(a);d+=a++;printf("%d,
此文档下载收益归作者所有