第六章单元测试
    • 有以下说明和定义语句,下面各输入语句中错误的是()

    • #include <stdio.h>

    • int main()

    • {

    •    struct student

    •     {

    •          int age;

              char sex;

    •         char name[8];

    •     };

    •      

    •     struct student std;

    •     struct student *p=&std;

    •     .......

    •     return 0;

    • }



  1. A:scanf("%c",&std[0].sex);  B:scanf("%d",&(*p).age);  C:scanf("%s",&std.name); D:scanf("%c",&(p->sex));
    答案:scanf("%d",&(*p).age); 
  2. 定义以下结构体数组

    struct c

    {

        int x;

        int y;

    }s[2]={1,3,2,7};

    语句 printf("%d",s[0].x*s[1].x);的输出结果是()


  3. A:21 B:6 C:2 D:14
  4. 以下程序执行后的输出结果是

    #include <stdio.h>

    struct STU

    {

        char name[10];

        int num;

    };

     

    void Fun1(struct STU c)

    {

        struct STU b={"LiGuo",2042};

        c=b;

    };

     

    void Fun2(struct STU *c)

    {

        struct STU b={"SunDan",2044};

        *c=b;

    };

     

    int main()

    {

        struct STU a={"YangHan",2041},b={"WangYi",2043};

        Fun1(a);

        Fun2(&b);

        printf("%d %d",a.num,b.num);

        return 0;

    }



  5. A:

    2041 2043

    B:

    2042 2043

    C:

    2041 2044

    D:

    2042 2044 

  6. 若能使程序运行后的输出结果如下:

    201501

    则空白处填写的表达式或语句应该是

    #include <stdio.h>

    struct student

     { 

         int age;

         char num[8];

      };

       

    int main()

    {

        struct student stu[3]={{20,"201501"},{21,"201502"},{19,"201503"}};

        struct student *p=stu;

        

        ____________________

         

        return 0;

    }


  7. A:printf("%s",(++p)->num); B:printf("%s",(*p).num); C:printf("%s",stu[1]->num); D:printf("%d",p.age);
  8. 当定义一个结构体类型的变量时,系统为它分配的内存空间是()。


  9. A:结构中一个成员所需的内存容量 B:结构中第一个成员所需的内存容量 C:结构中各成员所需的内存容量综合 D:结构体中占内存容量最大的成员所需的容量

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