资源描述:
《C语言结构体共用体选择题.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1、变量a所占的内存字节数是________。(假设整型int为4字节)structstu{charname[20];longintn;intscore[4];}a;A)28B)30C)32D)46C2、下列程序的输出结果是A)5B)6C)7D)8structabc{inta,b,c;};main(){structabcs[2]={{1,2,3},{4,5,6}};intt;t=s[0].a+s[1].b;printf("%d",t);}B3、有如下定义structperson{charname[9];intage;};structperson
2、calss[4]={"Johu",17,"Paul",19,"Mary",18,"Adam",16,};根据以上定义,能输出字母M的语句是________。A)printf("%c",class[3].name);B)printf("%c",class[3].name[1]);C)printf("%c",class[2].name[1]);D)printf("%c",class[2].name[0]);D4、以下程序的输出是________。structst{intx;int*y;}*p;intdt[4]={10,20,30,40}
3、;structstaa[4]={50,&dt[0],60,&dt[0],60,&dt[0],60,dt[0],};main(){p=aa;printf("%d",++(p->x));}A)10B)11C)51D)60C6、以下程序的输出结果是________。structHAR{intx,y;structHAR*p;}h[2];main(){inth[0].x=1;h[0].y=2;h[1].x=3;h[1].y=4;h[0].p=&h[1];h[1].p=h;printf("%d%d",(h[0].p)->x,(h[1].p)->y);}
4、A)12B)23C)14D)32D7、下面程序的输出是________。main(){structcmplx{intx;inty;}cnum[2]={1,3,2,7};printf("%d",cnum[0].y/cnum[0].x*cnum[1].x);}A)0B)1C)3D)6D8、设有变量定义structstu{intage;intnum;}std,*p=&std;能正确引用结构体变量std中成员age的表达式是A)std->ageB)*std->ageC)*p.ageD)(*p).ageD9、设有定义语句"struct{intx;inty
5、;}d[2]={{1,3},{2,7}};",则printf("%d",d[0].y/d[0].x*d[1].x);的输出结果是A)0B)1C)3D)6D11、若有如下定义,则对data中的a成员的正确引用是structsk{inta;floatb;}data,*p=&data;A)(*p).data.aB)(*p).aC)p->data.aD)p.data.aB12、若有以下说明和定义语句,则变量w在内存中所占的字节数是unionaa{floatx;floaty;charc[6];};structst{unionaav;floatw[5];d
6、oubleave;}w;A)42B)34C)30D)26B15、变量a所占的内存字节数是unionU{charst[4];inti;longl;};structA{intc;unionUu;}a;A)4B)5C)6D)8D16、执行下面的程序后,输出的结果是structabc{inta,b,c;}main(){structabcs[2]={{1,2,3},{4,5,6}};intt;t=s[0].a+s[1].b;printf("%d",t);}A)5B)6C)7D)8C18、下面程序的输出结果是typedefunion{longx[2];in
7、ty[4];charz[8];}MYTYPE;MYTYPEthem;main(){printf("%d",sizeof(them));}A)32B)16C)8D)24C19、若有以下的说明:structperson{charname[20];intage;charsex;}a={"lining",20,'m'},*p=&a;则对字符串lining的引用方式不可以的是A)(*p).nameB)p.nameC)a.nameD)p->nameB