预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共16页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

用户自定义的数据类型复习题 选择题 1.下列程序的输出结果是()。 A)5B)6C)7D)8 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); } 2.下列程序执行后的输出结果是()。 A)6B)8C)10D)12 #defineMA(x)x*(x-1) main() {inta=1,b=2;printf("%d\n",MA(1+a+b));} 3.有以下结构体说明和变量的定义,则不能把结点b连接到结点a之后的语句是()。 A)a.next=q;B)p.next=&b; C)p->next=&b;D)(*p).next=q; structnode {chardata; structnode*next; }a,b,*p=&a,*q=&b; 4.变量a所占内存字节数是()。 A)4B)5C)6D)8 unionU {charst[4]; inti; longl; }; structA {intc; unionUu; }a; 5.有如下程序 #defineN2 #defineMN+1 #defineNUM2*M+1 #main() {inti; for(i=1;i<=NUM;i++)printf(“%d\n”,i); } 该程序中的for循环执行的次数是()。 A)5B)6C)7D)8 6.以下程序的输出结果是()。 A)16B)2C)9D)1 #defineSQR(X)X*X main() {inta=16,k=2,m=1; a/=SQR(k+m)/SQR(k+m); printf(“d\n”,a); } 7.以下程序的输出是()。 A)10B)11C)51D)60 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)); } 8.以下程序的输出结果是()。 structHAR {intx,y;structHAR*p;}h[2]; main() {h[0],x=1;h[0];y=2; h[1],x=3;h[1];y=4; h[0],p=&h[1],p=h; printf(“%d%d\n”,(h[0],p)->x,(h[1],p)->y); } A)12B)23C)14D)32 9.以下程序的输出结果是()。 unionmyun {struct {intx,y,z;}u; intk; }a; main() {a.u.x=4;a.u.y=5;a.u.z=6; a.k=0; printf(%d\n”,a.u.x); } A)4B)5C)6D)0 10.以下程序的输出结果是()。 #defineM(x,y,z)x*y+z main() {inta=1,b=2,c=3; printf(“%d\n”,M(a+b,b+c,c+a)); } A)19B)17C)15D)12 11.若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是()。 A)p=2*(int*)malloc(sizeof(int)); B)p=(int*)malloc(2*sizeof(int)); C)p=(int*)malloc(2*2); D)p=(int*)calloc(2,sizeof(int)); 12.若有下面的说明和定义: structtest {intml;charm2;floatm3; unionuu{charul[5];intu2[2];}ua; }myaa; 则sizeof(structtest)的值是()。 A)12B)16C)14D)9 13.若以下定义: structlink {intdata; strucklink*next; }a,b,c,*p,*q; 且变量a和b之间已有如下图所示的链表结构: abc datanextdatanextdatanext ┌──┬──┐┌──┬──┐┌──┬──┐ │5│┼──→│9│\0││7││ └──┴──┘└──┴──┘└──┴──┘ ↑p↑q 指针p指向变量a,q指向变量c。则能够把c插入到a和b之间并形成新的链表的语句组是:()。 A)a.next=c;c.next=b;B)p.next=q;q.nex