您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > C语言结构体共用体选择题(新)
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\n,t);}B3、有如下定义structperson{charname[9];intage;};structpersoncalss[4]={Johu,17,Paul,19,Mary,18,Adam,16,};根据以上定义,能输出字母M的语句是________。A)printf(%c\n,class[3].name);B)printf(%c\n,class[3].name[1]);C)printf(%c\n,class[2].name[1]);D)printf(%c\n,class[2].name[0]);D4、以下程序的输出是________。structst{intx;int*y;}*p;intdt[4]={10,20,30,40};structstaa[4]={50,&dt[0],60,&dt[0],60,&dt[0],60,dt[0],};main(){p=aa;printf(%d\n,++(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\n,(h[0].p)-x,(h[1].p)-y);}A)12B)23C)14D)32D7、下面程序的输出是________。main(){structcmplx{intx;inty;}cnum[2]={1,3,2,7};printf(%d\n,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;}d[2]={{1,3},{2,7}};,则printf(%d\n,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];doubleave;}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\n,t);}A)5B)6C)7D)8C18、下面程序的输出结果是typedefunion{longx[2];inty[4];charz[8];}MYTYPE;MYTYPEthem;main(){printf(%d\n,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
本文标题:C语言结构体共用体选择题(新)
链接地址:https://www.777doc.com/doc-6886161 .html