更多“2、关于struct描述正确的是”相关问题
  • 第1题:

    若有以下结构体,则正确的定义或引用的是

    struct Test

    {int x;

    int y;

    } vl;

    A.Test.x=10;

    B.Test v2;v2.x=10;

    C.struct v2;v2.x=10;

    D.struct Test v2={10};


    正确答案:D

  • 第2题:

    设有如下说明typedef struct{ int number; char class;double score;}student;则以下选项中,能正确定义结构体数组并赋初值的语句是( )。A.student tt[2]={{189,’A’,62},{190,’B’,75}};B.student tt[2]={189,’"A",62,190,"B",75};C.struct tt[2]={{189,’A’},{190,’B’}};D.struct tt[2]={{189,"A",62.5},{190,"B",75.0}};


    正确答案:A
    B项定义格式不对,tt[2]只有两个元素,C项缺少了结构体名,而结构体名不可少,D项一样缺少了结构体名。

  • 第3题:

    下列语句段中,正确的是( )。

    A.struct{int x;float y;int a[2];unsigned b[3];char name[10];};

    B.struct stu{unsigned a[3];unsigned b[4];}x;int*p=&x.a;

    C.struct stu{int a;float x[4];}y={1,1.0};float data=y.x;

    D.struct nd{int a,b;unsigned c[2]=5;};


    正确答案:A
    解析: 本题主要考查的知识点是结构类型的概念和定义,结构定义的一般形式:
    struct结构类型名称
    { 数据类型 成员名1;
    数据类型 成员名2;

    数据类型 成员名n;
    };
    struct为关键字,是结构的标识符;{}中包围的是组成该结构的成员项;每个成员的数据类型既可以是简单的数据类型,也可以是复杂的数据类型。整个定义作为一个完整的语句,用分号结束。结构类型名称是可以省略的,此时定义的结构称为无名结构。

  • 第4题:

    设有如下说明typedef struct{ int n; char c; double x;}STD;则以下选项中 ,能正确定义结构体数组并赋初值的语句是

    A.STD tt[2]={{1,'A',62},{2,'B',75}};

    B.STD tt[2]={1,"A",62,2,"",75};

    C.struct tt[2]={{1,'A'},{2,'B'}};

    D.struct tt[2]={{1,"A",62.5},{2,"B",75.0}};


    正确答案:A
    解析:给结构体数组赋初值时,要将其成员值依次放在一对花括号中。

  • 第5题:

    有以下定义和语句: struct students {int num;char name[20];char c; struct {int grade1;int grade2;}s; }; struct students w,*pw; *pw=w; 下列赋值语句不正确的是( )。

    A.w.num=1002;

    B.w.grade1=85;

    C.pw->num=1002;

    D.w.s.grade2=85;


    正确答案:B

  • 第6题:

    若有以下结构体定义,则______是正确的引用或定义。 struct example { int x; int y; }v1;

    A.example.x=10

    B.example v2.x=10

    C.struct v2;v2.x=10

    D.struct example v2={10};


    正确答案:D
    解析:在定义结构体变量时,不能只用结构体名example或关键字struct进行定义,必需要用结构体类型名structexample定义,在引用结构体成员变量时,需要用结构体变量名进行引用,所以选D。

  • 第7题:

    若有以下结构体定义,则是正确的引用或定义。struct example{ int x; int y;}v1;

    A.example.x=10

    B.examplev2.x=10

    C.struct v2;v2.x=10

    D.struct example v2={10};


    正确答案:D
    解析:在定义结构体变量时,不能只用结构体名example或关键字struct进行定义,必需要用结构体类型名structexample定义,在引用结构体成员变量时,需要用结构体变量名进行引用,所以选D。

  • 第8题:

    若有以下结构体,则正确的定义或引用是( )。 struct Test { int x; int y; }v1;

    A.Test.x=10;

    B.Test v2;v2.x=10;

    C.struct Test v2;v2.x=10;

    D.struct Test.v2=10;


    正确答案:C
    解析:定义结构体类型的变量的方式有:①紧跟在结构体类型说明之后进行定义,如题目中给出的;②在说明对结构成员的引用形式为
    结构体变量名.成员名
    选项A对结构成员的引用的形式是错误的,Test是结构体名,不能用来引用结构成员。选项B中定义结构体类型的变量的形式是错误的,Test是结构体名,不能用宋定义结构体类型的变量。选项D中对结构成员的引用的形式是错误的,对结构成员的引用的形式为:结构体变量名.成员名。4个选项中只有选项C是正确的定义或引用。

  • 第9题:

    结构体变量的定义格式正确的是()

    • A、struct变量名;
    • B、结构名变量名;
    • C、struct结构名变量名;
    • D、struct变量名结构名;

    正确答案:C

  • 第10题:

    结构体指针的定义方式正确的是()

    • A、struct结构体名 指针变量名;
    • B、struct结构体名;
    • C、struct指针变量名;
    • D、struct指针变量名 结构体名;

    正确答案:A

  • 第11题:

    数据结构中,struct pro { int id; char name[20]; }; void fun(struct pro p[]) { ......;//函数体省略 }关于本程序段描述不正确的是()。

    • A、fun函数是按照值传递进行的
    • B、fun函数是结构体数组作为参数
    • C、结构体数组做参数,属于地址传递
    • D、数组p做参数传递是数组的首地址

    正确答案:A

  • 第12题:

    下面正确的结构体定义格式是()

    • A、struct结构体名{类型成员变量1;类型成员变量2;….类型成员变量n;};
    • B、struct结构体名{类型成员变量1;类型成员变量2;….类型成员变量n;}
    • C、struct{类型成员变量1;类型成员变量2;….类型成员变量n;}结构体名;
    • D、struct{类型成员变量1;类型成员变量2;….类型成员变量n;}结构体名

    正确答案:A

  • 第13题:

    下列关于结构型、共用型、枚举型的定义语句中,正确的是( )。A.struct ss{int x}B.union uu{int x;}xx=5;C.enum ee{int x};D.struct{int x;};


    正确答案:D
    定义语句后必须要分号‘;’,所赋初值放在大括号里。枚举类型的基础类型定义在枚举名的后面,如果没有显式声明,则其类型为int型,无需再次声明:int x;

  • 第14题:

    设有如下说明:

    typedef struct

    {int n;char c;double x;}STD;

    有以下选项,能正确定义结构体数组并赋初值的语句是( )。

    A.STD ttr2]={{1,'A',62),{2,'B',75}};

    B.STD tt[2]={1,"A",62,2,"B",75};

    C.struct tt[2]={{1,'A'},{2,'B'}};

    D.struct tt[2]={{1,"A",62.5},{2,"B",75.O}};


    正确答案:A

    本题考查结构体的基本知识。因为有了typedef,故可以省略SWUCI关键词而直接使 用STD名称。结构体数组中的元素在赋值时要求用大括号包含,故答案为A。 

  • 第15题:

    以下结构体类型说明和变量定义中正确的是( )。

    A.typedef struct

    B.struct REC; {int n;char c;}REC; {int n;char c;}; REC t1,t2; REC t1,t2;

    C.typedef struct REC;

    D.struct {int n=0;char c='A';}t1,t2; {int n;char c;}REC; REC t1,t2;


    正确答案:A
    解析:选项A中用typedef定义结构体类型名REC后,REC能够唯一地标识这种结构体类型,可以用REC定义变量,这是正确的结构体类型变量的定义,选项C是错误的。选项B中“struct REC;”后面不应该加分号。选项D中的结构体是一个无名结构体类型,REC是结构体变量,不是结构体类型,因此不能用来定义结构体变量。

  • 第16题:

    若有以下结构体,则正确的定义或引用的是( )。 struct Test { int x; int y; } vl;

    A.Test.x=10;

    B.Test v2;v2.x=10;

    C.struet v2;v2.x=10;

    D.struct Test v2={10};


    正确答案:D
    解析:此题考查结构体的定义和引用。选项A)的错误是通过结构体名引用结构体成员;选项B)的错误是将结构体名作为类型名使用;选项C)的错误是将关键字struct作为类型名使用;选项D)是定义变量v2并对其初始化的语句,初始值只有前一部分,这是允许的。

  • 第17题:

    以下程序的功能是:建立一个带有头结点的甲—向链表,并将存储在数组中的字符依次转存到链表的各个结点中,请从与下划线处号码对应的一组选项中选择出正确的选项。

    #include <stdlib.h>

    struct node

    { char data; struct node *next: };

    (1) CreatList(char *s)

    {

    struct node *h,*p,*q;

    h = (struct node *)malloc sizeof(struct node));

    p=q=h;

    while(*s! ='\0')

    {

    p = (struct node *)malloc(sizeof (struct node));

    p->data = (2) ;

    q->next = p;

    q - (3) ;

    S++;

    }

    p->next='\0';

    return h;

    }

    main()

    {

    char str[]="link list";

    struct node *head;

    head = CreatList(str);

    }

    (1)

    A.char*

    B.struct node

    C.struct node*

    D.char


    正确答案:C

  • 第18题:

    已知形成链表的存储结构如下图所示,则下述类型描述中的空白处应填______。 struct link { char data; ______; }node;

    A.struct link next

    B.link * next

    C.struct next link

    D.struct link *next


    正确答案:D
    解析:在单向链表中,由于每个结点需要存储下一个结点的地址,且下一个结点的数据类型与前一个结点的数据类型完全相同,故应为structlink*next。

  • 第19题:

    若有以下结构体定义,则______是正确的引用或定义。 struct example { int x; int y; }v1;

    A.example.x=10

    B.example v2.x=10

    C.example.x=10

    D.struct example v2={10};


    正确答案:D
    解析:在定义结构体变量时,不能只用结构体名example或关键字struct进行定义,必需要用结构体类型名struct example定义,在引用结构体成员变量时,需要用结构体变量名进行引用,所以选D。

  • 第20题:

    设有以下说明语句: struct ex {int x;float y;char z; }example;在下面的叙述中,不正确的一条是______。

    A.struct是结构体类型的关键词

    B.example是结构体类型名

    C.x,y,2都是结构体成员名

    D.struct ex是结构体类型


    正确答案:B
    解析:example是结构体类型变量名,因此选项B的说法是不正确的。

  • 第21题:

    数据结构里,有名为goods的结构体,定义这种结构体的指针变量正确的是()。

    • A、struct p;
    • B、struct goods p;
    • C、struct goods;
    • D、goods p;

    正确答案:B

  • 第22题:

    已知product是结构体类型,定义含有十个元素是该类型的数组不正确的是()。

    • A、struct producta[10];
    • B、struct producta{10};
    • C、struct producta<10>;
    • D、struct producta(10);

    正确答案:B,C,D

  • 第23题:

    定义结构体类型的指针变量格式不正确的是()

    • A、struct结构名指针变量名;
    • B、struct结构名*指针变量名;
    • C、struct*指针变量名结构名;
    • D、struct指针变量名结构名;

    正确答案:A,C,D

  • 第24题:

    单选题
    数据结构中,struct pro { int id; char name[20]; }; void fun(struct pro p[]) { ......;//函数体省略 }关于本程序段描述不正确的是()。
    A

    fun函数是按照值传递进行的

    B

    fun函数是结构体数组作为参数

    C

    结构体数组做参数,属于地址传递

    D

    数组p做参数传递是数组的首地址


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