- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c语言习题8讲解
习题8 习题8.1 1已知 union { int i; char c; float a; }test; 则sizeof(test) 的值是________ A.4 B. 5 C. 6 D. 7 习题8.1 2有以下说明,则____的叙述是正确的(已知int占2个字节) struct st { int a; int b[2]; }a; A)结构体变量a与结构体成员a同名,定义是非法的; B)程序只在执行到该定义时才为结构体st分配存储单元; C)程序运行时为结构体变量a分配6字节存储单元; D)类型名struct st 可以通过extern 关键字提前引用; 习题8.1 3若有以下结构体定义,选择哪个赋值是正确的。 struct s { int x; int y; }vs; A) s.x = 10 B) s.vs.x = 10 C) struct va; va.x = 10 D) struct s va = {10}; 习题8.1 5已知学生记录描述为: struct student { int no; char name[20]; char sex; struct { int year; int month; int day; }birth; }; struct student s; 设变量s中的“生日”应是“1984年11月11日”,下列对“生日”的正确赋值方式是_____ A) year = 1984; month = 11; day = 11; B) birth.year = 1984; birth.month = 11; birth.day = 11; C) s.year = 1984; s.month = 11; s.day = 11; D) s.birth.year = 1984; s.birth.month = 11; s.birth.day = 11; 习题8.1 6已知 struct sk { int a; float b; }data,*p; 若有p=data 则对data中的成员a的正确引用是_____。 A) (*p).data B) (*p).a C) p-data.a D) p.data.a 习题8.1 8若有以下定义和语句,则以下引用形式非法的是_______ struct student { int num; int age; }; struct student stu[3]={{1001,20}, {1002,19}, {1003,21}}; struct student *p = stu; A) (p++)-num B) p++ C) (*p).num D) p = stu.age 习题8.2 已知: struct { int x; int y; }s[2] = {{1,2},{3,4}},*p=s; 则 表达式 ++p-x 的值为________; 表达式(++p)-x的值为________。 习题8.4 1判断下列说法是否正确。如不正确,说明理由 结构只能包含一种数据类型。 可以比较两个共用体是否相等。 结构的名字是可以没有的。 不同结构体的成员的名字不能相同。 关键字typedef值用来定义新的数据类型。 结构体不可以比较。 习题8.4 2判断下列对结构体的声明是否正确。如不正确,写出正确方法。 struct STUDENT { char Name[10]; int Age; } STUDENT student; student-Age=20; 习题8.4 union val { char w; float x; int m; }v = { 1.2 }; * C语言大学实用教程课件 制作人 苏小红 * * 哈尔滨工业大学计算机科学与技术学院 苏小红sxh@hit.edu.cn 假设改为char month[20]; 那么如何赋值? 2 3 ++(p-x) ; struct STUDENT student; student.Age=20; 0’ 共用体在初始化时,只能对第一个 成员的数据类型初始化 * C语言大学实用教程课件 制作人 苏小红 *
文档评论(0)