参考答案和解析
正确答案:8
更多“下面语句定义了共用体(联合体)变量a,则a占用()个字节。union data { short int i ;char c ; double d;}a;”相关问题
  • 第1题:

    若有以下说明和定义,以下叙述中错误的是( )。

    union dt

    { int a;char b;double c;}data;

    A.两个共用体变量之间可以相互赋值

    B.变量data所占内存字节数与成员c所占字节数相等

    C.程序段:data.a=5;printf("%f\n",data.c);输出结果为5.000000

    D.共用体在初始化时只能用第一个成员的类型进行初始化


    正确答案:C
    浮点型占8个字节,整型占4个字节,当把整型数据用浮点型格式输出时,结果为0.000000

  • 第2题:

    若有以下说明和定义 union dt {int a;char b;double c;}data; 以下叙述中错误的是

    A.data的每个成员起始地址都相同

    B.变量data所占内存字节数与成员c所占字节数相等

    C.程序段:data.a=5;printf("%f\n",data.c);输出结果为5.000000

    D.data可以作为函数的实参


    正确答案:D
    解析: 选项A),共用体的每个成员的起始地址都相同;选项B),共用体变量所占的内存长度等于最长的成员的长度;选项C)因为每个成员的起始地址相同,所以整型数 5以浮点型输出时为5.000000;选项D)C语言规定,不能把共用体变量作为函数的参数。

  • 第3题:

    已知有变量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定义为联合结构。联合中所有数据项占有相同的内存空间。联合体所占的内存存储空间为所包含数据项所占的内存存储空间的最大值。

  • 第4题:

    ● 已知有变量 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


  • 第5题:

    有语句定义共用体类型变量: union { int i; char ch; float f; } a,bc; 上面定义的共用体变量a、b、c各占( )字节。

    A.4

    B.2

    C.7

    D.1


    正确答案:A

  • 第6题:

    若有以下说明和定义union dt{ int a;char b;double c;} data; 以下叙述中错误的是

    A.data的每个成员起始地址都相同

    B.变量data所占内存字节数与成员c所占字节数相等

    C.程序段:data. a=5;printf(“%I'm”,data. C);输出结果为5.000000

    D.data可以作为函数的实参


    正确答案:C
    解析:本题考查的共用体的概念。共用体变量中的所有成员共享一段公共存储区,所以共用体变量所占内存字节数与其成员中占字节数最多的那个成员相等.本题定义的共用体中成员C所占的内存最多,因此选项B是正确的。由于共用体变量中的所有成员共享存储空间,因此变量中的所有成员的首地址相同,选项A是正确的。同结构体变量一样,共用体类型的变量可以作为实参进行传递,也可以传送共用体变量的地址,选项D也是正确的。在内存中,实数与整数的存放形式完全不一样,共用体的成员共用的是同一块内存,而不是同一个数值,因此选项C是错误的。

  • 第7题:

    设有以下说明和定义:includeVoid main() {typedef union{long i; int k[5]; char

    设有以下说明和定义:#include<iostream. h>Void main() {typedef union{long i; int k[5]; char c;}DATE;struct date{iNt cat; DATE cow; double. dog;}too;DATE max;则下列语句的执行结果是( )。cout<<(sizeof(struct date)+sizeof(max))<<end1;}

    A.26

    B.52

    C.18

    D.8


    正确答案:B

  • 第8题:

    变量a所占的内存字节数是 ______。

    A.4

    B.5

    C.6

    D.8 union U { char st[4]; int i; long l; }; Struct A{ int c; union U u; }a;


    正确答案:C
    解析:结构体变量所占内存长度是各成员占内存长度之和,而共用体变量所占的内存长度等于最长的成员的长度。本题结构体变量a中成员c为整型占2个字节,共用体变量u最大长度为4个字节,故选C。

  • 第9题:

    在16位IBM-PC上使用C语言,如定义下列共用体类型变量: union data { int i; char ch; float f; }a,b,c; 则共用体变量a,b,c占用内存的字节数为( )。

    A.1

    B.2

    C.4

    D.6


    正确答案:C
    解析:共用体变量中的所有成员占有同一个存储空间,其字节数与成员中占字节数最多的那个成员相等。char占1个字节, int占2个字节,float占4个字节,因此本题中的共用体变量a,b,c占用内存的字节数为4。

  • 第10题:

    变量W_data定义如下:union data_node{float ff'int n;char ch;}W_data;则变量W_data所占的内存存储空间可表示为______。

    A.sizeof(int)
    B.sizeof(char)
    C.sizeof(float)
    D.sizeof(int)+sizeof(char)+sizeof(float)

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

  • 第11题:

    设有以下结构类型说明和变量定义,则变量a在内存所占字节数是().   struct stud { char num[8]; int s[4]; double ave; } a,*p; 


    正确答案:32

  • 第12题:

    单选题
    Union test{ Char a[3]; Int b[4]; Short c[5]; }; 一个test类型数据占用()个字节的空间。
    A

    10

    B

    16

    C

    29

    D

    30


    正确答案: D
    解析: 暂无解析

  • 第13题:

    下列定义变量的语句中正确的是( )。A)int _int; B)double 3int_;C)char for; D)float US&;


    正确答案:A
    用户标识符不能为关键字,只能由数字,字母和下划线组成,而且第一个必须为字母或下划线。

  • 第14题:

    ● 给定 C 语言的数据结构

    struct T {

    int w;

    union T { char c; int i; double d; } U;

    };

    假设 char 类型变量的存储区大小是 1 字节,int 类型变量的存储区大小是 4 字节,double类型变量的存储区大小是 8 字节,则在不考虑字对齐方式的情况下,为存储一个 struct T类型变量所需要的存储区域至少应为 (15) 字节。

    (15)

    A. 4

    B. 8

    C. 12

    D. 17


    正确答案:C

  • 第15题:

    在16位IBM-PC机上使用C语言,若有如下定义

    struct data

    { int i;

    char ch;

    double f;

    } b;

    则结构变量b占用内存的字节数是

    A.1

    B.2

    C.7

    D.11


    正确答案:D
    解析:结构体变量所占用内存的字节数是其所有成员所占用内存字节数之和。本题中整型变量i所占用的内存是2字节,字符型变量ch所占用的内存是1字节,双精度型变量f所占用的内存是8字节,三者相加即可。

  • 第16题:

    ●在某嵌入式系统中,采用PowerPC处理器,若定义了如下的数据类型变量X,则X所占用的内存字节数是(52).

    union data{

    int i;

    char ch;

    double f;

    } X;

    (52) A.8

    B.3

    c.16

    D.24


    正确答案:A

  • 第17题:

    变量a所占内存字节数是______。 union U { char st[4]; int i; long 1; }; struct A { int c; union U u; }a;

    A.4

    B.5

    C.6

    D.8


    正确答案:C
    解析:共用体变量在内存所占的长度是取各成员变量中最长的。共用体的长度为4,因此变量a在内存中的长度=1个整型长度+1个共用体长度=2+4=6。

  • 第18题:

    设有以下说明和定义:

    typedef union {long i; int k[5]; char c;} DATE;

    struct data { int cat; DATE cow; double dog;} too;

    DATE max;

    则语句 printf("%d",sizeof(struct date)+sizeof(max));的执行结果是:___52____


    正确答案:
    答:DATE是一个union, 变量公用空间. 里面最大的变量类型是int[5], 占用20个字节. 所以它的大小是20
    data是一个struct, 每个变量分开占用空间. 依次为int4 + DATE20 + double8 = 32.
    所以结果是 20 + 32 = 52.
    当然...在某些16位编辑器下, int可能是2字节,那么结果是 int2 + DATE10 + double8 = 20

  • 第19题:

    若有以下说明和定义 union dt {int a;char b;double c;}data; 以下叙述中错误的是 ______。

    A.data的每个成员起始地址都相同

    B.变量data所占的内存字节数与成员c所占字节数相等

    C.程序段data.a=5;printf("%f\n",data.c);输出结果为5.000000

    D.data可以作为函数的实参


    正确答案:C
    解析:union是表示共用体的关键字,成员a,b,c共占用同一个内存空间,  data的每个成员起始地址都相同;共用体变量所占的内存长度等于最长的成员的长度,故变量data所占的内存字节数与成员c所占字节数相等:执行“data.a=5;printf("%f\n",data.c);”printf函数只是将内存中的数据以不同的类型输出,而不能将内存中的整型数据自动转换为等值的浮点数故C是错误的。

  • 第20题:

    在下列定义中的共用体所占内存字节数是( )。 union { char k[6]; struct { int m; floar f; }a; double d; }b;

    A.8

    B.14

    C.18

    D.10


    正确答案:A
    解析:结构体变量所占的存储空间是各个分量所占空间的总和。共用体变量中的所有成员占有同一个存储空间,其字节数与成员中占字节数最多的那个成员相等。m占2个字节,f占4个字节,因此结构体变量a所占的存储空间为6字节。k[6]占6个字节,d占8个字节。共用体变量b所占的存储空间与占存储空间最多的d所占存储空间的字节数相同。所以,A选项为所选。

  • 第21题:

    设有一共用体变量定义如下: union data { long w; float x; int y; char z;}; union data beta; 执行下列语句后,正确的共用体变量beta的值是( )。 beta.w=123456; beta.y=888; beta.x=3.1416; beta.z='x';

    A.123456

    B.888

    C.3.1416

    D.'X'


    正确答案:D
    解析:因为共用体的所有成员共同占据一段存储空间,所以成员数据后赋的值会覆盖掉先赋的值,最后共用体变量中保留的就是最后一次赋的值。注意:共用体变量所占存储单元字节数的计算。

  • 第22题:

    Union test{ Char a[3]; Int b[4]; Short c[5]; }; 一个test类型数据占用()个字节的空间。

    • A、10
    • B、16
    • C、29
    • D、30

    正确答案:B

  • 第23题:

    填空题
    下面语句定义了共用体(联合体)变量a,则a占用()个字节。union data { short int i ;char c ; double d;}a;

    正确答案: 8
    解析: 暂无解析