c语言 数据类型作业 答案,自定义数据类型习题及答案(C语言).docx

第7章自定义数据类型习题

一.选择题:

当定义一个结构体变量时,系统分配给它的内存空间是【】。

结构中一个成员所需的内存量B)结构中最后一个成员所需的内存量

C)结构体中占内存量最大者所需的容量D)结构体中各成员所需内存量的总和

若有以下说明,对初值中整数 2的正确引用方式是【】。

static struct

{

char ch ;

int i ;

double x ;

} a[2][3]={{‘ a' ,1,3 .45,'b',2” ' c',3,}

{‘d' ,4,, ' e',5,,' f' ,6, }};

a[1][1].i B) a[0][1].i C) a[0][0].i D) a[0][2].i

根据以下定义,能打印字母M的语句是【】。

struct p

{

char n ame[9] ;

int age

}c[10]={

“Jobn”,17, ” Paul”

,19, ” Mary”

,18, ” Adam”

,16};

A) pri ntf(

“% c”,

c[3]. name);

B) pri ntf(

“% c”,

c[3]. name[1]);

C) pri ntf(

“% c”,

c[2]. name);

D) pri ntf(

“% c”,

c[2]. name[0]);

4.以下说明和语句中,已知 int型数据占两个字节,则以下语句的输出结果是【】。

struct st

{

char a[IO] ;

int b

double c

};

printf( "% d ”,sizeof(struct st)) ;

A) 0B) 8 C) 20 D) 2

TOC \o "1-5" \h \z 以下说明和语句中,对结构体变量 std中成员id的引用方式不正确的是【】。

struct work

{

int id ;

int n ame;

} std, *p ;

p=&std ;

A) B) * C) (*p).id D) &

如设有如下定义,若要使 px指向rec中的成员x,正确的赋值语句是【】。

struct aa

{int x ;

float y ;

}rec, *px ;

A) *px=;B) px=&

C) px= (struct aa* );D) px= (struct aa* ) &;

下列程序的输出结果是【】。

#in clude

main ()

{

struct date

{

int y , m, d;

};

union

{

TOC \o "1-5" \h \z long i;

int k ;

char ii;

}mix ;

printf( "% d,% d\ n”,sizeof(struct date),sizeof(mix)); }

A) 6, 2 B) 6, 4 C) 8, 4 D) 8, 6

F面正确的语句是【 】。&设有以下结构体定义,若要对结构体变量p

F面正确的语句是【 】。

struct date

{int y;

int m;

int d;

}

struct worklist

{ char n ame[20];

char sex ;

struct date birthday;

} P ;

A)y=1976;B) =1976;

C); D) =1976;

9.若有以下说明语句:

struct p

{ char n ame[20];

int age ;

char sex ;

}a={"li ming ”,20,' m' } , p=&a;

TOC \o "1-5" \h \z 则对字符串“ li mi ng ”的错误引用方式是【】。

A)(*p). nameB) *

C)D)

10?当说明一个联台体变量时,系统分配给它的内存为【】。

联台体中的一个成员所需的内存量

联台体中最后一个成员所需的内存量

联台体体中占内存量最大者所需容量

联台体中各成员所需内存量的总和

11 ?设有以下说明,则下面不正确的叙述是【】。

union data

{

int I;

char c;

float f;

}a;

a所占的内存长度等于成员f的长度

a的地址和它的各成员地址都是同一地址

a可以作为函数参数

不能对a赋值,但可以在定义 a时对它初始化

12?下面程序的运行结果是【】。

main ()

{

union u

{

char *n ame ;

int age ;

int in come ;

}s ;

wanghong"

=26;

=26;

=2000;

printf( “%d\n” ,;

}

A) 8B)1000

C) 0D)不确定

已知字符0的ASCII码为十

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值