c程序设计 第九章 结构体.doc
《c程序设计 第九章 结构体.doc》由会员分享,可在线阅读,更多相关《c程序设计 第九章 结构体.doc(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一、概念题二、判断题1. 结构体中的成员不可以单独使用(F)。 2. 成员名可以与程序中的变量名相同,二者不代表同一对象(T)。 3. 不能将一个结构体变量作为一个整体进行输入输出(T)。 4. 结构体变量所占内存长度是各成员占的内存长度之和(T)。5. 结构体中的成员不可以单独使用(F )。 9. 一个结构体变量的指针就是该变量所占内存段的起始地址(T)。 10. 用结构体变量作实参,形参也必须是同类型的结构体变量(T )。 三、单选题1. 设变量定义如下,则对其中的结构分量num正确的引用是( )。struct student int num ; char name20; float sc
2、ore; stud10;A. stud1.num=10;B. student.stud.num=10;C. struct.stud.num=10;D. struct student.num=10;2. 已知职工记录描述如下,设变量w中的“生日”是“1993年10月25日”,下列对“生日”的正确赋值方式是( )。struct worker int no; char name20; char sex;struct birth int day; int month; int year;a;struct worker w;A day=25; month=10; year=1993;B w.birth.
3、day=25; w.birth.month=10; w.birth.year=1993;C w.day=25; w.month=10; w.year=1993;D w.a.day=25; w.a.month=10; w.a.year=1993;3. 对于以下的变量定义,语句( )在语法和语义上都是正确的。struct node float x,y; char s10; point=1,2,”abc”,*p;A. *p=point;B. p=&point;C. point=p;D. p-x=point.y;4. 设有以下语句typedef struct S int g; char h; T;则下
4、面叙述中正确的是( )。A. 用S定义结构体变量B. 可以用T定义结构体变量C. S是struct类型的变量D. T是struct S类型的变量5. 设有如下说明typedef struct na int n; char c; double x;STD;则以下选项中,能正确定义结构体数组并赋初值的语句是( )。A. STD tt2=1,A,62,2, B,75;B. STD tt2=1,A,62,2, B,75;C. struct tt2=1, A,2, B;D. struct tt2=1,A,62.5,2, B,75.0;6. 若要说明一个类型名STP,使得定义语句STP s等价于char
5、*s,以下选项中正确的是( )。A. typedef STP char *s;B. typedef *char STP;C. typedef stp *char; D. typedef char* STP;7. 设有如下定义:struct ss char name10;int age; char sex;std3,*p=std;下面各输入语句中错误的是( )。A. scanf(%d,&(*p). age); B. scanf(%s,&std.n ame);C. scanf(%c,&std0.sex) D. scanf(%c,&(p- sex);8. 以下程序执行后输出结果是( )。main()
6、 union unsigned int n; unsigned char c; u1 ul.c=A; printf(%cn,u1.n);A. 产生语法错 B. 随机值 C. A D. 65四、程序填空题Li ming: WHang kai: MFang ke: W1. 运行以下程序将打印出如下结果:#define NULL 0struct person char *nam; char sex; struct person *next;main() struct person a,b,c,d,*head,*s; a.nam=Li ming; a.sex=W; b.nam=Hang kai; b.
7、sex=M; c.nam=Liu fei; c.sex=M; d.nam=Fang ke; d.sex=W【1】 ; head=&a; a.next= &b 【2】 ; b.next= &d【3】 ; d.next=NULL; s=head; do printf(%s:【4】%c n,s-nam,s-sex); s=s-next; while(s!=NULL);2. 以下程序中给指针p分配三个double型动态内存单元,请填空。# include main ( ) double *p; p=(double *) malloc(sizeof(double)【1】); p0=1.5;p1=2.5;
8、p2=3.5; printf(%f%f%fn,p0,p1,p2);3. 已知结构数组person中存有N个人员的姓名和年龄,以下程序的功能为输出数组中最大者的姓名和年龄。请填空:#define N 3struct manchar name20;int age;struct man find(struct man *p ,int n)struct man *q; int i; q=p; for(i=0;iageq-age【5】)q=p; p+; return q;main() struct man *p, *q;struct man personN=“zhang”,27,”li”,18,”wan
9、g”,73; p=person; q= find(p,N)【6】; printf(“年龄最大者为:%s,其年龄为:%dn”,q-name, q-age【7】)4. 已知head指向一个带头结点的链表,链表中每个结点包含整型数据域(data)和指向链表结点的指针域(next),以下函数返回链表中所有结点数据域之和,请填空:struct list int data;struct list *next;main()struct list *head; int s;s=sum(head); sum( struct list *h 【5】)struct list *p; int s=0; p=h-nex
10、t; while(p!=NULL)s= p-data【6】; p= p-next 【7】;return s;5. 下列程序读入时间数值,将其加1秒后,输出,时间格式为hh:mm:ss,即时:分:秒。当小时等于24小时,置为0。#includestructint hour;int minute;int second;time;main()scanf(“%d:%d:%d”, &time.hour,&time.minute,&time.second【1】); time.second+; if(【2】time.second =60)time.minute+;【3】time.second=0;if(ti
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c程序设计 第九章 结构体 程序设计 第九 结构
限制150内