第8章结构型联合型和枚举型习题(C语言程序设计)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一单项选择题.2
以下定义结构型变量s的语句中不正确的是( A.#define ABC struct abc ABC {double a; char b[10]; }s; C. struct S {double a; char b[10]; }; )
B. struct abc {double a; char b[10]; }s;
ab[2]
4
ab[1]
3.0 4.0 2
++p->b
++ p->b
ab[1]
1.0
二、填空题 5
• 设有类型说明: • enum color {red,yellow=4,white,black}; • 则执行语句printf(“%d”,white);的结果是____
二、填空题7 • 设有定义语句: • enum{B1,B2=10;B3,B4}x=B3; • 则++x==B4的值是_______
二、填空题 2
设struct student {int no; char name[12]; float score[3]; }s1,*p=&s1;
用指针变量p给s1的成员no赋值1001的方法是(
)
p->no=1001 (*p).no=1001
二、填空题 6
设有下列数据定义语句,则表 达式++p->b的值是_____ p struct AB { int a; ab float b; }ab[2]={{4,3},{2,1}},*p=ab;
y0[3] L i xw[2] \0 1
y0 4 y1
y1[5] W a n g \0
}
一单项选择题. 4.
定义如下结构型变量和结构型指针 struct sk { int a;float b}data,*p; 若指针p已经通过p=&data;指向结构型变量data,则引用 data中a成员的正确方式是: data p a A. (*p).data.a &data B. (*p).a C. p->data.a 结构体变量名.成员名 b D. p.data.a (*指针变量).成员 指针变量->成员
第8章 结构体联合体枚举
习题
一单项选择题. 1.
设有以下定义语句,下列叙述中不正确的是( struct ex { int x; float y ;char z ;}example; )
A. struct是结构型的保留字 B. example是结构型名 C. x,y,z是结构型成员名
D. ex是结构型名
三、写出程序运行结果2. struct stu { int num; char name[10]; int age; }; void fun(struct stu *p) { printf(“%s\n”,(*p).name);} main() {struct stu students[3]={{9801,”zhang”,20}, {9802,”wang”,19}, {9803,”zhao”,18}}; fun( students+2)
* char ;
* STP;
一单项选择题.6
某结构型变量定义如下,对该结构型变量中成员的 引用形式正确的是( )
struct abc{int s; char ch;}a1,*p; p=&a1;
A. a1->s B. p->ch C. p.ch D. *p.s
一单项选择题. 8. 若有下面的说明和定义: struct test m3 m1 { int m1; char m2; m2 float m3; ua union uu { char u1[c]; u1[5] int u2[2]; u2[2] }ua; }myaa; 则sizeof(struct test)的值是:
D. struct abc {double a; char b[10]; }abc; struct abc s;
一单项选择题.3
若有定义语句: struct a {int a1; int a2;}a3; 以下赋值语句不正确的是( A. a.a1=4; C. a3={4,5}
)
B. a2=4 D. a3.a2=5
一单项选择题.5
若要说明一个类型名STP , 使定义语句“STP s;”等价于“char *s; ” 以下选项中正确的是( )
类型重定义: typedef 原类型名 新名;
A.typedef STP B.typedef * char char *s; STP;
C. typedef 百度文库TP
D. typedef char
实验11. 三、实验练习 struct x{ int a; char *b;}*p; char y0[]=“Li”, y1[]=“Wang”; stuct x xw[]={{1,y0},{4,y1}}; main() p p=xw; printf(“%c”, ++*p->b); printf(“%d”,++p->a); printf(“%d”,++p->a); printf(“%d”,(++p)->a); printf(“%c\n”,*(p++)->b);
三、写出程序运行结果1. struct st {int x; int *y;}*p; int dt[4]={10,20,30,40};
struct st aa[4]={50,&dt[0],60,&dt[1],70,&dt[1],80,&dt[3]};
main() { p=aa; printf(“%d”,++p->x); printf(“%d”,(++p)->x); printf(“%d”,++(*p->y));