下列关于结构型变量的定义语句中,错误的是( )A.typedef struct CCCB.define GGG struct { char name[20];GGG CCC { char name[20]; int age; int age; }GGG; }; GGG abc ; GGG CCC abc;C.structD.struct { char name[20]; { char name[20]; int age; int age; }ccc; }abc; CCC abc;

题目

下列关于结构型变量的定义语句中,错误的是( )

A.typedef struct CCC

B.define GGG struct { char name[20];GGG CCC { char name[20]; int age; int age; }GGG; }; GGG abc ; GGG CCC abc;

C.struct

D.struct { char name[20]; { char name[20]; int age; int age; }ccc; }abc; CCC abc;


相似考题
更多“下列关于结构型变量的定义语句中,错误的是( )A.typedef struct CCCB.define GGG struct { char ”相关问题
  • 第1题:

    设有以下语句:Typedef struct TT{char c; int a[4];}CIN;则下面叙述中错误的是( )。A.不可以用TT定义结构体变量B.TT是结构体标识名C.可以用CIN定义结构体变量D.CIN是struct TT类型的变量


    正确答案:D
    类型定义;CIN不是struct II类型的变量,它是struct II类型的代替,即可以用它定义结构体变量。

  • 第2题:

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

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

  • 第3题:

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

    A.typedef struct aa { int n; float m; }AA; AA td1;

    B.#define AA struct aa AA {int n; float m; }td1;

    C.struct {int n; float m; }aa; srtuct aa td1:

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


    正确答案:C
    解析:选项A是先定义一个结构体类型,然后再定义结构体变量。选项B是通过宏替换来定义结构变量的。选项D则是直接定义结构变量。

  • 第4题:

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

    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

  • 第5题:

    以下选项中,能定义s为合法的结构体变量的是( )。

    A.typedef struct abc { double a; char b[10]; } s;

    B.struct { double a; char b[10]; }s;

    C.struct ABC { double a; char b[10]; } ABC s;

    D.typedef ABC { double a; char b[10]; } ABC s;


    正确答案:B
    解析:定义一个结构体类型的变量,可采用三种方法:①先定义结构体类型,再定义变量名。②在定义类型的同时定义变量。③直接定义结构体类型变量,即不出现结构体名。选项B)符合第三种定义方法。

  • 第6题:

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

    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)为用户自定义类型,其为正确的定义形式。

  • 第7题:

    设有以下语句

    typedef struct S

    { int g; char h; } T;

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

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

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

    C.S是struct类型的变量

    D.T是struct S类型的变量


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

  • 第8题:

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

    A.typedef struct aa { int n; float m; }aa; aa td1;

    B.#define aa struct aa aa{ int n; float m; }td1;

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

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


    正确答案:C
    解析:本题的考查点是结构体类型变量的定义。在选项C中,aa是—个结构体变量,而不是结构体名,所以structaatd1;是非法的。

  • 第9题:

    设有以下语句: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选项正确。

  • 第10题:

    以下选项中,能定义s为合法的结构件变量的是_______。

    A.typedef struct abc { double a; char b[10]; }s;

    B.struct { double a; char b[10]; }s

    C.struct ABC { double a; char b[10]; } ABCs;

    D.typedef ABC { double a; char b[10]; } ABCs;


    正确答案:B
    解析:定义一个结构体类型的变量,可采用三种方法:①先定义结构体类型,再定义变量名;②在定义类型的同时定义变量;③直接定义结构类型变量,即不出现结构体名;选项B符合第三种定义方法。

  • 第11题:

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

    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

  • 第12题:

    单选题
    若有以下程序: 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选项。

  • 第13题:

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

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

    B.TT是struct类型的变量

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

    D.CIN是struct TT类型的变量


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

  • 第14题:

    下面结构体的定义语句中,错误的是( )。 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选项错误。

  • 第15题:

    以下选项中不能正确把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)不符合结构体类型定义的语法规则。

  • 第16题:

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

    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

  • 第17题:

    以下对结构体类型变量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本身就为结构体变量名,所以不能再用它来定义结构体变量,故此种定义方法是错误的。

  • 第18题:

    若定义下列结构体,结构体变量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。

  • 第19题:

    设定义下列结构体,结构体变量p的出生年份赋值正确的语句是( )。

    Struct st

    { int x;

    inty;

    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。

  • 第20题:

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

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

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

    C.S是struct类型的变量

    D.T是struct S类型的变量


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

  • 第21题:

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

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

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

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

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


    正确答案:C
    解析: 本题的考点是C语言结构体的定义和自定义类型typedef。对于选项A,首先用typedef将结构体自定义为AA,再用AA定义结构体变量td是正确的。对于选项B首先定义结构体类型aa,再用struct aa定义结构体变量td也是正确的。选项D直接用无名结构体定义结构体变量td也是正确的。而选项C中,首先用无名结构体定义了结构体变量aa,再用结构体变量aa去定义结构体变量td是完全错误的。因此正确选项是C。

  • 第22题:

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

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

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

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

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


    正确答案:C
    解析:选项A使用typedef语句给结构体aa定义了—个新的名称AA,因此使用AA直接声明结构体变量td是正确的。选项B中,前面一句是定义结构体同时声明了结构体变量td,后一句是使用结构体名sa声明结构体变量td,都是正确的写法。选项C的第1条语句和选项D使用的是无名结构体直接声明变量的语法,是正确的,但是选项C的第2条语句使用已经声明的结构体变量aa来声明td是错误的.故应该选择C。

  • 第23题:

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

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

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

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

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


    正确答案:C
    解析:选项A使用typedef语句给结构体8a定义了一个新的名称AA,因此使用AA直接声明结构体变量td是正确的。选项B中,前面一句是定义结构体同时声明了结构体变量td,后一句是使用结构体名aa声明结构体变量td,都是正确的写法。选项C的第1条语句和选项D使用的是无名结构体直接声明变量的语法,是正确的,但是选项C的第2条语句使用已经声明的结构体变量aa来声明td是错误的。故应该选择c。