您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 第七章结构体与共用体
1第七章结构体与共用体(1)以下程序输出的是#includestdio.hunionun{intj;charc[2];};voidmain(){unionunx;x.c[0]=10;x.c[1]=1;x.j=11;printf(%d\n,x.j);}(2)以下程序输出的是#includestdio.htypedefintINTEGER;voidmain(){INTEGERx;x=12;printf(%d\n,x);}(3)以下程序输出的是#includestdio.hmain(){structdata{intyear,month,day;}today;union{longi;intk;charj;}mix;printf(%d\n,sizeof(structdata));printf(%d\n,sizeof(mix));}(4)以下程序输出的是2#includestdio.htypedefunion{inti;charc;}IC;voidmain(){ICic;ic.i=0;ic.c='1';printf(%d,%d\n,ic.c,ic.i);printf(%d,%d,%d\n,sizeof(ic.i),sizeof(ic.c),sizeof(ic));}(5)以下程序输出的是#includestdio.hstructn{intx;charc;};voidfunc(structnb){b.x=20;b.c='y';}voidmain(){structna={10,'x'};func(a);printf(%d,%c\n,a.x,a.c);}(6)以下程序输出的是#includestdio.hvoidmain(){structexam{struct{intx,y;}q;inta,b;}e;3e.a=1;e.b=2;e.q.x=e.a*e.b;e.q.y=e.a+e.b;printf(%d,%d\n,e.q.x,e.q.y);}(7)以下程序输出的是#includestdio.hmain(){struct{intnum;floatscore;}person;intnum=1;floatscore=2;person.num=2;person.score=5;printf(%d\n%f\n,num,score);}(8)以下程序输出的是#includestdio.hstructperson{intnum;floatscore;};main(){structpersonper,*p;per.num=1;per.score=2.5;p=&per;printf(%d\n%f\n,p-num,p-score);}(9)以下程序输出的是#includestdio.htypedefstruct{intx,y;}DATA;voidmain(){4DATAtemp;temp.x=1;temp.y=2;printf(%d,%d\n,temp.x,temp.y);}(10)以下程序输出的是#includestdio.hmain(){union{charc;inti;}t;t.c='A';t.i=1;printf(%d,%d\n,t.c,t.i);}(11)以下程序输出的是#includestdio.hstructcmplx{intx;inty;}cnum[2]={1,3,2,7};voidmain(){printf(%d\n,cnum[0].y*cnum[1].x);}(12)以下程序输出的是#includestdio.hstructtree{intx;char*s;}t;intfunc(structtreet){t.x=10;t.s=computer;return(0);}voidmain(){5t.x=1;t.s=minicomputer;func(t);printf(%d,%s\n,t.x,t.s);}(13)以下程序输出的是#includestdio.hmain(){struct{intx;char*y;}tab[2]={{1,ab},{2,cd}},*p=tab;printf(%c,%c\n,*p-y,*(++p)-y);}(14)以下程序输出的是#includestdio.hmain(){struct{intx;char*y;}tab[2]={{1,ab},{2,cd}},*p=tab;printf(%c\n,*p-y);printf(%c\n,*(++p)-y);}(15)以下程序输出的是#includestdio.hmain(){struct{intx,y;}s[2]={{1,2},{3,4}},*p=s;printf(%d\n,++p-x);printf(%d\n,(++p)-x);}(16)以下程序输出的是#includestdio.hmain(){struct6{intx,y;}s[2]={{1,2},{3,4}},*p=s;printf(%d,%d\n,++p-x,(++p)-x);}(17)以下程序输出的是#includestdio.hstructstudent{intnumber;char*name;char*birthday;floatscore;};voidmain(){staticstructstudents={8,Lifeng,78.5.20,99.5};structstudent*p=&s;printf(Nameis%s,scoreis%.1f\n,p-name,(*p).score);}(18)以下程序输出的是#includestdio.hstructstr{floatx;char*y;}*m;char*student[]={Li,wang,sun};structstrgroup[3]={{95.0},{82.5},{73.5}};main(){group[0].y=student[0];m=group;printf(%.1f,%s\n,m-x,m-y);}(19)以下程序输出的是#includestdio.henum{jiao5,jiao1,fen5,ren2,fen1};char*name[]={jiao5,jiao1,fen5,ren2,fen1};main(){7enumcoinm1,m2;m1=fen5;m2=jiao5;printf(%d,%d\n,m1,m2);printf(%s,%s\n,name[(int)m1],name[(int)m2]);}(20)以下程序输出的是#includestdio.hstructs{inta;floatb;char*c;};voidmain(){staticstructsx={10,64.2,suen};structs*p=&x;printf(%d,%.1f,%s\n,x.a,x.b,x.c);printf(%d,%.1f,%s\n,p-a,(*p).b,p-c);}(21)以下程序输出的是#includestdio.h#includestdlib.h#includestring.hstructs{char*n;floatg;}*p;voidmain(){structsm;p=&m;p-g=80.0;p-n=(char*)malloc(50);strcpy(p-n,wangpeng);printf(%s,%.1f\n,p-n,p-g);}(22)以下程序输出的是#includestdio.hstructlink{inta;8structlink*next;};voidmain(){structlinkm[3]={1,m+1,2,m+2,3,m},*p=m;do{printf(%d\n,p-a-=p-next-a);p=p-next;}while(p!=m);}(23)以下程序输出的是#includestdio.hunion{inta;charc[2];}u;main(){charx;u.a=259;x=u.c[0];u.c[0]=u.c[1];u.c[1]=x;printf(%d\n,u.a);}(24)以下程序输出的是#includestdio.hmain(){structdata{intyear,month,day;}today;printf(%d\n,sizeof(structdata));}(25)以下程序输出的是#includestdio.htypedefunion{longa[2];intb[4];charc[8];9}TY;TYour;main(){printf(%d\n,sizeof(our));}(26)以下程序输出的是#includestdio.hmain(){unionaaa{inti;charch;doublef;}b;printf(%d\n,sizeof(unionaaa));}(27)以下程序输出的是#includestdio.hmain(){structcmplx{intx,y;}cnum[2]={1,3,2,7};printf(%d\n,cnum[0].y/cnum[0].x*cnum[1].x);}(28)以下程序输出的是#includestdio.hunionpw{inti;charch[2];}a;main(){a.ch[0]=13;a.ch[1]=0;printf(%d\n,a.i);}(29)以下程序输出的是#includestdio.hmain()10{intj;union{inta;longb;unsignedcharc;}m;m.b=0x12345678;printf(%x\n,m.a);printf(%x\n,m.c);}(30)以下程序输出的是#includestdio.hmain(){structEXAMPLE{struct{intx,y;}in;inta,b;}e;e.a=1;e.b=2;e.in.x=e.a*e.b;e.in.y=e.a+e.b;printf(%d,%d\n,e.in.x,e.in.y);}(31)以下程序输出的是#includestdio.hmain(){structnum{inta;intb;floatf;}n={1,3,5.0};structnum*pn=&n;printf(%d\n,pn-b/n.a*++pn-b);}
本文标题:第七章结构体与共用体
链接地址:https://www.777doc.com/doc-2209976 .html