C练习题及参考答案-- --第十一章结构体练习题及参考答案.docVIP

C练习题及参考答案-- --第十一章结构体练习题及参考答案.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十一章 结构体、共用体、枚举 1、以下程序运行的结果是__a_____ #include “stdio.h” main( ) { struct date { int year , month , day ; } today ; printf(“%d\n”,sizeof(struct date)); } A .6 B.8 C.10 D.12 解析:本题考察了不同变量在内存中所占字节的位数。现总结如下(针对TC2.0版本):char型变量占1个字节;int型变量占2个字节;long和float型变量占4个字节;double型变量占8个字节。 2. 变量a所占内存字节数是__a_____ union U { char st[4]; int d ; long m ; } ; struct A { int c; union U u ; } a ; A .6 B.8 C.10 D.12 注意:联合体分配内存时是按照所占内存最多的一类变量的数目分配的。而不是所有变量所占内存数量的和。 3.以下程序输出结果是_____c__ struct stu { int x, *y; } *p ; int dt[4]={ 10 , 20 , 30 , 40 }; struct stu a[4]={50 , dt[0] , 60 , dt[1] , 70 , dt[2] , 80 , dt[3] } ; main() { p=a; printf(“%d,” , ++p-x); //语句1 printf(“%d,” , (++p)-x ); //语句2 printf(“%d\n” , ++(*p-y) ); //语句3 } A.10 , 20 , 20 B.50 , 60 , 21 C.51 , 60 , 21 D 60 , 70 , 31 解析:这类题考察了结构体成员变量的访问以及运算符的优先级。需要注意的是“-”的优先级大于“++”和“* ”的优先级。 语句1中,先执行p-x ,得到50后再++ , 得到结果51。 语句2中,先执行(++P) ,指针移动后,取得成员变量x的值为60。 语句3中,先取得*p-y的值,即dt[1]的值,然后++ ,最后得21。 4. 若有定义:enum weekday{mon, tue, wed,thu, fri}workday; 则-----是不正确的语句。c A. workday=(enum weekday)3; B. workday=(enum weekday) (4-2); C. workday=3; D. workday=thu; 5. 下面程序2输出结果为----。C main() { union tt{long k; int i[6]; char c[4]; } r; printf(“%d, %d\n”, sizeof(r), sizeof(union tt)); } A. 4,4 B. 6,6 C. 12, 12 D. 无答案 6.能定义s为合法的结构体变量的是-----。 A. typedef struct abc B. struct abc { double a; { double a; char b[10]; char b[10];}; }s; abc s; C. typedef struct D. typedef abc { double a; { double a; char b[10]; char b[10];}; }abc; abc s; abc s; 解析:A是用新类型名s 代替结构体类型struct abc; B 定义变量s时出错,结构体类型名是struct abc, 而非abc; C是用新类型名abc代替结构体类型, 故用abc是个表示结构体类型的类型名; D

文档评论(0)

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

1亿VIP精品文档

相关文档