计算机二级

若有下面的说明和定义: struct test { char m2; float m3; union uu{ char u1[5]; float u2; }ua; }MyStruct; 则sizeof(MyStruct)的值是( )。A.10B.11C.12D.9

题目

若有下面的说明和定义: struct test { char m2; float m3; union uu{ char u1[5]; float u2; }ua; }MyStruct; 则sizeof(MyStruct)的值是( )。

A.10

B.11

C.12

D.9

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

若有下面说明和定义:struct test{ int m1;char m2;float m3;union uu(char u1[5];int u2[2];)ua;}myaa; 则sizeof(struct test)的值是( )。A)20 B)16C)14 D)9


正确答案:A
sizeof求在存储单元中所占字节数。

第2题:

已知: union { int i; char c; float a; }st;则sizeof(st)的值是______。

A.4

B.5

C.6

D.7


正确答案:A

第3题:

若有以下定义和语句

union data

{ int i; char c; float f; } x;

int y;

则以下语句正确的是

A)x=10.5;

B)x.c=101;

C)y=x;

D)printf("%d\n",x);


正确答案:B
答案 B
解析:在引用共用体变量时,应当引用共用体变量的成员,而不是引用共用体变量本身。

第4题:

若有如下说明和定义struct test{ int ml; char m2; float m3; union uu {char ul[5]; int u2[2];} ua;} myaa;则sizeof(struct test)的值是A.12 B.16 C.14 D.9


正确答案:A
在本题中,首先定义了一个结构体。在该结构体中,定义了一个整型变量成员、一个字符型变量成员和一个浮点型变量成员,并在结构体中定义了一个联合体变量成员,联合体变量成员中又包含两个联合体成员数组。题目最后要求计算该结构体变量所占的存储空间。
在C语言中,联合体变量中的所有成员共享存储空间,联合变量的长度等于各成员中最长的长度,因此,本题的联合体部分所占的长度为5,但是结构体与联合体不一样的是,结构体不能共享空间,一个结构体变量的总长度是各成员长度之和,因此,该结构体所需的存储空间为5+1+2+4=12。本题的正确答案选A。

第5题:

若有下面的说明和定义

struct test

{ int ml; char m2; float m3;

union uu {char ul[5]; int u2[2];} ua;

} myaa;

则sizeof(struct test )的值是

A.12

B.16

C.14

D.9


正确答案:A

第6题:

已知有变量datal定义如下: union data { int i; char ch; float f; }datal; 则变量datal所占的内存存储空间可表示为(57)。

A.sizeof(int)

B.sizeof(char)

C.sizeof(float)

D.SiZCOf(mt)+sizeof(char)+sizeof(float)


正确答案:C
解析:本题考查C语言编程的基本知识。本题变量datal定义为联合结构。联合中所有数据项占有相同的内存空间。联合体所占的内存存储空间为所包含数据项所占的内存存储空间的最大值。

第7题:

● 已知有变量 data1 定义如下:

union data

{ int i;

char ch;

float f;

} data1;

则变量 data1 所占的内存存储空间可表示为 (57) 。

(57)

A. sizeof(int)

B. sizeof(char)

C. sizeof(float)

D. sizeof(int)+sizeof(char)+sizeof(float)


正确答案:C


第8题:

若有以下说明和定义语句,则变量w在内存中所占的字节数是 【19】 。

union aa {float x; float y; char c[6]; };

struct st{ union aa v; float w[5]; double ave; } w;


正确答案:
34

第9题:

下面程序和运行运行结果是【 】。

typedef union student

{ char name [10];

long sno;

char sex;

float score [4];

} STU;

main ( )

{ STU a[5];

prinff( "% d\n", sizeof(a) );

}


正确答案:80
80

第10题:

若有下面的说明和定义,则sizeof(struct aa) 的值是 struct aa { int rl;double r2;float r3; union uu {char ul [5];long u2[2]}ua; }mya;

A.30

B.29

C.24

D.22


正确答案:D
解析:结构体变量所占内存长度是各成员占的内存长度之和,每个成员分别占有自己的内存单元;共用体变量所占的内存长度等于最长的成员的长度。结构体变量aa中,成员r1占2个字节,r2占8个字节,r3占4个字节,共用体ua占8个字节,所以共占用2+8+4+8=22个字节。

更多相关问题