第六章单元测试
  1. 在16位系统中,定义以下结构体类型

    struct  s

    {

     int  a;

     char  b;

     float  f;

    };

    则语句printf("%d",sizeof(struct  s))的输出结果为()。


  2. A:4 B:7 C:6 D:3
    答案:7
  3. 以下选项中不能正确把cl定义成结构体变量的是()。


  4. A:typedef struct

        {int red;

         int green;

         int blue;

        } COLOR;

       COLOR cl;


    B:struct color cl

        { int red;

          int green;

          int blue;

        };


    C:struct color

        { int red;

          int green;

          int blue;

        }cl;


    D:struct

       {int red;

         int green;

         int blue;

        }c1;


  5. 当定义一个结构体变量时,系统为它分配的内存空间是()


  6. A:结构中一个成员所需的内存容量 B:结构中各成员所需内存容量之和 C:结构中第一个成员所需的内存容量 D:结构体中占内存容量最大者所需的容量
  7. 根据下面的定义,能打印出字母M的语句是_____。 

    struct person { char name[9]; int age;};

    struct person classes[10]={"John",17, "Paul",19,"Mary",18, "Adam",16};


  8. A:printf("%c",classes[3].name); B:printf("%c",classes[2].name[1]); C:printf("%c",classes[3].name[1]); D:printf("%c",classes[2].name[0]);
  9. 不可以作为函数参数的有()。


  10. A:结构体数组元素 B:结构体数组整体 C:结构体变量整体 D:结构体数组名
  11. 结构体变量整体作函数参数时,以下说法正确的是()。


  12. A:其余说法都不对,不能整体作为函数参数 B:结构体变量整体不能做形参 C:结构体变量整体不能做实参 D:实参结构体变量和形参结构体变量的类型应当一致。
  13. 已知字符'0'的ASCII码为十六进制的30H,下面程序的输出是()。

    void main()

    { union { unsigned char c;

    unsigned int i[4];

    } z;

    z.i[0]=0x39;

    z.i[1]=0x36;

    printf("%c",z.c);}


  14. A:6
    B:3 C:9 D:0
  15. 在下面的叙述中,不正确的是()。


  16. A:枚举常量表中的元素有先后次序,可以进行比较。 B:可以在定义枚举类型时对枚举常量进行指定表示的值。 C:枚举变量只能取对应枚举类型的枚举常量表中的元素。 D:枚举常量的值可以是整数或字符串。
  17. 设有以下语句

    typedef   struct  S

    {  int g; char  h;} T;

    则下面叙述中正确的是(  )。


  18. A:T是struct S类型的变量 B:可用S定义结构体变量 C:S是struct类型的变量 D:可以用T定义结构体变量
  19. 以下叙述中错误的是()。


  20. A:可以通过typedef增加新的类型 B:用typedef可以为各种类型起别名,但不能为变量起别名 C:可以用typedef将已存在的类型用一个新的名字来代表 D:用typedef定义新的类型名后,原有类型名仍有效

温馨提示支付 ¥3.00 元后可查看付费内容,请先翻页预览!
点赞(3) dxwkbang
返回
顶部