- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
复习结构体链表与枚举类型课堂练习第16周
* 1.有以下定义和语句: struct student { int age; int num; }; struct student stu[3]={{1001,20},{1002,19},{1003,21}}; main() { struct student *p; p=stu; …… } 则以下不正确的引用是 。 A) (p++)-num B) p++ C) (*p).num D) p=stu.age D * 2.有以下结构体定义: struct example { int x; int y; }v1; 则正确的引用或定义是 。 A) example.x=10; B) example v2; v2.x=10; C) struct v2; v2.x=10; D) struct example v2={10}; D * 3.对于如下结构体定义,若对变量person的出生年份进行赋值,正确的赋值是 。 struct date { int year,month,day; }; struct worklist { char name[20]; char sex; struct date birth; }person; A) year=1976 B) birth.year=1976 C) person.birth.year=1976 D) person.year=1976 C * 7.下述程序运行结果为 。 #include stdio.h struct st { int n; int *m; }*p; void main() { int d[5]={10,20,30,40,50}; struct st arr[5]={100,d,200,d+1,300,d+2,400,d+3,500,d+4}; p=arr; printf(%d\t,++p-n); printf(%d\t,(++p)-n); printf(%d\n,++(*p-m)); //相当于++*(p-m) } A) 101 200 21 B) 101 20 30 C) 200 101 21 D) 101 101 10 A * 9.若要利用下面的程序段使指针变量p指向一个存储整型变量的存储单元,则在空格中应填入的内容是 。 int *p; p= malloc(sizeof(int)); int B) int * C) (* int) D) (int *) 10.执行下述语句后的结果是 。 enum weekday {sun,mon=3,tue,wed, thu}; enum weekday day; day=wed; printf(%d\n,day); A) 5 B) 3 C) 4 D) 编译时出错 D A * 4. 下面程序的输出结果是 。(模拟题) #includestdio.h void main() { enum abc{ green=3,red }; char *clr[ ]={red,blue,yellow,black,white,green}; printf(%s and ,clr[green]); printf(%s,clr[red]); } black and white * 【例3】已知指针变量head指向单链表表头,下面程序用来统计链表中各个结点的数据项之和,请填空。(模拟题) struct link { int data;struct link *next;}; void main(){ int k; struct link *head; k=sum(head);printf(%d\n,k); } sum( 【1】 ) { struct link *p;int s; s=head-data;p=head-next; while(p) { s+= 【2】 ; p=p-next;} return(s); } struct link *head p-data * 【例2】以下程序完成链表的输出,请填空。(模拟题) void print(struct stu *head;) {struct stu *p; p=head; if( 【1】 )
原创力文档


文档评论(0)