niusouti.com

有如下结构体说明,以下叙述中错误的是()。 struct stu { int a; float b; } stutype;A.struct是结构体类型的关键字B.struct stu是用户定义的结构体类型C.stutype是用户定义的结构体类型名D.a和b都是结构体成员名

题目

有如下结构体说明,以下叙述中错误的是()。 struct stu { int a; float b; } stutype;

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

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

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

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


相似考题
更多“有如下结构体说明,以下叙述中错误的是()。 struct stu { int a; float b; } stutype;”相关问题
  • 第1题:

    有以下说明和定义语句 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就是通过指针变量来引用结构体的成员,也可以通过结构体数组元素的成员引用,而在选项D中stu[3].age不正确,因为结构体数组stu共有三个元素,其下标应该为0,1,2。

  • 第2题:

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

    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则是直接定义结构变量。

  • 第3题:

    有以下程序: include struct STU {int num; float TotalScore;

    有以下程序: #include <strino.h> struct STU {int num; float TotalScore; }; void f(struct STU p) {struct STU s[2]={{20044,550},{20045,537}}; p.num=s[1].num;p.TotalScore=s[1].TotalScore; } main() {struct STU s[2]={{20041,703},{20042,580}}; f(s[0]); printf("%d%3.0t\n",s[0].num,s[0].TotalScore); } 程序运行后的输出结果是 ______。

    A.20045 537

    B.20044 550

    C.20042 580

    D.20041 703


    正确答案:D
    解析:本题定义了结构体类型的变量P作为形参,并将结构体变量s[0]中的值传递给了形参变量p,在函数f中,又对p中的内容作了改变,但这种改变对工函数中s[0]的值并不产生影响,所以主函数中输出s[0]的数据依然是在主函数中初始化时的数据。

  • 第4题:

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

    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

  • 第5题:

    设有以下C语言说明语句:

    struct ex{int x;float y;char z;} example

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

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

    B.x、y、z都是结构体成员名

    C.struet ex是结构体类型

    D.example是结构体类型名


    正确答案:D
    解析:在C语言环境中,结构体类型说明的一般形式:struct结构体名{类型名结构体成员名…}结构体变量名;其中,“struct”是结构体类型的关键字。对于本题而言,example是结构体变量名,而非结构体类型名。

  • 第6题:

    有如下说明和定义语句: 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符合题意。

  • 第7题:

    有以下说明和定义语句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。

  • 第8题:

    有以下说明和定义语句: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)都是正确的。

  • 第9题:

    以下对结构体类型变量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。

  • 第10题:

    设有以下声明语句 struct ex { int x;float y;char z;}example; 则下面的叙述中不正确的是______。

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

    B.example是结构体类型名

    C.x,y,z都是结构体成员名

    D.struct ex是结构体类型


    正确答案:B
    解析:example是结构体变量名。

  • 第11题:

    下列语句段中,正确的是( )。

    A.struct { int x; float y; int a[2]; unsigned b[3]; char name[ 10]; };

    B.struct stu { unsigned a[3]; unsigned b[4]; }x; int *p=& x.a;

    C.street stu { int a; float x[4]; }y={1,1.0}; float data=y.x;

    D.struct nd {int a,b; unsigned c[2]=5; };


    正确答案:A
    解析:本题主要考查的知识点是结构类型的概念和定义,结构定义的一般形式是:struct结构类型名称{数据类型成员名1;数据类型成员名2;…数据类型成员名n;};struct为关键字,是结构的标识符:{}中包围的是组成该结构的成员项;每个成员的数据类型既可以是简单的数据类型,也可以是复杂的数据类型。整个定义作为一个完整的语句,用分号结束。结构类型名称是可以省略的,此时定义的结构称为无名结构。

  • 第12题:

    以下对结构体类型变量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。

  • 第13题:

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

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

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

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

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


    正确答案:C

  • 第14题:

    若某C语句如下: struct ex {int x;float y;char z;}example; 则以下叙述中不正确的是(29)。

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

    B.x,y,z都是结构体成员名

    C.stmct ex是结构体类型

    D.example是结构体类型名


    正确答案:D
    解析:在C语言环境中,结构体类型说明的一般形式:struct结构体名{类型名结构体成员名……}结构体变量名;其中,“struct”是结构体类型的关键字。对于本试题定义的语句“structex{intx;floaty;charz;}example;”,其中example是结构体变量名,而非结构体类型名。

  • 第15题:

    有以下程序#include "stdio.h"main(){ struct date { int number; float fenzhi; char name; }stu; printf("%d\n",sizeof(stu));} 程序的运行结果是A.3 B.5C.7 D.8


    正确答案:C
    本题主要考查结构体所占存储单元的计算。在C语言中,函数sizeof的作用是用以计算变量所处存储单元的大小,即占的字节数。
    在本题中,程序首先定义了一个结构体,该结构体包含三个成员变量,分别为整型、浮点型和字符型。在C语言中,这三种类型的变量所占的字节数分别为2、4、1,然后定义一个该结构体的结构体变量,并输出该结构体变量所占的字节数。那么结果应为2+4+1=7,因此本题正确的答案为C。

  • 第16题:

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

  • 第17题:

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

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

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

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

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


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

  • 第18题:

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

    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;是非法的。

  • 第19题:

    设有以下说明语句: struct ex {int x;float y;char z; }example;在下面的叙述中,不正确的一条是______。

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

    B.example是结构体类型名

    C.x,y,2都是结构体成员名

    D.struct ex是结构体类型


    正确答案:B
    解析:example是结构体类型变量名,因此选项B的说法是不正确的。

  • 第20题:

    设有以下声明语句 street ex { int x;float y;char z;} example; 则下面的叙述中不正确的是 ______ 。

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

    B.example是结构体类型名

    C.x,y,z都是结构体成员名

    D.struct ex是结构体类型


    正确答案:B
    解析:example是结构体变量名。

  • 第21题:

    下列语句段中,正确的是( )。

    A.street { int x; float y; int a[2]; unsigned b[3]; char name[ 10]; };

    B.struct stu { unsigned a[3]; unsigned b[4]; }x; int *p=& x.a;

    C.stmct stu { int a; float x[4]; }y={1,1.0}; float data=y.x;

    D.struct nd { int a,b; unsigned c[2]=5; };


    正确答案:A
    解析:本题主要考查的知识点是结构类型的概念和定义,结构定义的一般形式是:struct结构类型名称{数据类型成员名1;数据类型成员名2;…数据类型成员名n;};struct为关键字,是结构的标识符:{}中包围的是组成该结构的成员项;每个成员的数据类型既可以是简单的数据类型,也可以是复杂的数据类型。整个定义作为一个完整的语句,用分号结束。结构类型名称是可以省略的,此时定义的结构称为无名结构。

  • 第22题:

    有以下程序 include struct STU { char num[10]; float score[3];}; void ma

    有以下程序 #include<iostream.h> struct STU { char num[10]; float score[3];}; void main( ) { struct STU s[3]={ { "20021",90,95,85 }, {"20022",95,80,75 }, {"20023",100,95,90 } },* p=s; int i; float sum=0; for(i=0;i<

    A.260

    B.270

    C.280

    D.285


    正确答案:B
    解析::C++语言规定数组名代表数组的首地址,也就是第0号元素的地址,在本题中s就是s[0]的地址,指针变量P指向s,也就是指向s[0],所以在for循环累加的是s[0]的score成员值。注意:注意结构体与类的区别。

  • 第23题:

    以下对结构体类型变量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定义为结构体变量,正确。

  • 第24题:

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

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

    正确答案:A