C++(练习)第5章,自定义数据类型
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
struct aa
{
int r1;
double r2;
float r3;
union uu
{
char u1[5];
long u2[2];
}ua;
}mya;
A 30
B 29
C 24
D 22
参考答案
C
13.某结构体变量定义如下,结构体变量的成员的引用形式正确的是()。
struct str{ int m,n; float a,b; } s,*pt;
A各成员所需内存的总和
B结构体中的第一个成员所需内存
C成员中所需内存最大者的存储空间
D结构体中的最后一个成员所需存储容量
参考答案
A
3.以下对枚举类型名的定义中正确的是()。
A enum a={“one”, “two”, “three”};
B enum a {“one”, “two”, “three”};
一,单选题
1.已知枚举类型定义语句为:
enum Token
{ NAME, NUMBER, PLUS=5, MINUS, PRINT=10 };
则下列叙述中错误的是( )。
A枚举常量NAME的值为1
B枚举常量NUMBER的值为1
C枚举常量MINUS的值为6
D枚举常量PRINT的值为10
参考答案
A
2.当定义一个结构体变量时,系统分配给它的内存大小的理论值是__________。
2:long
3:char
9.
三.问答题
1.#include<iostream.h>
union ex
{ short int i;
char ch;
};
void main()
{ex data;
data.i=0x5566;
cout<<"data.i="<<hex<<data.i<<',';
data.ch='A';
则执行语句cout<<white<<"\n";后输出的结果是( )。
A 4
B 3
C 2
D 1
参考答案
A
7.以下定义,
struct st1{int a,b;float x,y;};
struct st2{int a,b;st1 s1; } ss;
对成员变量x的引用形式正确的是:_________。
A ss.s1.x
}
A 0 1 2 3
B 0 4 0 10
C 0 4 5 15
D 1 4 5 15
参考答案
C
5.设有以下定义:
enum t1 {a1,a2=7,a3,a4=15} time;
则枚举常量a1和a3的值分别是
A 1和2
B 6和3
C 1和8
D 0和8
参考答案
D
6.设有类型说明:
enum color{red, yellow=3, white, black};
C enum a={one, two, three};
D enum a {one=9,two=-1,three};
参考答案
D
4.下面程序的正确的输出是()。
#include <iostream.h>
void main()
{ enum team{my,your=4,his,her=his+10};
cout<<my<<’ ‘<<your<<’ ’<<his<<’ ‘<<her<<endl;
Bst2.st1.x
C st2.s1.x
D ss.x
参考答案
A
8.对于结构体变量,下列说法正确的是()
struct st1{int a, b; float x, y;}s1, s2;
struct st2{int a, b; float x, y;}s3, s4;
A s1、s2、s3、s4可以相互赋值
cout<<"data.ch="<<data.ch<<',';
cout<<"data.i="<<hex<<data.i<<endl;
}
参考答案
data.i=5566,data.ch=A,data.i=5541
四.编程题
pt=&s;
A s->m
B pt.n
C *pt.a
D pt->b
参考答案
D
14.关键字typedef的作用是______。
A定义宏标识名
B定义变量
C给已有的类型名取别名
D定义类名
参考答案
C
15.已知教师记录的描述为:
struct teacher
{
int id;
char name[20];
struct { int y; int m; int d;} birth;
struct st{int a,b; float x,y;} s1,*p;
p=&s1;
A s1->a
B p->b
C p.x
D *p.y
参考答案
B
11.已知枚举类型定义语句为:
enum Token
{ NAME, NUMBER, PLUS=5, MINUS, PRINT=10 };
则下列叙述中错误的是( )。
5.指向结构体数组的指针的类型是__1__的类型。
参考答案
1:指针
6.变量的定义格式为__1__
参考答案
1:[存储类别]数据类型变量名表;
7.基本的浮点类型关键字有__1__和double
参考答案
1:float
8.定义整型变量的关键字为unsigned、__1__、__2__和__3__。
参考答案Baidu Nhomakorabea
1:int
B只有s1和s2、s3和s4之间可以相互赋值
C s1、s2、s3、s4之间均不可以相互赋值
D结构体变量可以整体赋值
参考答案
B
9.设有定义:enum color {red=5,yellow=0,blue=3,white,green};
则white的取值为__1__。
参考答案
1:4
10.某结构体变量定义如下,对此结构体变量的成员的引用形式正确的是()
A枚举常量NAME的值为1
B枚举常量NUMBER的值为1
C枚举常量MINUS的值为6
D枚举常量PRINT的值为10
参考答案
A
12.定义生成非静态变量时,将( )。
A对变量自动赋初值
B对变量自动赋0
C不会对变量自动赋初值
D变量自动赋-1
参考答案
C
13.若有下面的说明和定义,则sizeof(struct aa)的值是( )。
}t;
将变量t中的d成员赋值为12的语句为( )。
A d=12
B birth.d=12
C t.d=12
D t.birth.d=12
参考答案
D
16.
二.填空题
1.自定义类型包括结构体、共用体和__1__三种类型。
参考答案
1:枚举型或枚举类型或枚举体或枚举
2.执行
typedef int ABC[10];
语句把ABC定义为具有__1__个整型元素的数组类型。
参考答案
1:十或10
3.数组中的每一个元素必须是同一种数据类型,结构体中允许将__1__类型的数据组合成一种数据结构。
参考答案
1:不同
4.共用体变量中,变量的地址和它的各成员地址是同一个地址;因此,在任一时刻只能保存__1__个成员。
参考答案
1:一或壹或1
{
int r1;
double r2;
float r3;
union uu
{
char u1[5];
long u2[2];
}ua;
}mya;
A 30
B 29
C 24
D 22
参考答案
C
13.某结构体变量定义如下,结构体变量的成员的引用形式正确的是()。
struct str{ int m,n; float a,b; } s,*pt;
A各成员所需内存的总和
B结构体中的第一个成员所需内存
C成员中所需内存最大者的存储空间
D结构体中的最后一个成员所需存储容量
参考答案
A
3.以下对枚举类型名的定义中正确的是()。
A enum a={“one”, “two”, “three”};
B enum a {“one”, “two”, “three”};
一,单选题
1.已知枚举类型定义语句为:
enum Token
{ NAME, NUMBER, PLUS=5, MINUS, PRINT=10 };
则下列叙述中错误的是( )。
A枚举常量NAME的值为1
B枚举常量NUMBER的值为1
C枚举常量MINUS的值为6
D枚举常量PRINT的值为10
参考答案
A
2.当定义一个结构体变量时,系统分配给它的内存大小的理论值是__________。
2:long
3:char
9.
三.问答题
1.#include<iostream.h>
union ex
{ short int i;
char ch;
};
void main()
{ex data;
data.i=0x5566;
cout<<"data.i="<<hex<<data.i<<',';
data.ch='A';
则执行语句cout<<white<<"\n";后输出的结果是( )。
A 4
B 3
C 2
D 1
参考答案
A
7.以下定义,
struct st1{int a,b;float x,y;};
struct st2{int a,b;st1 s1; } ss;
对成员变量x的引用形式正确的是:_________。
A ss.s1.x
}
A 0 1 2 3
B 0 4 0 10
C 0 4 5 15
D 1 4 5 15
参考答案
C
5.设有以下定义:
enum t1 {a1,a2=7,a3,a4=15} time;
则枚举常量a1和a3的值分别是
A 1和2
B 6和3
C 1和8
D 0和8
参考答案
D
6.设有类型说明:
enum color{red, yellow=3, white, black};
C enum a={one, two, three};
D enum a {one=9,two=-1,three};
参考答案
D
4.下面程序的正确的输出是()。
#include <iostream.h>
void main()
{ enum team{my,your=4,his,her=his+10};
cout<<my<<’ ‘<<your<<’ ’<<his<<’ ‘<<her<<endl;
Bst2.st1.x
C st2.s1.x
D ss.x
参考答案
A
8.对于结构体变量,下列说法正确的是()
struct st1{int a, b; float x, y;}s1, s2;
struct st2{int a, b; float x, y;}s3, s4;
A s1、s2、s3、s4可以相互赋值
cout<<"data.ch="<<data.ch<<',';
cout<<"data.i="<<hex<<data.i<<endl;
}
参考答案
data.i=5566,data.ch=A,data.i=5541
四.编程题
pt=&s;
A s->m
B pt.n
C *pt.a
D pt->b
参考答案
D
14.关键字typedef的作用是______。
A定义宏标识名
B定义变量
C给已有的类型名取别名
D定义类名
参考答案
C
15.已知教师记录的描述为:
struct teacher
{
int id;
char name[20];
struct { int y; int m; int d;} birth;
struct st{int a,b; float x,y;} s1,*p;
p=&s1;
A s1->a
B p->b
C p.x
D *p.y
参考答案
B
11.已知枚举类型定义语句为:
enum Token
{ NAME, NUMBER, PLUS=5, MINUS, PRINT=10 };
则下列叙述中错误的是( )。
5.指向结构体数组的指针的类型是__1__的类型。
参考答案
1:指针
6.变量的定义格式为__1__
参考答案
1:[存储类别]数据类型变量名表;
7.基本的浮点类型关键字有__1__和double
参考答案
1:float
8.定义整型变量的关键字为unsigned、__1__、__2__和__3__。
参考答案Baidu Nhomakorabea
1:int
B只有s1和s2、s3和s4之间可以相互赋值
C s1、s2、s3、s4之间均不可以相互赋值
D结构体变量可以整体赋值
参考答案
B
9.设有定义:enum color {red=5,yellow=0,blue=3,white,green};
则white的取值为__1__。
参考答案
1:4
10.某结构体变量定义如下,对此结构体变量的成员的引用形式正确的是()
A枚举常量NAME的值为1
B枚举常量NUMBER的值为1
C枚举常量MINUS的值为6
D枚举常量PRINT的值为10
参考答案
A
12.定义生成非静态变量时,将( )。
A对变量自动赋初值
B对变量自动赋0
C不会对变量自动赋初值
D变量自动赋-1
参考答案
C
13.若有下面的说明和定义,则sizeof(struct aa)的值是( )。
}t;
将变量t中的d成员赋值为12的语句为( )。
A d=12
B birth.d=12
C t.d=12
D t.birth.d=12
参考答案
D
16.
二.填空题
1.自定义类型包括结构体、共用体和__1__三种类型。
参考答案
1:枚举型或枚举类型或枚举体或枚举
2.执行
typedef int ABC[10];
语句把ABC定义为具有__1__个整型元素的数组类型。
参考答案
1:十或10
3.数组中的每一个元素必须是同一种数据类型,结构体中允许将__1__类型的数据组合成一种数据结构。
参考答案
1:不同
4.共用体变量中,变量的地址和它的各成员地址是同一个地址;因此,在任一时刻只能保存__1__个成员。
参考答案
1:一或壹或1