itgle.com

已知函数的原形如下,其中结构体a为已经定义过的结构,且有下列变量定义 struct a*f(int t1,int*t2,strcut a t3,struct a*t4) struct a p,*p1;int i; 则正确的函数调用语句为A.&p=f(10,&i,p,p1);B.p1=f(i++,(int*)p1,p,&p);C.p=f(i+1,&(i+2),*p,p);D.f(i+1,&i,p,p);

题目

已知函数的原形如下,其中结构体a为已经定义过的结构,且有下列变量定义 struct a*f(int t1,int*t2,strcut a t3,struct a*t4) struct a p,*p1;int i; 则正确的函数调用语句为

A.&p=f(10,&i,p,p1);

B.p1=f(i++,(int*)p1,p,&p);

C.p=f(i+1,&(i+2),*p,p);

D.f(i+1,&i,p,p);


相似考题
更多“已知函数的原形如下,其中结构体a为已经定义过的结构,且有下列变量定义struct a*f(int t1,int*t2, ”相关问题
  • 第1题:

    以下对结构体类型变量的定义中,不正确的是

    A.typedef struct aa

    { int n;

    float m;

    }AA;

    AA tdl;

    B.#define AA struct aa

    AA{ int n;

    float m;

    } tdl;

    C.struct

    { int n;

    float m;

    } aa;

    struct aa tdl;

    D.struct

    { int n;

    float m;

    } tdl;


    正确答案:C

  • 第2题:

    已知函数的原形如下,其中结构体a为已经定义过的结构,且有下列变量定义

    struct a *f(int t1,int *t2,strcut a t3,struct a *t4)

    struct a p,*p1;int i;

    则正确的函数调用语句为

    A.&p=f(10,&i,p,p1);

    B.p1=f(i++,(int *)p1,p,&p);

    C.p=f(i+1,&(i+2),*p,p);

    D.f(i+1,&i,p,p);


    正确答案:B

  • 第3题:

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

    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是结构体变量,不是结构体类型,因此不能用来定义结构体变量。

  • 第4题:

    以下定义的结构体类型拟包含两个成员,其中成员变量info用来存入整形数据;成员变量link是指向自身结构体的指针,请将定义补充完整。

    struct node

    { int info;

    【19】link;

    };


    正确答案:
    struct node *

  • 第5题:

    以下选项中不能正确把c1定义成结构体变量的是

    A.typedef struct {int red: int green: int blue; } COLOR; COLOR c1;

    B.struct color c1 {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 ;


    正确答案:B
    解析:本题考核的知识点是结构体类型定义。结构体类型的定义格式为:strcut结构体名{成虽说明列表};结构体变量的定义有3种形式:第一种,定义结构体型的同时定义结构体变量,如:strcut结构体名{成员说明列表}变量;选项C属于这种情况,故选项C正确:第二种,先定义一个结构体类型,然后使用该类型来定义结构体变量,如:strcutstudent{成员说明列表}:student变量;选项A属于这种情况,故选项A正确;第三种,定义一个无名称的结构体类型的同时定义结构体变量,如:strcutstudent{成员说明列表}变量;选项D属于这种情况,故选项D正确.所以,4个选项中选项B符合题意。

  • 第6题:

    下列对结构及其变量定义错误的是( )。

    A.struct My Struct

    B.struct MyStruct{ {int num; int num;char ch; char ch;} }My;

    C.strut

    D.struct{ {int num; int num;char ch; char ch;}My; };


    正确答案:D

  • 第7题:

    以下对结构体类型变量td的定义中,错误的是 ______。

    A.typedef struct aa

    B.struct aa {int n; {int n; float m; float m; }AA; }td; AAtd; struct aa td;

    C.struct

    D.struct {int n; {int n; float m; float m; }aa; }td; struct aa td;


    正确答案:C
    解析:选项C中的aa本身就为结构体变量名,所以不能再用它来定义结构体变量,故此种定义方法是错误的。

  • 第8题:

    若定义下列结构体,结构体变量p的出生年份赋值正确的语句是( )。 struct st { int x; int y; int z; } struct worker { char name[20]; char sex; struct st birth; }p;

    A.x=1987

    B.birth.x=1987;

    C.p.birth.x=1987;

    D.p.x=1987;


    正确答案:C
    解析: 本题主要考查怎样为嵌套定义的结构中的成员赋值:由于worker中的birth是一个st型的结构,在给birth赋值时,不能将birth作为一个整体,要用“.”运算再深入一层访问到最基本的成员x、y、z。

  • 第9题:

    下面结构体的定义语句中,错误的是( )。

    A.struct ord{int x;int Y;int z;}struct ord a;

    B.struct ord{int x;im Y;im z;};struct ord a;

    C.struct ord{int x;int Y;int Z;}a;

    D.struct{int x;int Y;int z;}a;


    正确答案:A
    A选项stnletonl{intx;inty;int2;struetoraa;错误,不能在定义结构体的同时,又用结构体类型名定义变量。应该写成B选项或者D选项的格式。

  • 第10题:

    设有以下语句:typedef struct TY{char C;int a{4 1;}CIN;

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

    A.CIN是struct Tr类型的变量

    B.TT是struct类型的变量

    C.可以用,lr定义结构体变量

    D.可以用CIN定义结构体变量


    正确答案:D
    本题考查typcdef重新声明一种结构体类型,其中CIN为结构体类型名,而不是结构体变量,所以D选项正确。

  • 第11题:

    以下对结构体类型变量td的定义中,错误的是( )。

    A.typcdef struct aa { int n; float m; } AA; AA td;

    B.struct aa {int n; float m; } struct aa td;

    C.struct {int n; float m; } aa; struct aa td;

    D.struct {int n; float m; }td;


    正确答案:C
    解析:选项A)中typedef的作用是声明一个新的类型名AA代替已有的结构体类型名struetaa,然后用AA定义结构体类型变量td;选项B)直接用结构体类型名structaa定义结构体类型变量td;选项C)中的aa本身就为结构体变量名,所以不能再用它来定义结构体变量,该项错误;选项D)省去了结构体名,直接将td定义为结构体变量,正确。

  • 第12题:

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

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

    B

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

    C

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

    D

    struct{int n;char c;}REC;


    正确答案: A
    解析:
    A项,用typedef定义结构体类型名REC后,可以用REC定义变量。B项,“struct REC;”后面不应加分号;C项,没有这样的书写形式;D项,REC定义的是一个变量,不是结构体类型,因此不能用来定义结构体变量。答案选择A选项。

  • 第13题:

    下面结构体的定义语句中,错误的是

    A)struct ord {int x;int y;int z;}; struct ord a;

    B)struct ord {int x;int y;int z;} struct ord a;

    C)struct ord {int x;int y;int z;} a;

    D)struct {int x;int y;int z;} a;


    正确答案:B

     

  • 第14题:

    设有以下语句 typedef struct TT {char c; int a[4];}CIN; 则下面叙述中正确的是______。

    A.可以用TT定义结构体变量

    B.TT是struct类型的变量

    C.可以用CIN定义结构体变量

    D.CIN是struct TT类型的变量


    正确答案:D
    解析:此题中说明了—个结构体类型struct TT的同时,定义了一个结构体变量CIN,结构体变量中的各成员在内存中按说明中的顺序依次排序。

  • 第15题:

    下面结构体的定义语句中,错误的是( )。

    A.struct ord{int x;int y;int z;};struct ord a;

    B.struct ord{int x;int y;int z;};ord a;

    C.struct ord{int x;int y;int z;}a;

    D.struct{int x;int y;int z;}a;


    正确答案:B

  • 第16题:

    下面结构体的定义语句中,错误的是( )。 A.struct ord{int x;int Y;int Z;};struet ord a;SXB

    下面结构体的定义语句中,错误的是( )。

    A.struct ord{int x;int Y;int Z;};struet ord a;

    B.struct ord{int x;int y;int Z;}struct ord a;

    C.struct ord{int X;int Y;int Z;}a;

    D.struct{int X;int y;int Z;}a;


    正确答案:B
    结构体定义的类型说明的一般形式为:struct结构体标识名{类型名1结构成员名表l;类型名2结构成员名表2;···};。注意:①结构体说明同样要以分号结尾;②紧跟在结构体类型说明之后进行定义;③在说明一个无名结构体类型的同时,直接进行定义;④先说明结构体类型,再单独进行变量定义等。所以B选项错误。

  • 第17题:

    以下选项中不能正确把cl定义成结构体变量的是

    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; } cl;


    正确答案:B
    解析:选项A)是把结构体类型改名后定义为变量cl。选项C),D)则是在定义结构体类型时定义变量,而选项B)不符合结构体类型定义的语法规则。

  • 第18题:

    以下选项中不能正确把c1定义成结构体变量的是

    A.typedef struct { int red; int green;; int blue; }COLOR; COLOR cl;

    B.struct color cl { int red; int green; int blue; };

    C.struet color { int red; int green; int blue; }c1;

    D.struct { int red; int green; int blue; }cl;


    正确答案:B
    解析:结构体类型的定义格式为:
      stract结构体名
      成员说明列表};
      结构体变量的定义有3种形式:第一种,定义结构体类型的同时定义结构体变量,如: street结构体名{成员说明列表}变量;第二种,先定义一个结构体类型,然后使用该类型来定义结构体变量,如:strect student{成员说明列表};student变量;第三种,定义一个无名称的结构体类型的同时定义结构体变量,如:strect student{成员说明列表}变量;。

  • 第19题:

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

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

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

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

    D.stmct { int n; char c;} REC; REC t1,t2;


    正确答案:A
    解析:定义结构体类型的一般形式为:struct结构体名{成员列表}:struct结构体名后不能加“:”号,所以选项B)、C)错误,选项D)中定义无名称的结构体类型同时定义结构体变量形式应为struet t1,t2;选项A)为用户自定义类型,其为正确的定义形式。

  • 第20题:

    设有以下语句

    typedef struct S

    { int g; char h; } T;

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

    A.可用S定义结构体变量

    B.可以用T定义结构体变量

    C.S是struct类型的变量

    D.T是struct S类型的变量


    正确答案:A
    解析:S是自定义的一种结构体类型,T是S类型声明的一个变量。

  • 第21题:

    若有以下语句:typedef struct S{int 9;char h;}T;以下叙述中正确的是( )。

    A.可用s定义结构体变量

    B.可用T定义结构体变量

    C.S是struct类型的变量

    D.T是struct S类型的变量


    正确答案:B
    本题考查typledef重新声明一种结构体类型,那么T为结构体类型,而不是结构体变量,所以B选项正确。

  • 第22题:

    下列对结构及其变量定义错误的是( )。

    A.struct My Struct { int num; char ch; }

    B.struct MyStruct { int num; char ch; }My;

    C.strut { int num; char ch; }My;

    D.struct { int num; char ch; };


    正确答案:D

  • 第23题:

    已知函数原型为:structtree*f(intx1,int*x2,structtreex3,structtree*x4),其中tree为已定义的结构体类型,且有下列变量定义:structtreept,*p;inti;请选择正确的函数调用语句()

    • A、&pt=f(10,&i,pt,p);
    • B、p=f(i++,(int*)p,pt,&pt);
    • C、p=f(i+1,&(i+2),*p,p)
    • D、f(i+1,&i,p,p);

    正确答案:B

  • 第24题:

    单选题
    若有以下程序: typedef struct S {int g;char h;}T; 以下叙述中正确的是(  )。
    A

    可用S定义结构体变量

    B

    可用T定义结构体变量

    C

    S是struct类型的变量

    D

    T是struct S类型的变量


    正确答案: D
    解析:
    AC两项,S是定义的结构体的名字,并不是struct类型的变量也不可用来定义结构体变量;D项,题目中T定义为struct S类型,即T被定义为一个类型名,而不是变量。答案选择B选项。