- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VC第十一章
VC第十一章
第十一章 结构体与共用体
一、选择题
1、 C
解析:在本题中TT为结构体名,用关键字typedef对结构体进行说明,CIN一个具体的结构体类型名等价于struct TT, 可以用CIN来直接定义结构体变量,而不用再写struct。A:答案不能用TT直接定义结构体变量,一般格式为(struct TT 结构体变量名);B:答案概念错误,D:答案CIN不是结构体变量,是一个具体的结构体类型名。
2、D
解析:这是一个给结构体赋值的简单实例,A:答案是给结构体数组中的成员s[0]中的字符数组name赋初值,s[0].name表示该结构体中字符数组的首地址,B:选项中表示给结构体数组s中的结构体s[0]中的age变量赋初值,C:答案中(ps-sex)等价于将结构体指针变量指向的结构体s[0]中的成员sex并进行取址运算,等价于s[0].sex;D:答案明显错误,不能给变量直接赋值,用scanf函数必须用取址运算,ps-age,在这里等价于s[0].age.
3、C
解析:第三题的结构我们可以用以下关系表示:
答案A:实际上是将y指针变量所指向的数组a中的数组的第一个数字拿出来,所以a答案应该为1,答案B:是将pt结构体指针变量所指向的结构体数组c中c[0]的成员x的值取出来,所以我们可以知道答案B的结果为10;答案C由于指向运算符的优先级别高于自加运算,所以是pt结构体指针变量所指向的结构体数组c中c[0]的成员x的值自加之后的值结构为11;D答案结构体指针变量pt++表示将pt所指向的变量由c[0]改为c[1]的首地址,再将x的值取出来,由于x的值为20,所以答案D也可以排除。
4、D
解析:第三题的结构我们可以用以下关系表示:
A:答案实际上是将p所指向的变量由stu[0]改为stu[1]的首地址,并将stu[1]中的成员num取出所以A答案的结果为字符串常量“200402”;答案B将p所指向的stu[0]中的成员num取出所以结果为字符串常量“200401”;答案C是将p所指向的首地址为stu[0]中的成员num取出所以结果为字符串常量“200401”,C答案中的括号不能省略;答案D中不存在结构体变量stu[3],所以不存在stu[3].age成员。
5、 B
解析:表达式++(p-x)是将结构体指针p所指向的结构体变量date[0]中的成员x进行自加运算后的值,所以也就等价于stu[0].x++。
6、 A
解析:选项B中不能将字符串常量赋值给字符变量,选项C、D错误十分明显。
7、 D
解析:第七题主要是对链表的考察,答案A是将变量q-next的值赋值给p-next变量, q-next在这里指的是图中结构体指针变量r所指向的那个结构体变量存储空间的首地址,这时q-next变量中存储的是指针变量r所指向的那个结构体变量存储空间的首地址,所以能够完成具体操作;答案B中p-next-next等价于变量q-next所以答案A、B是等价的;答案C直接将r所指向的那个结构体变量存储空间的首地址赋值给p-next变量,所以也能够完成具体操作,答案D P=q-next实际上不是删除节点的操作,不能将结点删除,只是改变结构体变量p所指向节点的首地址,实际上完成D答案的操作后将使结构体指正p、r指向同一个节点。
8、 CAB
解析:第一空是函数CreatList返回值得类型,我们可以从程序中得到返回值h为结构体指针变量,我们可以从程序中找到答案;第二空是给结构体指针p所指向的成员中的date变量赋值,这个值来自函数形参的传递值,所以我们选择答案A,结构体指针在这里只起一个传递的作用,具体结构如下图:第三空是在将新开辟的节点与链表联接后,将指针变量p所指向的首地址传递给结构体指针变量q,使结构体指针变量同时指向新开辟的单元的首地址,所以选B答案。
9、C
解析:对于占用两个字节的共用体, 第一次赋值,高位编译系统已经给其赋值为0,所以在输出的时候,高位已经有内容,而不是没有初始化。
10、B
解析:共用体和结构体一样,对于单个元素的引用(包括初始化以及数据输出)一定要用成员运算符‘.’。不能对共用体进行整体运算。
11、A
解析:选项A中是用REC 来代替这个结构题,所以在定义变量的时候,就可以用REC来定义变量,B答案中的struct REC后面不能有分号。C同样的后面不能含有分号,D选项中应该在REC 后面加上一个分号。
12、A
解析:函数在传递结构体数据时,当做是一个“传值”的过程,所以void f函数中的改变的话,对主函数是没有影响的,所以最后在主函数中输出的结构还是原来的值,所以答案
原创力文档


文档评论(0)