资源描述:
《12第12章C语言中用户标识符的作用域和存储类第12章C语言中用户标识符的作用域和存储类课后习题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一、选择题12.1有以下程序:#includeMain(){inti=1,j=3;Printf(“%d”,i++);{inti=0;i+=j*2;printf(“%d,%d,”,i,j);}Printf(“%d,%d”,i,j);}程序运行后的输出结果是A)1,6,3,1,3B)1,6,3,2,3C)1,6,3,6,3D)1,7,3,2,312.2有以下程序:#includeViodsub(int*,int*);Main(){inta[]={1,2,3,4},i,x=0;for(i=0;i<4;i++){sub(a,&x);printf(“%d”,x
2、);}Printf(“”);}voidsub(int*s,int*y){staticintt=3;*y=s[t];t--;}程序运行后的输出结果是A)1234B)4321C)0000D)444412.3有以下程序:#includeIntfunc(int,int);Main(){intk=4,m=1,p;p=func(k,m);printf(“%d,”,p);P=func(k,m);printf(“%d”,p);}intfunc(inta,intb){staticintm,i=2;i+=m+1;m=i+a+b;return(m);}程序运行后的输出结果是A)8,17
3、B)8,16C)8,20D)8,812.4有以下程序:#includeVoidfun(int*s){staticintj=0;dos[j]+=s[j+1];while(++j<2);}Main(){intk,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)34756B)23445C)35745D)1234512.5有以下程序:#includef(inta){intb=0;staticintc=3;a=c++,b++;retur
4、n(a);}Main(){inta=2,i,k;for(i=0;i<2;i++)k=f(a++);Printf(“%d”,k);}程序运行后的输出结果是A)3B)6C)5D)412.5有以下程序:#includeIntm=13;intfun2(intx,inty){intm=3;Return(x*y-m);}Main(){inta=7,b=5;Printf(“%d”,fun2(a,b)/m);}程序运行后的输出结果是A)1B)2C)7D)1012.7c语言中,形参的缺省的存储类型说明是:A)autoB)staticC)registerD)extern12.8以下叙
5、述中错误的是A)一个变量的作用域的开始位置完全取决于变量定义语句的位置。B)全局变量可以在函数以外的任何部位进行定义。C)局部变量的“生存期”只限于本次函数调用,因此不可能将局部变量的运算结果保存至下一次调用。D)一个变量说明为static存储类是为了限制其他编译单位的引用。二、填空题12.9以下程序运行后的输出结果是______。#includeMain(){inta=3,b=2,c=1;c-=++b;b*=a+c;{Intb=5,c=12;c/=b*2;a-=c;printf(“%d,%d,%d,”,a,b,c);a+=--c;}printf(“%d,%d,%d”
6、,a,b,c);}12.9以下程序运行后的输出结果是______。#includeVoidfun(){staticinta;a+=2;printf(“%d”,a);}Main(){intcc;for(cc=1;cc<=4;cc++)fun();printf(“”);}