第1单元C++概览

第1单元测验

1、单选题:
‎第一个被称为“Modern C++”的标准是?​
选项:
A: C++98
B: C++03
C: C++11
D: C++14
E: C++17
F: C++20
答案: 【 C++11

2、单选题:
‏集成开发环境中不一定包括‎
选项:
A: 编译器
B: 链接器
C: 图形界面设计工具
D: 调试器
答案: 【 图形界面设计工具

3、单选题:
‏集成开发环境的英文缩写是‍
选项:
A: IEE
B: IDD
C: DEV
D: IDE
答案: 【 IDE

4、多选题:
‌C++ 11支持的编程范式包括‍
选项:
A: 脚本编程范式
B: 结构化编程范式
C: 函数式编程范式
D: OO编程范式
E: 泛型编程范式
F: 解释型编程范式
答案: 【 结构化编程范式;
函数式编程范式;
OO编程范式;
泛型编程范式

5、多选题:
‍C++集成开发环境包括下面所列的哪些部分?‍
选项:
A: 编辑器
B: 编译器
C: 链接器
D: 开发器
E: 运行器
F: 测试器
答案: 【 编辑器;
编译器;
链接器

6、多选题:
‍集成开发环境中一般包含‏
选项:
A: 编辑器
B: 编译器
C: 链接器
D: 测试器
E: 调试器
答案: 【 编辑器;
编译器;
链接器;
调试器

7、判断题:
‍我们在C++学习过程中,选择开发工具应尽量选择简单的、问世时间比较久的工具。因为这样的工具易用且稳定。‎
选项:
A: 正确
B: 错误
答案: 【 错误

8、判断题:
‎C语言支持面向对象编程范式​
选项:
A: 正确
B: 错误
答案: 【 错误

9、填空题:
​编译器的英文是__________‎
答案: 【 compiler

第2单元C++程序基础

3.1第2单元第1节随堂测验

1、多选题:
‎查资料,然后判断c++程序中的头文件扩展名包括以下:‎
选项:
A: .h
B: .head
C: .hpp
D: .hxx
答案: 【 .h;
.hpp;
.hxx

2、多选题:
‎查资料,然后指出C++程序中源文件的扩展名包括以下:‎
选项:
A: cpp
B: cxx
C: cc
D: cplusplus
答案: 【 cpp;
cxx;
cc

3、多选题:
‌遵守编码规范有助于‎
选项:
A: 提升代码的可阅读性和可维护性
B: 让代码运行得更快
C: 让编译器编译时间更短
D: 减少代码编写中的低级错误
答案: 【 提升代码的可阅读性和可维护性;
减少代码编写中的低级错误

第2单元测验

1、单选题:
‏关于C++的main()函数说法不正确的是​
选项:
A: 必须得显式地写 return 语句返回一个整型值
B: 函数类型是 int 型
C: 可以带参数
D: 可以不带参数
答案: 【 必须得显式地写 return 语句返回一个整型值

2、单选题:
‎关于名字空间,说法正确的是‎
选项:
A: C语言也有名字空间
B: 名字空间不能嵌套声明
C: 名字空间可以用 for 作为名字
D: 程序员可以定义自己的名字空间
答案: 【 程序员可以定义自己的名字空间

3、单选题:
‍关于编译预处理,说法正确的是‏
选项:
A: using 是预处理指令
B: #define  HELLO是定义了一个宏,名字叫 HELLO
C: #define HELLO HELLO是定义了一个宏,名字叫 HELLO
D: C++源代码经过编译预处理之后,就变成了目标代码
答案: 【 #define  HELLO是定义了一个宏,名字叫 HELLO

4、单选题:
​int i = 1;‌​cout << i << i++;‌​‌​上面的代码的输出是‌
选项:
A: 11
B: 12
C: 21
D: 第二行代码是一句病式。最终结果依赖于两个 i 的取值次序。这是C++标准中未定义的行为。不同编译器会输出不同的结果。
答案: 【 第二行代码是一句病式。最终结果依赖于两个 i 的取值次序。这是C++标准中未定义的行为。不同编译器会输出不同的结果。

5、单选题:
‏‎‏char a, b;‎‏cin >> a;‎‏b = cin.get();‎‏‎‏从键盘上输入  字符 x 然后回车,那么 b中存放的是‎
选项:
A: 随机的字符
B: 字符x
C: 字符a
D: 换行符
答案: 【 换行符

6、单选题:
‌cin对象中,以下说法错误的是​
选项:
A: getline()函数可以读入一行字符串
B: get()的重载函数可以读入一行字符串
C: 使用 >> 可以输入时,遇到空格或制表符时都会停止
D: 也支持 << 操作
答案: 【 也支持 << 操作

7、多选题:
‏c++程序中的源文件扩展名包括以下:‎
选项:
A: cpp
B: cxx
C: java
D: asm
答案: 【 cpp;
cxx

8、多选题:
‌遵守编码规范有助于‌
选项:
A: 提升代码的可阅读性和可维护性
B: 提升程序开发小组协作的效率
C: 让代码运行得更快
D: 让程序员更快乐
答案: 【 提升代码的可阅读性和可维护性;
提升程序开发小组协作的效率

9、判断题:
‍运算符 >> 原本的含义是左移运算符‌
选项:
A: 正确
B: 错误
答案: 【 错误

10、判断题:
‍int a, b;‏‍cin >> a >> b;‏‍‏‍输入 1  2‏‍则 a的值是2, b的值是1‏
选项:
A: 正确
B: 错误
答案: 【 错误

11、判断题:
‏编译器能帮我们检查代码的逻辑错误‎
选项:
A: 正确
B: 错误
答案: 【 错误

12、填空题:
‍C++程序的入口点是哪个函数?‍
答案: 【 main

13、填空题:
‏用于输出语句中,代表标准输出的对象是​
答案: 【 cout

第3单元C语法的增强及对应的C++11特性

第3单元测试2

1、单选题:
在32位编译器中,‎const int x = 10;
cout << sizeof (x);‎的输出是:‎
选项:
A: 2
B: 4
C: 8
D: 16
答案: 【 4

2、单选题:
对于已有代码‎char a[3], b[3];
char* const p = a;合法的后续语句是:‎
选项:
A: p[0] = 'a';
B: *(p++) = 'b';
C: p = b;
D: p[3] = b[0];
答案: 【 p[0] = 'a';

3、单选题:
对于函数1​void f(int a, int b = 1, int c = 2) {}与函数2​void f(int x, int y = 3) {}对于下面语句​f(3, , 1);来说,表述正确的是:​​​
选项:
A: 调用的是函数1
B: 调用的是函数2
C: 定义一个新的重载函数
D: 编译器会对函数调用语句报错
答案: 【 编译器会对函数调用语句报错

4、单选题:
char s[] = {'H', 'e', 'l', 'l', 'o'};
auto i = 0;
for(char c : s) {
  i++;
}
cout << i;‎‎的输出结果是‎​‎
选项:
A: 0
B: 4
C: 5
D: 6
答案: 【 5

5、单选题:
‎int x = 108;中的108存放在哪个区域?‍
选项:
A: 常量区
B: 静态区
C: 堆区
D: 栈区
答案: 【 常量区

6、单选题:
‍下面程序片段,哪一个是正确的?‏
选项:
A: int n=4; int& r=n*3;
B: int m=5; const int& r=m; r=6;
C: int n=8; const int& p=n; int& q=p ;
D: int n=8; int& p=n; const int q=p ;
答案: 【 int n=8; int& p=n; const int q=p ;

7、单选题:
‌设void f1(int * m,long & n);int a;long b;则以下调用合法的是()‌
选项:
A: f1(a,b);
B: f1(&a,b);
C: f1(a,&b);
D: f1(&a,&b);
答案: 【 f1(&a,b);

8、单选题:
‏重载函数在调用时选择的依据中,错误的是( )‌
选项:
A: 函数的参数
B: 参数的类型
C: 函数的名字
D: 函数的类型
答案: 【 函数的类型

9、单选题:
‍如有函数定义:void func(int x = 0, int y = 0){ …. },则下列函数调用中会出现问题的是____。‌
选项:
A: func(1,2, 3);
B: func(1,2);
C: func(1);
D: func();
答案: 【 func(1,2, 3);

10、判断题:
‏using ULInt = unsigned long int;
using PULInt = ULInt*;‏‏在C++11中是正确的‏‏‏
选项:
A: 正确
B: 错误
答案: 【 正确

11、判断题:
函数‌int max(int, int);与函数‌unsigned max(unsigned, unsigned);‌能够构成重载函数‌​‌
选项:
A: 正确
B: 错误
答案: 【 正确

12、填空题:
代码‎#include <iostream>
auto i = 1;
int main() {
  for (auto i = 0; i < 5; i++) {
    ::i += i;
  }
  std::cout << ::i;
  return 0;
}‎‎的输出结果是:‎‎‎
答案: 【 11

13、填空题:
‏声明内联函数的关键字是‍
答案: 【 inline

第3单元测验1

1、单选题:
对于语句‌int& x = y, y = 0;说法正确的是‌
选项:
A: y是一个引用
B: x存放的是y的地址
C: y的地址是0
D: 有语法错误
答案: 【 有语法错误

2、单选题:
char* p = new char(32);‏对应的释放内存的语句是:‏‎‏
选项:
A: delete [] p;
B: free(p);
C: delete p;
D: delete <char> p;
答案: 【 delete p;

3、单选题:
‍char* a = new char[32];对应的释放内存的语句是:‎
选项:
A: free a;
B: delete *a;
C: delete a[];
D: delete [] a;
答案: 【 delete [] a;

4、单选题:
bool x = static_cast<bool>('a');
bool y = ( x != true);‌‌x和y的值分别是什么?‌
选项:
A: true    true
B: true  false
C: false  false
D: false   true
答案: 【 true  false

5、单选题:
​对于以下代码‎​auto x { 2.f };x的类型是‎​‎
选项:
A: float
B: double
C: int
D: auto
答案: 【 float

6、单选题:
int const x = 3;
auto y { x };
auto& z { x };​则y和z的类型分别是​
选项:
A: const int 和 int
B: int 和 int
C: int 和 const int
D: int 和 int& 
答案: 【 int 和 const int

7、判断题:
‍引用在定义的时候就必须被初始化‍
选项:
A: 正确
B: 错误
答案: 【 正确

8、判断题:
‌如果被调函数的形式参数是引用类型,那么对形式参数赋值,效果上相当于对实际参数进行赋值‎
选项:
A: 正确
B: 错误
答案: 【 正确

9、判断题:
int* p = nullptr;
int*  q;‎在C++11中,第一行的代码写法要比第二行代码规范‎‍‎
选项:
A: 正确
B: 错误
答案: 【 正确

10、判断题:
cout << static_cast<double>(1 / 2);‌的输出是0.5‌
选项:
A: 正确
B: 错误
答案: 【 错误

11、判断题:
对于代码​long int x { 1.1 };​编译器不会报错。​​​
选项:
A: 正确
B: 错误
答案: 【 错误

12、判断题:
‎auto x = 'c';
auto p = &x;‍‎p的类型是 char*‍‎‍
选项:
A: 正确
B: 错误
答案: 【 正确

第4单元对象和类基础

第4单元测试1

1、单选题:
‎类Circle有一个无参构造函数,还有一个接收一个参数的构造函数,那么下面匿名对象相关的代码中,哪些是正确的?​
选项:
A: Circle c = {Circle a};
B: Circle c{ 1.0 } = Circle;
C: Circle c;c = Circle{};
D: Circle c;c(Circle{1});
答案: 【 Circle c;c = Circle{};

2、单选题:
给定例子中的Circle类;则‏‏Circle c{}, *p = &c;
Circle x{ 8.0 }, *q = &x;‏‏则让c对象的半径也变成 8.0 的代码有:‏‏‏
选项:
A: q = p;
B: *q = c;
C: *p = x;
D: c = q;
答案: 【 *p = x;

3、单选题:
class Circle {};
int main() {
  Circle *p = new Circle[4];
  p++;
  
}‍‍第5行代码要删除数组应该用:‍‍‍
选项:
A: delete [] p;
B: delete [] Circle;
C: delete [] (p--);
D: delete [] (--p);
答案: 【 delete [] (--p);

4、单选题:
对于代码‌struct X {‌  int x {8};‌  X() : x {10} {‌    x = 42;‌  }‌};‌X  c;‌‌则 c.x 的值是‌‌‌
选项:
A: 8
B: 10
C: 42
D: 不能确定
答案: 【 42

5、多选题:
‍面向对象的四个特征中,“P”和“I”分别代表‎
选项:
A: Polygram
B: Polymorphism
C: Inharitanse
D: Inheritance
答案: 【 Polymorphism;
Inheritance

6、多选题:
‏避免头文件被多次包含的编译预处理方法有‍
选项:
A: #ifndef  HEADER_FILE_NAME#define HEADER_FILE_NAME// 程序代码#endif
B: #pragma once
C: #include once
D: C++11 的 _Pragma 运算符
答案: 【 #ifndef  HEADER_FILE_NAME#define HEADER_FILE_NAME// 程序代码#endif;
#pragma once;
C++11 的 _Pragma 运算符

7、多选题:
‌关于this指针,说法正确的有‎
选项:
A: this指针是自动初始化的
B: this指针的类型是 void *
C: this指针指向调用当前函数的对象
D: 我们可以显式声明this指针
答案: 【 this指针是自动初始化的;
this指针指向调用当前函数的对象

8、多选题:
‎以下哪些函数可以作为类Circle的默认构造函数?​
选项:
A: Circle::Circle();
B: Circle::Circle(double radius);
C: Circle::Circle(double r = 1.0, char color = 'b');
D: Circle::Circle(Circle& c);
答案: 【 Circle::Circle();;
Circle::Circle(double r = 1.0, char color = 'b');

9、判断题:
​面向对象的四个特征中“E”代表的是 Encaption‍
选项:
A: 正确
B: 错误
答案: 【 错误

10、判断题:
‏构造函数不能有返回值,所以构造函数名的前面必须加上关键字 void‏
选项:
A: 正确
B: 错误
答案: 【 错误

11、判断题:
‍类的数据成员也叫做实例变量‍
选项:
A: 正确
B: 错误
答案: 【 错误

12、判断题:
‎对象拷贝时,对象中的函数成员也进行一对一拷贝‏
选项:
A: 正确
B: 错误
答案: 【 错误

13、判断题:
‌存放类声明的头文件被包含多次,编译器可能会报告类重复声明的错误‌
选项:
A: 正确
B: 错误
答案: 【 正确

14、判断题:
​将类的声明放到.h文件中,将类的实现放到.cpp文件中,这两个文件的名字除了扩展名之外必须完全相同‌
选项:
A: 正确
B: 错误
答案: 【 错误

15、判断题:
int main() {
 &nbs

剩余75%内容付费后可查看

发表评论

电子邮件地址不会被公开。 必填项已用*标注