有以下的结构体变量定义语句: struct student { int num; charname[9]; } stu; 则下列叙述中错误的是()。A.结构体类型名为stuB.num是结构体成员名C.struct是C的关键字D.结构体名为student

题目

有以下的结构体变量定义语句: struct student { int num; charname[9]; } stu; 则下列叙述中错误的是()。

A.结构体类型名为stu

B.num是结构体成员名

C.struct是C的关键字

D.结构体名为student


相似考题
参考答案和解析
B
更多“有以下的结构体变量定义语句: struct student { int num; charname[9]; } stu; 则下列叙述中错误的是()。”相关问题
  • 第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题:

    若有结构体定义:

    struct stu {int num;

    char sex;

    int age;

    }a1,a2;

    则下列语句中错误的是( )。

    A.printf("%d%c,%d",a1);

    B.a2.age=a1.age;

    C.a1.age++;

    D.a1.num=5;


    正确答案:A
    解析:题中a1和a2两个结构体变量名所对应的成员相同,可以与运算“++”相结合。结构体变量的输出格式为:printf("要输出变量名:%d\t",结构变量名.要输出的成员变量名)。

  • 第3题:

    设有以下说明语句 struct num { int a; float b; }numl;则下面的叙述不正确的是______。

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

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

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

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


    正确答案:C

  • 第4题:

    若有以下定义的语句: struct student { int age; int num;}; struct student stu[3]={{1001,20},{1002,19},{1003,21}}; main() { struct student *p; p=stu; …} 则以下不正确的引用是( )。

    A.(p++)->num

    B.p++

    C.(*p).num

    D.P=&stu.age.


    正确答案:D
    解析:结构体成员的引用可以用“结构体变量名.成员名”或者“结构体变量指针->成员名”两种方式来引用。注意:结构体类型的变量、数组和指针变量的定义。

  • 第5题:

    下列说法错误的是( )。

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

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

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

    D.结构体可以嵌套定义


    正确答案:A
    解析:本题主要考查定义结构体的几个特点:①结构的定义明确了结构的组成形式,定义了一种C语言中没有而用户需要的新的数据类型。与其他的数据类型不同,在程序编译的时候结构的定义并不会使系统为该结构分配内存空间,只有在说明结构变量时才分配内存空间;②结构体的成员名可以与程序中的变量名相同;⑧结构体中的成员可以单独使用,它的作用相当于普通变量;④结构体可以嵌套定义。

  • 第6题:

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

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

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

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

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


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

  • 第7题:

    有如下说明和定义语句: struct student { int age; char num{8};}; struct student stu[3]={{20,"200401"},{21,"200402"),{19,"200403"}}; struct student *p=stu; 以下选项中引用结构体变量成员的表达式错误的是( )。

    A.(p++)->num

    B.p->num

    C.(*p).num

    D.stu[3].age


    正确答案:D
    解析:结构体变量也有地址,因此可以把它的地址赋值给一个指针变量,然后通过该指针变量来引用结构体的成员,选项A和选项B就是通过指针变量来引用结构体的成员,故选项A和选项B都正确,也可以通过结构体数组元素的成员引用,选项C和选项D属于这种情况,而在选项D中stu[3].age不正确,因为结构体数组stu共有3个元素,其下标应该为0,1,2。所以,4个选项中选项D符合题意。

  • 第8题:

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

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

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

    C.S是struct类型的变量

    D.T是struct S类型的变量


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

  • 第9题:

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

    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

  • 第10题:

    若有以下说明和语句: struct student{          int age;          int num;  }std, *p;  p=&std;  则下面对该结构体变量std中成员age的引用方式错误的是()。 

    • A、std.age
    • B、*p.age
    • C、(*p).age
    • D、p->age

    正确答案:B

  • 第11题:

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

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

    正确答案:D

  • 第12题:

    单选题
    若有以下说明和语句: struct student{          int age;          int num;  }std, *p;  p=&std;  则下面对该结构体变量std中成员age的引用方式错误的是()。
    A

    std.age

    B

    *p.age

    C

    (*p).age

    D

    p->age


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

  • 第13题:

    若有以下定义的语句 struct student {int age; int num;}; struct student stu[3]={{1001,20},{1002,19},{1003,21}}; main() {stmct student *p; p=stu; …} 则以下不正确的引用是

    A.(p++)->num

    B.p++

    C.(*p).num

    D.P=&stu.age.


    正确答案:D

  • 第14题:

    有以下说明和定义语句 struct student {int age;char num[8]; }; struct student stu[3]={{20,"200401"},{21,"200402"},{10\9,"200403"}}; struct student*p=stu;以下选项中引用结构体变量成员的表达式错误的是______。

    A.(p++)->num

    B.p->num

    C.*p.num

    D.stu[0].age


    正确答案:C

  • 第15题:

    struct{int num;float scor;}student;struct student std1;是对结构体类型的变量student的定义。()

    此题为判断题(对,错)。


    参考答案:错误

  • 第16题:

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

    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

  • 第17题:

    若有结构体定义:

    struct stu{int num;

    char sex;

    int age;

    }al,a2;

    则下列语句中错误的是( )。

    A.printf("%d,%C,%d",a1);

    B.a2.age=a1.age;

    C.a1.age++;

    D.a1.num=5;


    正确答案:A
    解析:题中a1和a2两个结构体变量名所对应的成员相同,可以与运算"++"相结合。结构体变量的输出格式:prinf("要输出变量名:%d\t",结构变量名.要输出的成员变量名)。

  • 第18题:

    设有以下语句

    typedef struct S

    { int g; char h; } T;

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

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

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

    C.S是struct类型的变量

    D.T是struct S类型的变量


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

  • 第19题:

    有以下说明和定义语句struct student{ int age; char num[8];};struct student stu[3]={{20,"200401"},{21,"200402"},{10\9,"200403"}};struct student *p=stu;以下选项中引用结构体变量成员的表达式错误的是A.(p++)->num B.p->num C.(*p).num D.stu[3].age


    正确答案:D
    引用形式有以下三种:①结构体变量.成员名;②(*p).成员名;③p→成员名。所以A、B、C答案都是正确的。故本题答案为D。

  • 第20题:

    有以下说明和定义语句:struct student{int age; char num[8] ;};struct student stu [3] = { { 20, "200401" } , {21, "200402" } , {19, "200403" } };stract student * p = stu;以下选项中引用结构体变量成员的表达错误的是( )。

    A.(p++) ->num

    B.p- >num

    C.( *p).num

    D.stu[3].age


    正确答案:D
    解析:结构体变量的引用有三种形式:结构体变量.成员名;(*p).成员名;P->,成员名。所以选项A),B),C)都是正确的。

  • 第21题:

    以下结构体的定义语句中,正确的是()

    • A、structstudent{intnum;charname[10];intage;};stu;
    • B、struct{intnum;charname[10];intage;}student;structstudentstu;
    • C、structstudent{intnum;charname[10];intage;}stu;
    • D、structstudent{intnum;charname[10];intage;};studentstu;

    正确答案:C

  • 第22题:

    有下列语句:  struct Birthday{public int year;  public int month;   public int day;}; struct Student{ int no;  string name;   int age;  public Birthday bir; };  ……  Student Stu;  如果要把Stu的出生年份赋值为1988,正确的语句是()

    • A、 Stu.bir.year=1988;
    • B、 Stu.year=1988;
    • C、 Stu. Birthday.year=1988;
    • D、 Student. Birthday.year=1988;

    正确答案:A

  • 第23题:

    有以下说明语句:struct Student{int num;double score;};Student stu[3]={{1001,80},{1002,75},{1003,91}},*p=stu;则下面引用形式错误的是()

    • A、p->num
    • B、(p++).num
    • C、(p++)->num
    • D、(*p).num

    正确答案:B

  • 第24题:

    单选题
    有以下说明语句:struct Student{int num;double score;};Student stu[3]={{1001,80},{1002,75},{1003,91}},*p=stu;则下面引用形式错误的是()
    A

    p->num

    B

    (p++).num

    C

    (p++)->num

    D

    *p).num


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