数据结构和C++程序设计 - 题库

更新时间:2023-11-26 10:38:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《数据结构》

Part1

一.选择

1. 组成数据的基本单位是( )

A)数据项 B)数据类型 C)数据元素 D)数据变量 2.算法分析的目的是( )

A)找出数据结构的合理性 B)研究算法的输入/输出关系 C)分析算法的效率以求改进 D)分析算法的易读性

3.在一个具有n个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是( ) A)O(1) B)0(n) C)O(n^2) D)O(nlog2n) 4.若线性表采用顺序存储结构,每个元素占用4个存储单元,第一个元素的存储地址为100,则第12个元素的存储地址是( )

A)112 B)144 C)148 D)412 5.下面关于线性表的叙述中,错误的是( )

A) 顺序表使用一维数组实现的线性表 B) 顺序表必须占用一片连续的存储单元. C) 顺序表的空间利用率高于链表 D) 在单链表中,每个结点只有一个链域. 6.在需要经常查找结点的前驱与后继的情况下,使用( )比较合适

A) 单链表 B)双链表 C) 顺序表 D)循环链表 7.队列通常采用的两种存储结构是( )

A) 顺序存储结构和链式存储结构 B)散列方式和索引方式

C) 链表存储结构和线性存储结构 D)线性存储结构和非线性存储结构 8.在一个单链表中,若删除p所指结点的后继结点,则执行( )

A)p->next=p->next->next; B)p=p->next;p->nex=p->next->next;

C)p->next=p->next; D)p=p->next->next; 9.若某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( )存储方式最节省运算时间

A)单链表 B)仅有头指针的单循环链表 C)双链表 D)仅有尾指针的单循环链表

10.按二叉树的定义,具有三个结点的二元树共有( )种形态。

A)3 B)4 C)5 D)6

11.任何一棵二叉树的叶结点在先序、中序和后序遍历序列中的相对次序( )

A)发生改变 B)不发生改变 C)不能确定 D)以上都不对 12.深度为5的二叉树至多有( )个结点

A)16 B)32 C)31 D)10

13.在一棵度为3的树中,度为3的结点数为2个,度为2的结点数为1个,度为1的结点数为2个,那么度为0的结点数为( )个。

A)4 B)5 C)6 D)7

14.对于一个具有n个顶点的无向图,若采用邻接表表示,则存放表头结点的数组(顶点表)的大小为( )

A)n B)n+1 C)n-1 D)n/2 15.静态查找表和动态查找表二者的根本差别在于( )

A)它们的逻辑结构不同 B)施加在其上的操作不同 C)所包含的数据元素的类型不一样 D)存储实现不一样 二.填空

2

1.某程序的时间复杂性为(3n+nlog2n+n+8),其数量级表示为________。

2.线性表L=(a1,a2,…,an)采用顺序结构存储,假定在不同的位置上插入的概率相同,则插入一个新元素平均需要移动的元素个数是_________ 。

3. 对于一株具有n个结点的树,该树中所有结点的度数之和为______。 4. 在一个图中,所有顶点的度数之和等于所有边数的______________倍。 5. 一棵二叉树有67个结点,这些结点的度要么是0,要么是2。这棵二元树中度数为2的结点有______________个。

6.在一个无向图的邻接表中,若表结点的个数是m,则图中边的条数是_____。 7.采用堆排序、快速排序、冒泡排序,对初态有序的表,最省时间的是______ 。 8.设二叉树结点的先根序列为ABDECFGH,中根序列为DEBAFCHG,则二元树中叶结点是_________.

9.一个哈夫曼(Huffman)树有19个结点,则其叶结点的个数是______。

10.栈S和队列Q的初始状态皆为空,元素a1,a2,a3,a4,a5和a6依次通过S栈,一个元素出栈后即进入队列Q,若6个元素出队列的顺序是a3,a5,a4,a6,a2,a1,则栈S至少应该容纳_______ 个元素。 三.判断

1.线性表的链式存储结构优于顺序行储结构。( )

2.在单链表中,要取得某个元素,只要知道该元素的指针即可,因此,单链表是随机存取的存储结构。( )

3. 对于n个记录的集合进行归并排序,存最坏的情况下所需要的时间是O(n^2)。( ) 4. 表中的每一个元素都有一个前驱和后继元素。( ) 5. 进栈操作push(x,s)作用于链接栈时,无须判满。( )

6. 只有在初始数据为逆序时,冒泡排序所执行的比较次数最多。 ( )

7. 在索引顺序表查找方法中,对索引顺序表可以使用顺序表查找方法,也可以使用二分查找方法。( )

8. 数据元素是数据的最小单位。( )

9. 顺序存储方式的优点是存储密度大,且插入、删除运算效率高。( ) 10. 按中序遍历一棵二叉排序树所得到的中序遍历序列是一个递增序列。( ) 四.简答

1. 对于下图所示的树:

(1) 写出先序遍历得到的结点序列;(2) 画出转换后得到的二叉树。

2.请画出与下列二元树对应的森林。

五.算法设计

1.已知一个int类型的数组arra,其长度为n,要求用冒泡排序算法对其从小到大排序,请实现该算法,(要求后面开始循环,大的数值下沉)。 2.利用一个栈实现以下递归函数的非递归计算:

1n?0??2xn?1 Pn(x)=??2xP(x)?2(n?1)P(x)n?1n?1n?2?

Part2

一、单项选择

1、 在数据结构的讨论中把数据结构从逻辑上分为( )

A)内部结构与外部结构 B)静态结构与动态结构

C)线性结构与非线性结构 D)紧凑结构与非紧凑结构。 2、算法分析的目的是( )

A)找出数据结构的合理性 B)研究算法中输入和输出的关系 C)分析算法的效率以求改进 D)分析算法的易懂性和文档性

3、在一个单链表中,若q结点是p结点的前驱结点,若在q与p之间插入结点s,则执行( )

A)s→link = p→link; p→link = s; B)p→link = s; s→link = q; C)p→link = s→link; s→link = p; D)q→link = s; s→link = p; 4、如果想在4092个数据中只需要选择其中最小的5个,采用( )方法最好。

A)起泡排序 B)堆排序 C)锦标赛排序 D)快速排序 5、设有两个串t和p,求p在t中首次出现的位置的运算叫做( )。

A)求子串 B)模式匹配 C)串替换 D)串连接 6、将一个递归算法改为对应的非递归算法时,通常需要使用( )。

A)栈 B)队列 C)循环队列 D)优先队列

7、在循环队列中用数组A[0..m-1] 存放队列元素,其队头和队尾指针分别为front和rear,则当前队列中的元素个数是( )。

A)( front - rear + 1) % m B)( rear - front + 1) % m C)( front - rear + m) % m D)( rear - front + m) % m 8、下面程序段的时间复杂度为( ) for (int i=0;i

A)O(m2) B)O(n2) C)O(m*n) D)O(m+n)

9、在一个单链表中,若p所指结点不是最后结点,在p之后插入s所指结点,则执行( )。

A)s->link=p;p->link=s; B)s->link=p->link;p->link=s; C)s->link=p->link;p=s; D)p->link=s;s->link=p;

10、当利用大小为n 的数组顺序存储一个队列时,该队列的最大长度为( ) A)n-2 B)n-1 C)n D)n+1

11、某二叉树的前序和后序序列正好相反,则该二叉树一定是( )的二叉树。 A)空或只有一个结点 B)高度等于其结点数 C)任一结点无左孩子 D)任一结点无右孩子

12、对于任何一棵二叉树T,如果其终端结点数为n0,度为2的结点为n2,则( ) A)n0= n2+1 B)n2= n0+1 C)n0= 2n2+1 D)n2=2n0+1

13、 由权值分别为11,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为( )

A)24 B)73 C)48 D)53 14、对线性表进行折半搜索时,要求线性表必须( )

A)以链接方式存储且结点按关键码有序排列 B)以数组方式存储

C)以数组方式存储且结点按关键码有序排列 D)以链接方式存储 15、顺序搜索算法适合于存储结构为( )的线性表。 A)散列存储 B)顺序存储或链接存储 C)压缩存储 D)索引存储

二、填空

1、数据的存储结构被分为 、 、 、 四种。 2、一种抽象数据类型包括 和 两个部分。 3、栈、队列逻辑上都是 结构。

4、栈中存取数据的原则 ,队列中存取数据的原则 。 5、设目标串T=”abccdcdccbaa”,模式P=”cdcc”则第 次匹配成功。 三、判断

1、 数据的逻辑结构是指各数据元素之间的逻辑关系,是用户按使用需要建立的。( ) 2、 线性表的逻辑顺序与物理顺序总是一致的。( )

3、 每种数据结构都应具备三种基本运算:插入、删除、搜索。( ) 4、深度为h的非空二叉树的第h层最多有2h-1个结点。( ) 5、完全二叉树就是满二叉树。( )

6、最优二叉搜索树一定是平衡的二叉搜索树。( ) 7、线性表中所有结点的类型必须相同。( ) 8、连通分量是无向图中的极小连通子图。( ) 9、 空串与由空格组成的串没有区别。( )

10、带权连通图的最小生成树的权值之和一定小于它的其它生成树的权值之和。( ) 四、简答

1、 在结点个数为n(n>1)的各棵树中,高度最小的树的高度是多少?它有多少个叶结点?多少个分支结点?高度最大的树的高度是多少?它有多少个叶结点?多少个分支结点?

2、将下面的森林变换成二叉树。

3、有图如下,请画出其邻接多重表。

五.算法设计

1、编写算法实现链表的创建、遍历、销毁。 2、编写算法,实现快速排序。

Part3

一.选择

1、 在数据结构的讨论中把数据结构从逻辑上分为 ( ) A)内部结构与外部结构 B)静态结构与动态结构 C)线性结构与非线性结构 D)紧凑结构与非紧凑结构。 2、下面程序段的时间复杂度为( ) for (int i=0;i

2

B)O(n)

2

C)O(m*n) D)O(m+n)

3、采用线性链表表示一个向量时,要求占用的存储空间地址( ) A)必须是连续的

B)部分地址必须是连续的

C)一定是不连续的 D)可连续可不连续 4、已知一个顺序存储的线性表,设每个结点需占m个存储单元,若第一个结点的地址为da1,则第I 个结点的地址为( )。

A)da1+(I-1)*m B)da1+I*m C)da1-I*m D)da1+(I+1)*m 5.下面关于线性表的叙述中,错误的是( )

A) 顺序表使用一维数组实现的线性表 B) 顺序表必须占用一片连续的存储单元

C) 顺序表的空间利用率高于链表 D) 在单链表中,每个结点只有一个链域 6、在一个单链表中,若q结点是p结点的前驱结点,若在q与p之间插入结点s,则执行( )

A)s→link = p→link; p→link = s; B)p→link = s; s→link = q; C)p→link = s→link; s→link = p; D)q→link = s; s→link = p; 7、设循环队列的结构如下: const int Maxsize=100; typedef int Data Type; typedef struct {

Data Type data[Maxsize]; Int front, rear;

} Queue;

若有一个Queue类型的队列Q,试问判断队列满的条件应是下列哪一个语句( ) A)Q.front = = Q.rear; B)Q.front - Q.rear= = Maxsize; C)Q.front + Q.rear = = Maxsize;

D)Q.front= = (Q.rear+1)% Maxsize;

8、在循环队列中用数组A[0..m-1] 存放队列元素,其队头和队尾指针分别为front和rear,则当前队列中的元素个数是( )。 A)( front - rear + 1) % m C)( front - rear + m) % m A)栈

B)( rear - front + 1) % m D)( rear - front + m) % m

C)循环队列

D)优先队列

9、将一个递归算法改为对应的非递归算法时,通常需要使用( )。

B)队列

10、下列广义表是线性表的有( ) A)E(a,(b,c))

B)E(a,E)

C)E(a,b)

D)E(a,L( ) )

11、设有两个串t和p,求p在t中首次出现的位置的运算叫做( )。

A)求子串 B)模式匹配 C)串替换 D)串连接 12、对于任何一棵二叉树T,如果其终端结点数为n0,度为2的结点为n2.,则( ) A)n0= n2+1 B)n2= n0+1 C)n0= 2n2+1 D)n2=2n0+1 13、由权值分别为11,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为( ) A)24 B)73 C)48 D)53 14、对线性表进行折半搜索时,要求线性表必须( )

A)以链接方式存储且结点按关键码有序排列 B)以数组方式存储 C)以数组方式存储且结点按关键码有序排列

D)以链接方式存储

15.静态查找表和动态查找表二者的根本差别在于( )

A)它们的逻辑结构不同 B)施加在其上的操作不同 C)所包含的数据元素的类型不一样 D)存储实现不一样

二.判断

1、数据元素是数据的最小单位( )。

2、数据结构是指相互之间存在一种或多种关系的数据元素的全体( )。 3、线性表的逻辑顺序与物理顺序总是一致的( )

4、每种数据结构都应具备三种基本运算:插入、删除、搜索( )。 5、空串与由空格组成的串没有区别。( )

6、深度为h的非空二叉树的第h层最多有2h-1个结点( ) 7、完全二叉树就是满二叉树。( )

8、最优二叉搜索树一定是平衡的二叉搜索树。( ) 9、快速排序是对起泡排序的一种改进。( )

10、B-树是一种动态索引结构,它既适用于随机搜索,也适用于顺序搜索。( ) 三.简答

1、已知一棵二叉树的前序遍历的结果是ABECDFGHIJ, 中序遍历的结果是EBCDAFHIGJ。

(1)试画出这棵二叉树;

(2)给出这棵二叉树的后序遍历序列。

2、已知一颗树如下图所示,请用孩子兄弟存储表示法表示该树。

四.算法设计

已知一个int类型的数组arra,其长度为n,要求用冒泡排序算法对其从小到大排序,请实现该算法,(要求后面开始循环,大的数值下沉)。

Part4

一、单项选择

2、 在数据结构的讨论中把数据结构从逻辑上分为 ( ) A)内部结构与外部结构 B)静态结构与动态结构 C)线性结构与非线性结构 D)紧凑结构与非紧凑结构。 2、下面程序段的时间复杂度为( ) int f(unsigned int n) {

if(n= =0 || n= =1) return 1; else return n*f(n-1);

} A)O(1)

B)O(n)

C)O(n)

2

D)O(n!)

3、一个数组元素a[i]与( )的表示等价。 A) *(a+i)

B) a+i

C) *a+i

D) &a+i

4、若需要利用形参直接访问实参,则应把形参变量说明为( )参数。 A) 指针

B) 引用 C) 值

D) 变量

5、在数组A中,每一个数组元素A[i][j]占用3个存储字,行下标i从1到8,列下标j从1到10。所有数组元素相继存放于一个连续的存储空间中,则存放该数组至少需要的存储字数是( )。

A) 80 B) 100

C) 240

D) 270

6、在一个长度为n的顺序存储的线性表中,删除第i个元素(1≤i≤n)时,需要从前向后依次前移( )个元素。

A) 1 - i B) n - i + 1 C) n – j - 1 D) i

7、设单链表中结点结构为(data,link).已知指针q所指结点是指针p所指结点的直接前驱,若在*q 与*p之间插入结点*s,则应执行下列哪一个操作( ) A) s->link=p->link; p->link=s;

B) q->link=s; s->link=p

C) p->link=s->link; s->link=p; D) p->link=s; s->link=q;

8、设单循环链表中结点的结构为(data,link),且first为指向链表表头的指针,current为链表当前指针,在循环链表中检测current是否达到链表表尾的语句是( )。 A) current->link =null B) first->link=current C) first=current D) current->link=first 9、一个栈的入栈序列为a,b,c,则出栈序列不可能的是( )。

A) c,b,a B) b,a,c C) c,a,b D) a,c,b

10、设链式栈中结点的结构为(data, link),且top是指向栈顶的指针。若想摘除链式栈的栈顶结点,并将被摘除结点的值保存到x中,则应执行下列( )操作。 A) x=top->data; top=top->link; C) x=top; top=top->link;

B) top=top->link; x=top->data;

D) x=top->data;

11、假定一个顺序存储的循环队列的队头和队尾指针分别为f和r ,则判断队空的条件为( )。 A) f+1= =r

B) r+1= =f

C) f= =0

D) f= =r

12、当利用大小为n 的数组顺序存储一个队列时,该队列的最大长度为( ) A) n-2

B) n-1

C) n D) n+1

13、某二叉树的前序和后序序列正好相反,则该二叉树一定是( )的二叉树。 A) 空或只有一个结点 B) 高度等于其结点数 C) 任一结点无左孩子 D) 任一结点无右孩子 14、顺序搜索算法适合于存储结构为( )的线性表。 A) 散列存储 C) 压缩存储

B) 顺序存储或链接存储

D) 索引存储

15、判断一个有向图是否存在回路,除了可以利用拓扑排序方法外,还可以利用( )。 A) 求关键路径的方法 B) 求最短路径的Dijkstra方法 C) 深度优先遍历算法 二、判断

1、从逻辑关系上讲,数据结构主要分为两大类:线性结构和非线性结构( )。 2、每种数据结构都应具备三种基本运算:插入、删除、搜索( )。 3、非空线性表中任意一个数据元素都有且仅有一个直接前驱元素。( )

D) 广度优先遍历算法

4、将T在S中首次出现的位置作为T在S中的位置的操作称为串的模式匹配。( ) 5、已知一棵二叉树的前序序列和中序序列可以唯一地构造出该二叉树。( ) 6、线性表的顺序存储结构的特点是逻辑关系上相邻的两个元素在物理位置上也相邻。( )7、用邻接矩阵存储一个图时,在不考虑压缩存储的情况下,所占用的存储空间大小只与图中顶点个数有关,而与图的边数无关( )。

8、邻接表只能用于有向图的存储,邻接矩阵对于有向图和无向图的存储都适用。( ) 9、连通分量是无向图中的极小连通子图。( ) 10、快速排序是对起泡排序的一种改进。( ) 三、) 1、某子系统在通信联络中只可能出现8种字符,其出现的概率分别为0.05,0.29,0.07,0.08,0.14,0.23,0.03,0.11试设计赫夫曼编码。 2、将下面的森林变换成二叉树。

四.算法设计

已知一个int类型的数组arra,其长度为n,要求用选择排序算法对其从小到大排序,请实现该算法。

《面向对象程序设计C++》

Part1

一、单项选择

1.下面对于指针的描述不正确的是( )。

A.指针是地址变量 B.指针不能用除0以外的常量赋值 C.两个指针变量的加减法无意义 D.指针指向不同基类型的变量长度不同 2.下面对于析构函数的描述中不正确的是( )。

A.析构函数是内置函数 B.析构函数与类名相同

C.析构函数不能有参数 D.析函数在对象撤销时自动执行 3.下列指针用法中错误的是( )。

A. int i; int *ptr = &i; B. int i; int *ptr; i= *ptr; C. int *ptr; ptr=0; D. int i=5;int *ptr;*ptr=i; 4.派生类的对象对它的基类成员中什么是可访问的( )?

A.公有继承的公有成员 B.公有继承的私有成员 C.公有继承的保护成员 D.私有继承的公有成员 5.在( )情况下适宜采用inline定义内联函数。

A.函数体含有循环语句 B.函数体含有递归语句 C.需要加快程序的执行速度 D.函数代码多、不常调用 6.在类中说明的成员可以使用关键字( )进行修饰。 A. public B. extern C. cpu D. register 7.如果类A被说明成类B的友元,则( )。

A.类A的成员即类B的成员 B.类B的成员即类A的成员 C.类A的成员函数不得访问类B的成员 D.类B不一定是类A的友元 8.定义析构函数时,应该注意( )。

A.其名与类名完全相同 B.返回类型是void类型

C.无形参,也不可重载 D.函数体中必须有delete语句 9.在类中声明一般函数时不能指定( )。 A.参数 B.访问权限 C.操作 D.标识符

10.在派生类中重新定义虚函数时必须在( )方面与基类保持一致。 A.参数类型 B.参数名字 C.操作内容 D.返回值类型

11.设int a=3,b=4,c=5;表达式(a+b)>c&&b= =c的值是( )。 A. 2 B. -1 C. 0 D. 1

12.下列标识符中,不合法的用户标识符为( )。 A. a#b B. _int C. a_10 D. PAd

13.while(!x)中的(!x)与下面条件( )等价。 A. x==1 B. x!=1

C. x!=0 D. x==0 14.每个类( )构造函数。

A.只能有一个 B.只可有公有的 C.可以有多个 D.只可有缺省的 15.静态成员函数不能说明为 ( ) 。 A. 整型函数 B. 浮点函数 C. 虚函数 D. 字符型函数

16.重载赋值操作符时,应声明为( )函数。 A.友元 B.虚 C.成员 D.多态

17. 下面描述中,表达错误的是( )

A.公有继承时基类中的public成员在派生类中仍是public的 B.公有继承时基类中的private成员在派生类中仍是private的 C.公有继承时基类中的protected成员在派生类中仍是protected的 D.私有继承时基类中的public成员在派生类中是private的 18.通过( )调用虚函数时,采用动态指定。 A.对象指针 B.对象名 C.成员名限定 D.派生类名

19.在用class定义一个类时,数据成员和成员函数的默认访问权限是( ) A. private B. public C. protected D. virtual

20.C++语言的跳转语句中,对于break和continue说法正确的是( ) A. break语句只应用与循环体中 B. continue语句只应用与循环体中

C. break是无条件跳转语句,continue不是

D. break和continue的跳转范围不够明确,容易产生问题 二、完成程序

1.在下面程序的底画线处填上适当的字句,使该程序执行结果为60。 # include class CBase {

int X; public:

void Init (int initX){X = initX; } int GetNum() {return X+7; } }

void main() {

_______ _______

cout<

2.在下面程序的底画线处填上适当的字句,完成类中成员函数的定义。 # include calss line;

class box {

private∶

int color; int upx,upy; int lowx,lowy; public∶

_______ int same_color(line a,box b); void SetColor(int iCl){color = iCl;}

void define_box(int x1,int y1,int x2,int y2){upx=x1;upy=y1;lowx=x2;lowy=y2;} };

class line {

private∶

int color;

int startx,starty; int len; public∶

friend int same_color(line a,box b); void setlen(int iL){len=iL;} _______

void define_line(int x,int y){startx=x ;straty=y;} };

int same_color(line a,box b) {

if ( a.color = =b.color) return 1; return 0; }

void main() { line l; box bb; bb.SetColor(1); l.SetColor(1);

if (same_color(l,bb)==1) cout<<\}

3. 已知int DBL(int n){return n + n;} 和long DBL(long n){return n+n;}是一个函数模板的两个实例,则该函数模板的定义是 4.在下列程序的空格处填上适当的字句,使输出为:0,8,5。 # include # include class Magic {

double x; public∶

Magic(double d=0.00)∶x(fabs(d)){}

_______{return Magic(sqrt(x*x+c.x*c.x));}

friend ostream& operator<<(ostream & os,Magic c){return os<

void main() {

Magic ma;

cout<

三、综合应用

1.分析下列程序可能的输出结果。 # include “iostream.h” class test {

private:

int num; float fl; public:

test( );

int getint( ){return num;} float getfloat( ){return fl;} ~test( ); };

test::test( ) {

cout<<\num=0;fl=0.0; }

test::~test( ) {

cout<<\}

int main( ) {

test array[2];

cout<

2.下列shape类是一个表示形状的抽象类,length()为求图形周长的函数,total()则是一个通用的用以求不同形状的图形周长总和的函数。请从shape类派生三角形类(triangle)、矩形类(rectangle),并给出具体的求周长函数。给出shape,total的定义如下所示。 class shape

{

public:

virtual float length( )=0 };

float total(shape *s[],int n) {

float sum=0.0; for(int i=0;ilength( ); return sum; }

Part2

一、选择

1、面向对象的程序设计思想中,首先在问题域中识别出若干个( ) A.函数 B.类 C.文件 D.过程 2、定义类模板用关键字( )

A.const B.new C.delete D.template 3、运算结果类型相同的( )

A. 9.0/2.0 9.0/2 B. 9/2.0 9/2 C. 9.0/2 9/2 D. 9/2 9.0/2.0 4、已知f1 f2同一类两个成员函数,但f1不能调用f2,说明( ) A.f1 f2都是静态函数 B.f1是静态函数,f2不是 C.f1不是,f2是静态函数 D.f1 f2都不是静态函数 5、调用一成员函数时,使用动态联编的情况是( )

A.通过对象调用一虚函数 B.通过指针或引用调用一虚函数 C.通过对象调用静态函数 D.通过指针或引用调用一静态函数 6、假定一个类构造函数为:“A(int aa=1,int bb=0){a=aa;b=bb;}则执行\x(4)\后,x.a和x.b值分别是:( )

A.1,0 B.1,4 C.4,0 D.4,1

7、在派生类中能直接访问基类的( )

A.公有成员,私有成员 B.保护成员,私有成员 C.不可访问成员,私有成员 D.公有成员,保护成员 8、不具访问权限属性的是:( )

A.非类成员 B.类成员 C.数据成员 D.函数成员 9、类定义中private,protected,public 出现次数为( )

A.任意多次 B.至多一次 C.public 至少一次 D.至少一次 10、C++鼓励程序员将( )

A.数据操作分别封装 B.不同类型数据封装 C.数据操作封装在一起 D.不同作用操作封装在一起 二、填空

1、C++中,最好用( )代替malloc

2、函数模板中template之后尖括号的类型参数冠以保留字( )

3、在IOS类中定义的用于格式控制的枚举变量中十、八、十六进制是dec,oct,( )

本文来源:https://www.bwwdw.com/article/ubnt.html

Top