《第十四部分结构体与共用体.doc

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《第十四部分结构体与共用体

第十四部分:结构体与共用体及用户定义类型 一、选择题: (1)有以下程序段 ?typedef struct NODE ?{ int? num;? ?? struct NODE? *next; ?} OLD; 以下叙述中正确的是  A)以上的说明形式非法???  B)NODE是一个结构体类型  C)OLD是一个结构体类型???  D)OLD是一个结构体变量 (2)有以下程序 ?# include?? string.h ?struct STU ?{ int? num;? ?float? TotalScore;? }; ?void f(struct STU? p) ?{ struct STU? s[2]={{20044,550},{20045,537}}; ?? p.num = s[1].num;??? p.TotalScore = s[1].TotalScore; ?} ?main() ?{ struct STU? s[2]={{20041,703},{20042,580}}; ?? f(s[0]); ?? printf(%d? %3.0f\n, s[0].num, s[0].TotalScore); ?} 程序运行后的输出结果是  A)20045 537??  B)20044 550??  C)20042 580??  D)20041 703 (3)有以下程序 ?# include??? string.h ?struct STU ?{ char? name[10];? ? int? num; }; ?void f(char? *name,? int? num) ?{ struct STU? s[2]={{SunDan,20044},{Penghua,20045}}; ?? num = s[0].num; ?? strcpy(name, s[0].name); ?} ?main() ?{ struct STU? s[2]={{YangSan,20041},{LiSiGuo,20042}},*p; ?? p=s[1];?? f(p-name, p-num); ?? printf(%s? %d\n, p-name, p-num); ?} 程序运行后的输出结果是  A)SunDan? 20042????  B)SunDan? 20044  C)LiSiGuo? 20042 ????  D)YangSan? 20041 (4)有以下程序 ?struct STU ?{ char? name[10];??? int? num;??? float? TotalScore;? }; ?void f(struct STU? *p) ?{ struct STU? s[2]={{SunDan,20044,550},{Penghua,20045,537}}, *q=s; ?? ++p ;? ++q;? *p=*q; ?} ?main() ?{ struct STU? s[3]={{YangSan,20041,703},{LiSiGuo,20042,580}}; ?? f(s); ?? printf(%s? %d? %3.0f\n, s[1].name, s[1].num, s[1].TotalScore); ?} 程序运行后的输出结果是  A)SunDan? 20044? 550????  B)Penghua? 20045? 537  C)LiSiGuo? 20042? 580????  D)SunDan? 20041 703 (5)若有以下说明和定义 union? dt { ??? int? a;?? char? b;? double? c; }data; 以下叙述中错误的是?????????????????????????  A)data的每个成员起始地址都相同  B)变量data所占内存字节数与成员c所占字节数相等  C)程序段:data.a=5;printf(%f\n,data.c);输出结果为5.000000  D)data可以作为函数的实参 (6)设有如下说明 typedef? struct? ST { ?? long a; ?? int? b; ?? char? c[2]; } NEW; 则下面叙述中正确的是????????????  A)以上的说明形式非法  B)ST是一个结构体类型  C)NEW是一个结构体类型  D)NEW是一个结构体变量 (7)有以下结构体说明和变量定义,如图所示,指针pqr分别指向此链表中三个连续结点。 struct? node { ???? int data;?? ???? struct node? *next; } *p,*q,*r; 现要将q所指结点从链表中删除,同时保持链表的连续,以下不能完成指

您可能关注的文档

文档评论(0)

haha85864 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档