文档库 最新最全的文档下载
当前位置:文档库 › c语言练习题8

c语言练习题8

练习8

1、若有如下结构体说明:

struct STRU

{ int a, b ; char c; double d;

struct STRU p1,p2;

};

请填空,以完成对t数组的定义,t数组的每个元素为该结构体类型

t[20];

3、假定已建立如下动态链表结构,且指针p1和p2已指向如下图所示的节点:

则以下可以将p2所指节点从链表中删除并释放该节点的语句组是()

A. (*p1).next=(*p2).next; free(p1);

B. p1=p2; free(p2);

C. p1->next=p2->next; free(p2);

D. p1=p2->next; free(p2);

4、Vc6中,若有下面的说明和定义,则sizeof(struct aa)的值是( )。struct aa

{ int r1;

double r2;

float r3;

union uu

{ char u1[5];

long u2[2];

}ua;

}mya;

A.30

B.29

C.24

D.22

5、根据下面的定义,能打出字母M的语句是( )。struct person

{ char name[9];

int age;

}

struct person class[10]={ 〞John〞,17, 〞Paul〞,19, 〞Mary〞,18, 〞Adam〞,16};

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];

6、下面程序的输出结果为( )。

struct st

{ int x;

int *y;

} *p;

int dt[4]={10,20,30,40};

struct st aa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]}; main()

{ p=aa;

printf("%d\n",++p->x);

printf("%d\n",(++p)->x);

printf("%d\n",++(*p->y));

}

A.10

B.50

C. 51

D.60

20 60 60 70

20 21 21 31

7、完成将文件指针fp重新指向文件开头的函数是 A. feof(fp) B. rewind(fp)

C. fseek(fp)

D. ftell(fp)

相关文档