0 #GESP125. GESP六级第一次练习题单
GESP六级第一次练习题单
- 以下不属于面向对象程序设计语言的是( )。 {{ select(1) }}
- C++
- Python
- Java
- C
- 下面有关C++类定义的说法,错误的是( )。 {{ select(2) }}
- C++类实例化时,会执行构造函数。
- C++自定义类可以通过定义构造函数实现自动类型转换。
- C++自定义类可以通过重载 > 、 < 等运算符实现大小比较。
- C++自定义类可以包含任意类型的成员。
-
有关下面C++代码的说法,错误的是( )。
{{ select(3) }}
- 代码 cout << st << endl; 不会报错,将正常输出 ABC。
- 第 6 行代码的 data 是 MyStr 类的成员变量。
- 代码 MyStr st("ABC"); 不会报错,将执行构造函数。
- 以上说法均没有错误。
- 下列关于命名空间的说法错误的是( )。
{{ select(4) }}
- 命名空间可以嵌套, 例如 namespace A { namespace B { int i;}} 。
- 命名空间只可以在全局定义。
- 命名空间中可以存放变量和函数。
- 如果程序中使用了 using 命令同时引用了多个命名空间,并且命名空间中存在相同的函数,会出现程序运行 错误。
-
有关下面C++代码的说法,正确的是( )。
{{ select(5) }}
- 这段代码不能正常运行。
- ManyData 类可用于构造队列(Queue)数据结构。
- 在上面代码环境,代码 cout<< myData.__data[0] << endl; 可以增加到代码 main 函数末尾( return 0;之前),且不会导致报错。
- 可以为 ManyData 类的 push() 、 pop() 函数增加异常处理代码,否则在使用 ManyData 类时可能导致运行时错误或逻辑错误(不一定局限于上述代码中的 main 函数)。
-
有关下面C++代码的说法,错误的是( )。
{{ select(6) }}
- MoreData 类可用于构造队列(Queue)数据结构。
- 代码第29行,连续 push() 的用法将导致编译错误。
- __data 是 MoreData 类的私有成员,只能在类内访问。
- 以上说法均没有错误。
-
某内容仅会出现 ABCDEFG ,其对应的出现概率为0.40、0.30、0.15、0.05、0.04、0.03、0.03,如下图所示。按照哈夫曼编码规则,假设 B 的编码为 11 ,则 D 的编码为( )。
{{ select(7) }}
- 10010
- 10011
- 10111
- 10001
- 下面有关格雷码的说法,错误的是( )。
{{ select(8) }}
- 在格雷码中,任意两个相邻的代码只有一位二进制数不同。
- 格雷码是一种唯一性编码。
- 在格雷码中,最大数和最小数只有一位二进制数不同。
- 格雷码是一种可靠性编码。
- 关于C++语言,以下说法不正确的是( )。 {{ select(9) }}
- 若对象被定义为常量,则它只能调用以 const 修饰的成员函数。
- 所有的常量静态变量都只能在类外进行初始化。
- 若类 A 的对象 a 是类 B 的静态成员变量,则 a 在main() 函数调用之前应被初始化。
- 静态全局对象、常量全局对象都是在 main 函数调用之前完成初始化,执行完 main 函数后被析构。
- 关于C++类和对象的说法 ,错误的是() {{ select(10) }}
- 在 C++中 ,⼀切皆对象, 即便是字⾯量如整数 5 等也是对象
- 在 C++中 ,可以⾃定义新的类 ,并实例化为新的对象
- 在 C++中, 内置函数和⾃定义函数 ,都是类或者对象
- 在 C++中 ,可以在⾃定义函数中嵌套定义新的函数
-
有关下⾯C++代码的说法 ,错误的是( ) {{ select(11) }}
- C++中类内部可以嵌套定义类
- 在类中定义的类被称为内部类 ,定义类的类被称为外部类
- 内部类可以随便访问 ,不需要通过外部类来访问
- 代码中 Point 被称为内部类,可以通过外部类 Rectangle 来访问Rectangle::Point
-
有关下面 C++代码的说法 ,正确的是( ) {{ select(12) }}
- 第 14行代码错误,第 15行正确
- 第 15行代码错误,第 14行代码正确
- 第 14、15 两行代码都正确
- 第 6行代码可修改为 objCounter += 1
-
有关下⾯C++代码的说法 ,错误的是( ) {{ select(13) }}
- 上列 C++代码适⽤于构造各种⼆叉树
- 代码 struct BiNode ⽤于构造⼆叉树的节点
- 代码 BiTree(){root=Creat();} ⽤于构造⼆叉树
- 析构函数不可以省略
- 对 hello world 使用霍夫曼编码(HuffmanCoding),最少 bit(比特)为( ) {{ select(14) }}
- 4
- 32
- 64
- 88
- 在构建哈夫曼树时,每次应该选择( )合并。 {{ select(15) }}
- 最小权值的节点
- 最大权值的节点
- 随机节点
- 深度最深的节点
- 面向对象的编程思想主要包括以下哪些原则( )?{{ select(16) }}
- 贪心、动态规划、回溯
- 并发、并行、异步
- 递归、循环、分治
- 封装、继承、多态
- 给定⼀个简单的类定义如下,( )语句在类的外部正确地创建了⼀个 Circle 对象并调用了 getArea 函数?
{{ select(17) }}
- Circle c = Circle(5.0); c.getArea(c);
- Circle c(5.0); getArea(c);
- Circle c = new Circle(5.0); c.getArea();
- Circle c(5.0); c.getArea();
- 3 位格雷编码的正确顺序是( )。{{ select(18) }}
- 000, 001, 010, 011, 100, 101, 110, 111
- 000, 001, 011, 010, 110, 111, 101, 100
- 000, 010, 001, 011, 100, 110, 101, 111
- 000, 010, 110, 100, 111, 101, 011, 001
- 给定一个空栈,执行以下操作序列:
操作序列: push(1), push(2), push(3), pop(), pop(), push(4), push(5), pop()
最终栈中的元素是( )。 {{ select(19) }}
- 1, 2
- 1, 4, 5
- 1, 2, 5
- 1, 4
- 面向对象的编程思想主要包括( )原则。{{ select(20) }}
- 贪心、动态规划、回溯
- 并发、并行、异步
- 递归、循环、分治
- 封装、继承、多态
-
运行下列代码,屏幕上输出( )。 {{ select(21) }}
- 1 1 1
- 1 2 3
- 1 1 2
- 1 2 2
-
运行下列代码,屏幕上输出( )。
{{ select(22) }}
- rectangle area: triangle area:
- parent class area: parent class area:
- 运行时报错
- 编译时报错
- 在栈数据结构中,元素的添加和删除是按照什么原则进行的?。
{{ select(23) }}
- 先进先出
- 先进后出
- 最小值先出
- 随机顺序
- 对“classmycls”使用哈夫曼(Huffman)编码,最少需要( )比特。
{{ select(24) }}
- 10
- 20
- 25
- 30
- 在面向对象中,类是对象的实例。( ) {{ select(25) }}
- 正确
- 错误
- 在 C++类的定义中,使⽤ static 修饰符定义的静态成员被该类的所有对象共享。( ) {{ select(26) }}
- 正确
- 错误
- 在 C++类的定义中,可以定义初始化函数或运算符函数等。() {{ select(27) }}
- 正确
- 错误
- 哈夫曼编码是⼀种有损压缩算法。( ) {{ select(28) }}
- 正确
- 错误
- 在⾯向对象中,方法在 C++的 class 中表现为 class 内定义的函数 。() {{ select(29) }}
- 正确
- 错误
- C++类的定义中,可以没有构造函数,会给出默认的构造函数。() {{ select(30) }}
- 正确
- 错误
- 如果某个 C++对象( object)支持下标运算符(⽅括号运算符) ,则该对象在所对应 class 中以成员函数的形式进行了重载 。() {{ select(31) }}
- 正确
- 错误
- 哈夫曼编码(Huffman Coding)具有唯⼀性,因此有确定的压缩率。() {{ select(32) }}
- 正确
- 错误
- 哈夫曼树是一种二叉树。 {{ select(33) }}
- 正确
- 错误
- 继承是将已有类的属性和方法引入新类的过程。 {{ select(34) }}
- 正确
- 错误
- 哈夫曼编码的主要应用领域是有损数据压缩。{{ select(35) }}
- 正确
- 错误
- 栈的基本操作包括入栈(push)和出栈(pop)。{{ select(36) }}
- 正确
- 错误
- 使用哈夫曼编码对一些字符进行编码,如果两个字符的频率差异最大,则它们的编码可能出现相同的前缀。{{ select(37) }}
- 正确
- 错误
- 哈夫曼编码本质上是一种贪心策略。() {{ select(38) }}
- 正确
- 错误
- 创建一个对象时,会自动调用该对象所属类的构造函数。如果没有定义构造函数,编译器会自动生成一个默认的构造函数。() {{ select(39) }}
- 正确
- 错误
- 定义一个类时,必须手动定义一个析构函数,用于释放对象所占用的资源。( ) {{ select(40) }}
- 正确
- 错误
- C++中类内部可以嵌套定义类。( ) {{ select(41) }}
- 正确
- 错误
- 000, 001, 011, 010, 110, 111, 101, 100是一组格雷码。() {{ select(42) }}
- 正确
- 错误
- 在C++中,静态成员函数只能访问静态成员变量。( )
{{ select(43) }}
- 正确
- 错误