(1)定义结构体的关键字是

  • 格式:doc
  • 大小:29.50 KB
  • 文档页数:2

下载文档原格式

  / 2
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(1) 定义结构体的关键字是,定义共用体的关键字是。

(2) 结构体和共用体的相同点是,不同点是。

(3) 若有以下定义和语句,则sizeof(a)的值是__ ___,而sizeof(b)的值是__ _。struct tu

{ int m; char n; int y;}a;

struct

{ float p, char q; struct tu r} b;

(4) 设有下面结构类型说明和变量定义,则变量a在内存所占字节数是。如果将该结构改成共用体,结果为。

struct stud

{ char num[6]; int s[4]; double ave; } a;

(5) 下面程序用来输出结构体变量ex所占存储单元的字节数,请填空。

struct st

{ char name[20]; double score; };

main()

{ struct st ex ; printf("ex size: %d\n",sizeof( )); }

(6) 下面定义的结构体类型拟包含两个成员,其中成员变量info用来存入整形数据;成员变量link是指向自身结构体的指针,请将定义补充完整。

struct node

{ int info; link; }

(7) 以下程序执行后输出结果是。

main()

{ union { unsigned int n; unsigned char c; } u1;

u1.c='A'; printf("%c\n",u1.n); }

(8) 变量root如图所示的存储结构,其中sp是指向字符串的指针域,next是指向该结构的指针域,data用以存放整型数。请填空,完成此结构的类型说明和变量root的定义。

root

struct

{ char *sp ; __ __; _ _; } root;

2. 阅读下面的程序,写出程序结果

(1)

struct info

{ char a,b,c;};

main()

{ struct info s[2]={{‘a’,‘b’,‘c’},{‘d’,‘e’,‘f’}};int t;

t=(s[0].b-s[1].a)+(s[1].c-s[0].b);

printf("%d\n",t); }

(2)

{ union { char i[2]; int k; } stu;

stu.i[0]='2'; stu.k=0;

printf("%s,%d\n",stu.i,stu.k);

}

(3)

union myun

{ struct{ int x, y, z; } u; int k; } a;

main()

{ a.u.x=4; a.u.y=5; a.u.z=6; a.k=0; printf(“%d\n",a.u.x); }

3. 程序设计题

(1)设计一个程序,用结构类型实现两个复数相加。

(2)定义一个结构类型变量(包括年、月、日)实现:输入一个日期显示它是该年第几天。