精品word学习资料可编辑
名师归纳总结——欢迎下载
习 题 六
1, 从以下四个选项中挑选一个正确得填入括号中;
( 1)在说明一个结构体变量时系统安排给它得储备空间就是( D );A 该结构体中第一个成员所需储备空间
B 该结构体中最终一个成员所需储备空间
C该结构体中占用最大储备空间得成员所需储备空间D该结构体中全部成员所需储备空间得总与
( 2)在说明一个共用体变量时系统安排给它得储备空间就是( D );
A 该共用体中第一个成员所需储备空间B 该共用体中最终一个成员所需储备空间
C该共用体中占用最大储备空间得成员所需储备空间D该共用体中全部成员所需储备空间得总与
( 3)共用体类型在任何给定时刻 , ( B ) ;
A 全部成员始终驻留在内存中B 只有一个成员驻留在内存中C部分成员驻留在内存中
D没有成员驻留在内存中
( 4)以下定义结构体类型得变量 st1 ,其中不正确得就是( A )
A typedef stuct student
{
int num; int age;
}STD; STD st1;
B struct student
{
int num,age;
}st1; C struct
{
int num; float age;
}st1;
D struct student
{
int num; int age;
};
struct student st1;
( 5)已知职工记录描述为 :
struct workers
{
int no;
char name[20]; char sex; struct
{
精品word学习资料可编辑
名师归纳总结——欢迎下载
int day; int month; int year;
}birth;
};
struct workers w;
设变量 w 中得”生日”应就是” 1993 年 10 月 25 日”, 以下对”生日”得正确赋值方式就是 ( C); A day=25; month=10; year=1993;
B w,day=25w,month=10; w , year=1993;
C w,birth ,day=25; w ,birth ,month=10; w ,birth ,year=1993; D birth ,day=25; birth ,month=10; birth , year=1993 ;
( 6)设有如下定义 : struct sk
{
int a; float b;
}data,*p;
如有 p=data; 就对 data 中得 a 成员得正确引用就是( B );A (*p) ,data ,a
B (*p) ,a
C p-data ,a D p ,data ,a
2,填空
( 1)如有以下说明与定义且数组 w 与变量 k 已正确赋值,就对 w 数组中第 k 个元素中各成员得正确引用形式就是 w[k-1] ,b, w[k-1] ,c , w[k-1] ,d ;
struct aa
{
int b; char c; double d;
};
struct aa w[10]; int k=3;
( 2)如有以下说明与定义, 就对 x ,b 成员得另外两种引用形式就是 x-b- 与 p ,b, ;
struct st
{
int a;
struct st *b;
}*p, x; p=x;
3,阅读下面程序,写出运行结果;
( 1) ,ffffffcc
#include stdio ,h main( )
{
struct byte
{
int x; char y;
};
union
精品word学习资料可编辑
名师归纳总结——欢迎下载
{
int i[2]; long j; char m[2];
struct byte d;
}r,*s=r;s-j=0 printf(%x,%x\n,s-d ,x,s-d ,y);
}
( 2)结果: 1,miniputer #include stdio ,h struct tree
{
int x; char *s;
}t;
func(struct tree t )
{
t ,x=10;
t ,s=puter; return(0);
}
main()
{
t ,x=1;
t ,s=miniputer; func(t);
printf(%d,%s\n,t , x,t ,s) ;
}
#include stdio ,h,,,,, ,,,,,,,,,,,,,,,,,,, ,,结果:,0,null
struct tree
{
int x; char *s;
}t;
func(struct tree t )
{
t , x=10;
t , s=puter; return(0);
}
main()
{
//t
原创力文档

文档评论(0)