itgle.com
参考答案和解析
正确答案: A
解析:
A项,用typedef定义结构体类型名REC后,可以用REC定义变量。B项,“struct REC;”后面不应加分号;C项,没有这样的书写形式;D项,REC定义的是一个变量,不是结构体类型,因此不能用来定义结构体变量。答案选择A选项。
更多“以下结构体类型说明和变量定义中正确的是(  )。”相关问题
  • 第1题:

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

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

    B.TT是struct类型的变量

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

    D.CIN是struct TT类型的变量


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

  • 第2题:

    有以下程序段:以下叙述中正确的是( )。

    A.以上的说明形式非法

    B.NODE是一个结构体类型

    C.OLD是一个结构体类型

    D.OLD是一个结构体变量


    正确答案:C
    本题考查的是结构体的定义。typedef关键字用于声明一个新的类型名代替已有的类型名。本题中如果没有用typedef进行定义,则struetNODE为结构体类型,现在用typedef定义后,相当于用0LD代表了struetNODE这一结构体类型,故0LD为结构体类型。

  • 第3题:

    设有以下说明语句: struct stu { int a; float b; }stutype; 则下面叙述不正确的是( )。

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

    B.structstu是用户定义的结构体类型

    C.stutype是用户定义的结构体类型名

    D.a和b都是结构体成员名


    正确答案:C
    解析:定义一个结构的一般形式为:struct结构体名{成员列表}变量名列表;本题中的stutype是在声明结构体类型structstu的同时定义的该结构体变量,而不是用户定义的结构体类型名。

  • 第4题:

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

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

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

    C.S是struct类型的变量

    D.T是struct S类型的变量


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

  • 第5题:

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

  • 第6题:

    有以下结构体说明、变量定义和赋值语句

    A.A

    B.B

    C.C

    D.D


    正确答案:A
    ps一>age不是地址,不能用于scanf函数中。所以选择A)。

  • 第7题:

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


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

  • 第8题:

    下面对结构数据类型的叙述中,()是错的。

    • A、结构变量可以在说明结构类型后定义,也可在说明结构时定义
    • B、结构可由若干个成员组成,各成员的数据类型可以不同
    • C、定义一个结构类型后,编译程序要为结构的各成员分配存储空间
    • D、结构变量的各成员可通过结构变量名和指向结构变量的指针引用

    正确答案:C

  • 第9题:

    设有以下说明语句:structstu {int a;floatb;}s;下面的叙述不正确的是()

    • A、struct是结构体类型的关键字
    • B、structstu是用户定义的结构体类型
    • C、s是用户定义的结构体类型名
    • D、a和b都是结构体成员名

    正确答案:C

  • 第10题:

    设有以下说明语句:typedefstruct{intn;charch[8];}PER;则下面叙述中正确的是()

    • A、PER是结构体变量名
    • B、PER是结构体类型名
    • C、typedefstruct是结构体类型
    • D、struct是结构体类型名

    正确答案:B

  • 第11题:

    设有以下结构类型说明和变量定义,则变量a在内存所占字节数是().   struct stud { char num[8]; int s[4]; double ave; } a,*p; 


    正确答案:32

  • 第12题:

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

    CIN是structTT类型的变量

    B

    TT是struct类型的变量

    C

    可以用TT定义结构体变量

    D

    可以用CIN定义结构体变量


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

  • 第13题:

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

    A.

    B.

    C.

    D.


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

  • 第14题:

    设有如下说明:以下说法正确的是( )。

    A.NEW是一个结构体变量

    B.NEW是一个结构体类型

    C.ST是一个结构体类型

    D.以上说明形式非法


    正确答案:B
    以上形式定义NEW表示sT的结构类型,然后可以用NEW来说明结构体变量。因此选项B)正确。

  • 第15题:

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

    A.A

    B.B

    C.C

    D.D


    正确答案:A
    B)选项和C)选项中,REC后不应加分号,D)选项,没有typedef,REC能作为类型名。所以答案选择A):

  • 第16题:

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


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

  • 第17题:

    设有以下说明语句: typedef struct { int n; char ch[8]; }PER; 则下面叙述中,正确的是( )。

    A.PER是结构体变量名

    B.PER是结构体类型名

    C.typedef struct是结构体类型

    D.struct是结构类型名


    正确答案:B
    解析:本题考核用typedef定义自己的变量类型。C++语言允许定义用关键字typedef所命名的新的数据类型。实际上,没有建立一个新的数据类型,而仅是对存在的类型定义了一个新的名字。所定义的新名是现有的类型名的补充,而不是取代。

  • 第18题:

    以下对C语言中共用体类型数据的正确叙述是______。

    A.可以对共用体变量名直接赋值

    B.一个共用体变量中可以同时存放其所有成员

    C.一个共用体变量中不能同时存放其所有成员

    D.共用体类型定义中不能出现结构体类型的成员


    正确答案:C
    解析:共用体变量中的所有成员共享一段公共存储区,并非同时存放于共用体变量中,如共用体变量中有两个成员,int型成员占两个字节,float型成员占4个字节,则该共用体变量占4个字节,并非2+4=6个字节。

  • 第19题:

    若有以下说明语句:structstudent{intnum;charname[];floatscore;}stu;则下面的叙述不正确的是:()

    • A、struct是结构体类型的关键字
    • B、structstudent是用户定义的结构体类型
    • C、num,score都是结构体成员名
    • D、stu是用户定义的结构体类型名

    正确答案:D

  • 第20题:

    有以下说明语句:struct Point{int x;int y;};则叙述正确的是()

    • A、正确的结构类型说明
    • B、正确的结构变量说明
    • C、错误的原因是结构中成员类型相同
    • D、无意义的说明

    正确答案:A

  • 第21题:

    若有以下说明和定义:typedefint*INTEGER INTEGERp,*q;以下叙述正确的是()

    • A、p是int型变量
    • B、p是基类型为int的指针变量
    • C、q是基类型为int的指针变量
    • D、程序中可用INTEGER代替int类型名

    正确答案:B

  • 第22题:

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

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

    正确答案:A

  • 第23题:

    单选题
    设有如下语句 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选项。

  • 第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选项。