更多“ 以下选项中,能定义S为合法的结构体变量的是( )。A.B.C.D. ”相关问题
  • 第1题:

    有以下结构体说明、变量定义和赋值语句 struct STD { char name[10]; int age; char sex; }s[5],*ps; ps=&s[0]; 则以下scanf函数调用语句中错误引用结构体变量成员的是______。

    A.scanf("%s",s[0].name);

    B.scanf("%d",&s[0].age);

    C.scanf("%c",&(ps->sex));

    D.scanf("%d",ps->age);


    正确答案:D
    解析:要给结构体成员输入数据,在scanf语句中需要使用结构体成员的地址。函数scanf是C语言的标准输入函数,其作用是在终端设备上输入数据,而且要求输入项必须是某个存储地址。选项A中是引用结构体数组s的第0个元素s[0]的name成员,name是包含10个元素的数组,数组名就表示数组的地址,也就代表s[0].name的地址,所以选项A是正确的。选项B显然也是正确的,选项C是先用指针变量引用结构体的成员sex后取它的地址,也是正确的。选项D用指针变量引用结构体的成员sex后没有再继续取其地址,所以是错误的。

  • 第2题:

    设有以下语句: typedef street S { int g; char h;} T;则下面叙述中正确的是( )。

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

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

    C.S是struct类型的变量

    D.T是struct S类型的变量


    正确答案:B
    解析:可以用typedef定义新的类型名来代替已有的类型名。T是所定义的新的类型名,它代表题中定义的一个结构体类型,这样就可以用T定义结构体变量了。

  • 第3题:

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

    A.

    B.

    C.

    D.


    正确答案:A
    本题考查的是typedef的用法和结构体变量的定义方法。typedef可用于声明结构体类型,其格式为“typedefstruct{结构元素定义}结构类型;”。本题正确答案为A)。

  • 第4题:

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

    A.

    B.

    C.

    D.


    参考答案:C

  • 第5题:

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


    正确答案:B
    本题考查结构体的相关知识,选项A中structREC后面不能有分号,C选项中typedefstructREC的后面也不能有分号,选项D中REC已经是结构体变量,不能当做结构体类型来使用。

  • 第6题:

    下列说法不正确的是( )

    A.下列结构体定义时,占据了5个字节的空间 struct s {int num; int age; char sex; }

    B.结构体的成员名可以与程序中的变量名相同

    C.对结构体中的成员可以单独使用,它的作用相当于普通变量

    D.结构体的成员可以是一个结构体变量


    正确答案:A

  • 第7题:

    以下结构体说明和变量定义中,正确的是


    正确答案:A
    本题考查typedef的使用方法,typedef对已存在的类型使用一个新的名字,选项A中ABC为新的类型别名,定义正确。

  • 第8题:

    下列选项中,能正确定义数组的语句是( )。

    A.

    B.

    C.

    D.


    正确答案:D
    选项A)不符合c语言的语法要求;选项B)中没有指定数组的大小;选项c)中数组大小不能用变量来指定。

  • 第9题:

    数据结构里,下列选项中是定义结构体类型的指针变量的格式的是()。

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

    正确答案:A

  • 第10题:

    多选题
    下列选项中是定义结构体类型的指针变量的格式不正确的是()。
    A

    struct结构名 指针变量名

    B

    struct结构名 变量名

    C

    static结构名 指针变量名

    D

    struct指针变量名 结构名


    正确答案: C,B
    解析: 暂无解析

  • 第11题:

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

    CIN是structTT类型的变量

    B

    TT是struct类型的变量

    C

    可以用TT定义结构体变量

    D

    可以用CIN定义结构体变量


    正确答案: C
    解析:
    CIN使用typedef定义的类型名,可以用来定义结构体TT类型的变量。答案选择D选项。

  • 第12题:

    多选题
    数据结构里,下列选项中是定义结构体类型的指针变量的格式不正确的是()。
    A

    struct结构名指针变量名

    B

    struct结构名变量名

    C

    static结构名指针变量名

    D

    struct指针变量名结构名


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

  • 第13题:

    下列变量定义中,错误的是______。

    A) int x=3;

    B) float f;d;

    C) String s="Hello!";

    D) boolean b=true;

    A.

    B.

    C.

    D.


    正确答案:B

  • 第14题:

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

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

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

    C.S是struct类型的变量

    D.T是stnictS类型的变量


    正确答案:B
    解析:本题使用typedef关键字将整个结构体的定义部分stmctS{intg;charh;}声明为别名T。此时T是一个结构体类型,可以直接使用T声明该结构体变量,而S只是一个结构体名,必须结合struct关键字才能声明变量。故本题的正确答案为B。

  • 第15题:

    以下选项中,能定义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)符合第三种定义方法。

  • 第16题:

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

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

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

    C.S是struct类型的变量

    D.T是struct S类型的变量


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

  • 第17题:

    设有以下程序段:

    以下叙述正确的是( )。

    A.只有变量c的定义是合法的

    B.只有变量a,b,c的定义是完全合法的

    C.所有变量的定义都是完全合法的

    D.只有变量a,b的定义是完全合法的


    正确答案:D
    float“8]={1.0,2.0};定义了一个包含8个float型元素的数组,并初始化了数组的前2项,其他项是随机数。intb[1]={0},定义了只有一个int型元素的数组,并初始化为0。charc[]={¨A”,”B¨};定义一个char型数组,大小有初始化元素决定,但初始化值是字符串,类型不兼容,编译出错。chard=…1’;定义一个char型变量,但是初始化赋值字符串,类型不兼容,编译出错。因此只有a,b定义和初始化正确。故答案为D选项。

  • 第18题:

    以下选项中,能定义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符合第三种定义方法。

  • 第19题:

    以下能正确定义一维数组的选项是( )。

    A.

    B.

    C.

    D.


    正确答案:B
    选项A)中,定义的初值个数大于数组的长度;选项C)中,数组名后少了中括号;选项D)中,整型数组不能赋予字符串。

  • 第20题:

    设有以下语句 typedef struct s {int g;char h;}T 则下面叙述中正确的是

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

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

    C.S是struct类型的变量

    D.T是structS类型的变量


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

  • 第21题:

    单选题
    设有如下语句 typedef struct Date  {  int year;  int month;  int day; } DATE; 则以下叙述中错误的是(  )。
    A

    DATE是用户定义的结构体变量

    B

    struct Date是用户定义的结构体类型

    C

    DATE是用户说明的新结构体类型名

    D

    struct是结构体类型的关键字


    正确答案: A
    解析: C语言允许用typedef说明一种新类型名,其一般形式如下:typedef 类型名 新类型名;,题目中定义了新类型Date,这种类型变量包含3个成员,DATE是这种新类型的名字,不是结构体变量,C项正确,A项错误。struct Date是用户定义的结构体类型,B项正确。struct是结构体类型的关键字,D项正确。答案选择A选项。

  • 第22题:

    多选题
    下列选项中关于结构体普通变量定义的格式不正确的是()。
    A

    struct结构名变量名

    B

    static结构名变量名

    C

    function结构名变量名

    D

    struct变量名结构名


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

  • 第23题:

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