itgle.com
更多“设有定义:struct sk {int a;float b;} data,* p; 若有p= data;,则对data中的a域的正确引用是 ( )A.(* p).data.aB.(* p).aC.p->data.aD.p.data.a”相关问题
  • 第1题:

    设有如下定义:

    struck sk

    { int a;

    float b;

    } data;

    int *p;

    若要使P指向data中的a域,正确的赋值语句是

    A.p=&a;

    B.p=data.a;

    C.p=&data.a;

    D.*p=data.a;


    正确答案:C

  • 第2题:

    已知:structsk{inta;floatb;}data,*p;若有p=data,则对data中的成员a的正确引用是()。

    A.(*p).data.a

    B.(*p).a

    C.p-data.a

    D.p.data.a


    正确答案:B

  • 第3题:

    设有如下定义: struct sk { int a;float b; } data; int *p; 若要使p指向data中的a域,正确的赋值语句是( )。

    A.p=&a;

    B.p=data.a;

    C.p=&data.a;

    D.p=a;


    正确答案:C
    解析:要注意不能将结构体变量作为一个整体进行输入和输出,只能对结构体变量中的各个成员进行输入和输出。引用结构体变量中成员的方式有以下几种:结构体变量名.成员名;指针变量名->成员名;(*指针变量名).成员名。

  • 第4题:

    函数min()的功能是:在带头结点的单链表中查找数据域中值最小的结点。请填空includestruc

    函数min()的功能是:在带头结点的单链表中查找数据域中值最小的结点。请填空

    include <stdio.h>

    struct node

    { int data;

    struct node *next;

    };

    int min(struct node *first)/*指针first为链表头指针*/

    { struct node *p; int m;

    p=first->next; re=p->data; p=p->next;

    for( ;p!=NULL;p=【 】)

    if(p->data<m ) re=p->data;

    return m;

    }


    正确答案:p->next
    p->next 解析:本题考查的知识点是:链表的筛选。题目要求筛选出链表中最小的值,所以需要先定义一个临时变量,并将第1个值赋给该变量,就好像本题程序中定义的变量 m。然后遍历整个链表,拿链表中的每一个值跟m比较,如果找到比m小的值,就让m等于该值,这样遍历结束后,m中就是该链表的最小值了。题目中的空位于for循环的第3个表达式处,这里的for循环就是用来遍历整个链表的,所以该表达式需要完成的任务是:将循环变量p指向当前结点的下一个结点。故不难得知应填p->next。

  • 第5题:

    设有下列定义: struct sk { int m; float x; )dara,*q; 若要使q指向data中的m域,正确的赋值语句是( )。

    A.q=&data.m;

    B.*q=data.m;

    C.q=(struct sk*)&data.m;

    D.q=(struct sk*)data.m;


    正确答案:C
    解析: 利用强制类型转换(struct sk*),把整数型地址&data.m转换成结构体变量指针赋给结构体指针变量q。

  • 第6题:

    设有如下定义:

    struct sk

    { int n;

    float x; } data, *p;

    若要使p指向data中的n域,正确的赋值语句是

    A.p=&data.n;

    B.*p=data.n;

    C.p=(struct sk*)&data.n;

    D.p=(struct sk*)data.n;


    正确答案:C
    解析:本题主要考查了结构体变量引用成员数据的方法,主要有以下几种:结构体变量名.成员名或结构体指针->成员名的方法来引用结构体成员。

  • 第7题:

    设有以下定义: struck sk { int a; float b; }data; int *p; 若要使p指向data中的a域,正确的赋值语句是( )。

    A.p=&a;

    B.p=data.a;

    C.p=&data.a;

    D.*p=data.a;


    正确答案:C
    解析:p定义为指针变量。选项A中对结构体分量a的引用错误,应为data.a。选项B中data.a是取分量的值,它是一个整型数据,而p的值应为地址,所以不能将data.a赋值给p。&为取地址符,取分量data.a的地址赋值给p,是正确的赋值语句。*是间接访问运算符,选项D中的浯句是将分量data.a的值赋值给p所指存储单元,*p相当于一个变量,而不能实现使p指向data中的a域。

  • 第8题:

    已知有结构体:

    struct sk

    { iht a;

    float b;

    )data,*p;

    若有p=&data,则对data的成员a的正确引用是( )。

    A.(*p).data.a

    B.(*p).a;

    C.p->data.a

    D.p.data.a


    正确答案:B
    解析:本题主要考查结构指针:p=&data,访问结构体的成员,可以通过结构变量访问,即data.a,也可以用等价的指针形式:(*p).a和p->a来访问结构体变量中的成员。

  • 第9题:

    假设有如下定义:struct a{int n;float k}data,*p;若要使p指向data中的成员n,正确的赋值语句是

    A.p=&data.n;

    B.*p=data.n;

    C.p=(struct a*)&data.n;

    D.p=(struct a*)data.n;


    正确答案:C
    解析:可以通过强制类型转换(structa*)完成指针赋值。选项A)中&data.n取的是结构体中成员的地址而不是结构的地址,尽管这两个地址的值是相同的,但仍然不允许进行相互赋值;选项B)中的指针p还没有指向一个具体的空间,给其赋值没有意义;选项D)把一个整型变量强制转化为结构类型的指针没有任何实在意义。

  • 第10题:

    设有如下定义,若有p=&ab;,则对ab中成员项的正确引用是( )。structss{inta;floatb;}ab,*p;

    A.(*p).ab.a

    B.p->a

    C.p->ab.a

    D.p.ab.a


    正确答案:B

  • 第11题:

    若有如下定义:  struct sk{      int a;  int b;  }data,*p=&data;  则对data中的成员x的正确引用的是()。 

    • A、(*p).a
    • B、(*p).data.a
    • C、p->data.a
    • D、p.data.a

    正确答案:A

  • 第12题:

    单选题
    若有如下定义:  struct sk{      int a;  int b;  }data,*p=&data;  则对data中的成员x的正确引用的是()。
    A

    (*p).a

    B

    (*p).data.a

    C

    p->data.a

    D

    p.data.a


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

  • 第13题:

    已知有结构体: struct sk { int a; float b; }data,*p; 若有p=&data,则对data的成员a的正确引用是( )。

    A.(*p).data.a

    B.(*p).a;

    C.p->data.a

    D.p.data.a


    正确答案:B
    解析:本题主要考查结构指针:p=&data,访问结构体的成员,可以通过结构变量访问,即data.a,也可以用等价的指针形式:(*p).a和p->a来访问结构体变量中的成员。

  • 第14题:

    已知有如下结构体:

    struct sk

    { int a; float b; }data,*p;

    若有P=&data,则对data的成员a引用正确的是( )。

    A.(*p).data.a

    B.(*p).a;

    C.p->data.a

    D.p.data.a


    正确答案:B
    本题主要考查结构指针:P=&data,访问结构体的成员。它可以通过结构变量访问,即data,可以用等价的指针形式:(*p).a和P->a来访问结构体变量中的成员。

  • 第15题:

    已知bead指向一个带头结点的单向链表,链表中每个结点包含数据域(data)和指针域(next),数据域为整型。以下函数求出链表中所有连接点数据域的和值作为函数值返回。请在横线处填入正确内容。

    { int data; struct link *next;}

    main()

    { struct link *head;

    sam(______);

    {stmct link *p;int s=0;

    p=head->next;

    while(p){s+=p->data;p=p->next;}

    return(s);}


    正确答案:

  • 第16题:

    设有如下定义: struct sk { int a; float b; }data; int *p; 若要使p指向data中的a域,正确的赋值语句是 ( )

    A.p=&a;

    B.p=data.a;

    C.p=&data.a,

    D.*p=data.a;


    正确答案:C

  • 第17题:

    设有下列定义:

    struct sk

    { int m;

    float x;

    }data,*q;

    若要使q指向data中的m域,正确的赋值语句是( )。

    A.q=&data.m;

    B.*q=data.m;

    C.q=(struct sk*)&data.m;

    D.q=(struct sk*)data.m;


    正确答案:C
    解析:利用强制类型转换(street sk*),把整数型地址&data.m转换成结构体变量指针赋给结构体指针变量q。

  • 第18题:

    设有如下定义: struct sk { int m; float x; }data,*q; 若要使q指向data中的m域,正确的赋值语句是( )。

    A.q=&data.m;

    B.*q=data.m;

    C.q=(struct sk*)&data.m;

    D.q=(struct sk*)data.m;


    正确答案:C

  • 第19题:

    没有如下定义: Struct sk { int a; float b; }data; int *p; 若要使P指向data中的a域,正确的赋值语句是

    A.p=&a;

    B.p=data.a;

    C.p=&data.a;

    D.*p=data.a;


    正确答案:C
    解析:data是一结构体变量,a是它的成员,因此引用a域的正确方法是:data.a,取它的地址赋值给指针变量p的语句应该是:p=&data.a。选项A,将a的地址直接赋给了p,而忽略了a为结构体内部的一个成员,而不是一单独的变量,故选项A不正确;选项B在p=data.a表达式中右边为一个结构体变量的成员不是地址,而左边为一指针应该将一地址赋给它,改选项B不正确:选项D表达式*p=data.a是将结构体变量中的成员a的值赋给指针p所指向的变量值,而不是使指针p指向data中的a域,故选项D不正确;4个选项中只有C正确。

  • 第20题:

    已知有结构体: struct sk { int a; float b; }data,*p; 若有p=&data, 则对data的成员a的正确引用是( )。

    A.(*p).data.a

    B.(*p).a

    C.p->data.a

    D.p.data.a


    正确答案:B
    解析:本题主要考查结构指针:p=&data,访问结构体的成员,可以通过结构变量访问,即data.a也可以用等价的指针形式:(*p).a和p->a来访问结构体变量中的成员。

  • 第21题:

    设有如下定义: struct sk { int a;float b;}data,* p; 若有p=& data;,则对data中的a域的正确引用是 ( )

    A.(* p).data

    B.(* p).a

    C.p->data

    D.p.data. a


    正确答案:B

  • 第22题:

    设有如下定义:

    struct sk

    { int m;

    floatx;

    }data,*q;

    若要使q指向data中的m域,正确的赋值语句是( )。

    A)q=&data.m;

    B)*q=data.m;

    C)q=(struct sk*)&data.m;

    D)q=(struct sk*)data.m;


    正确答案:C

  • 第23题:

    设有如下定义,structsk{inta;floatb;}data,*p=&data;则对data中的a成员的正确引用是()。

    • A、(*p).data.a
    • B、(*p).a
    • C、p->data.a
    • D、p.data.a

    正确答案:B