一、单项选择题(共15题,每题2分,共计30分;每题有且仅有一个正确选项)
1 在 C++ 语言中,以下哪种方式不能用于向函数传递参数?()
A 值传递
B 模板传递
C 引用传递
D 指针传递
2 以下关于算法的描述中正确的是()。
A 算法是为解决问题而编制的计算机程序
B 算法是为解决问题而采用的计算机程序设计语言
C 算法是为解决问题而采用的计算方法
D 算法是为解决问题而采取的方法与步骤
3 在关系数据库中,存放在数据库中的数据的逻辑结构以( )为主。
A 二维表
B 二叉树
C 哈希表
D 邻接表
4 设某算法的时间复杂度函数的递推方程是 ( T(n) = T(n-1) + n )(( n ) 为正整数)及 ( T(0) = 1 ),则该算法的时间复杂度为( )。
A O(\log n)
B O(n)
C O(n^2)
D O(n \log n)
5 在 C++ 语言中,一般提到的“空间复杂度”中的“空间”是指( )。
A 程序运行时所占的内寸大小
B 程序运行时所占的数组大小
C 程序运行时所占的硬盘大小
D 程序源文件所占的硬盘大小
6 2017 年 9 月 30 日是星期六,1999 年 9 月 30 日是( )。
A 星期三
B 星期六
C 星期五
D 星期四
7 设栈 S 的初始状态为空,元素 1, 2, 3, 4, 5 依次入栈,以下出栈序列中不可能出现的是( )。
A 1, 2, 3, 5, 4
B 2, 3, 1, 5, 4
C 1, 5, 3, 2, 4
D 4, 3, 5, 2, 1
8 关于分治算法,下列说法中错误的是( )。
A 分治算法的核心思想是分而治之,把问题转化为多个规模更小的子问题再求解
B 分治算法可以不使用递归实现
C 分治算法的时间复杂度是 O(logn),其中 n 表示问题的规模
D 二分法、快速排序等算法都是使用分治思想的典型算法
9 如下代码主要表示什么数据结构?( )
typedef int LTDataType;
typedef struct ListNode
{
struct ListNode* prev;
struct ListNode* next;
LTDataType data;
} LTNode;
A 单向链表
B 双向链表
C 循环链表
D 优先队列
10 使用如下代码片段定义 4 个字符串(假设头文件已正确定义),以下说法中错误的是( )。
```
string str1 = "csp";
string str2 = str1;
char str3[] = "csp";
char * str4 = str3;
```
A 对于 4 个字符串,都可以使用 std::cout 输出其中的内容(例如,cout<< str3;)
B str3 只占用 4 字节内存,但 str1 要占用更多内存
C 由于 str2 由 str1 直接赋值得到,因此二者指向同一块内存,即修改 str1 的内容后 str2 的内容也会随之改变
D 由于 str4 由 str3 直接赋值得到,因此二者指向同一块内存,即修改 str3 的内容后 str4 的内容也会随之改变
11 冯·诺依曼体系结构中组成计算机的五大部件是( )。
A 总线、处理器、存储器、输入设备、输出设备
B 处理器、运算器、存储器、输入设备、输出设备
C 总线、控制器、存储器、输入设备、输出设备
D 控制器、运算器、存储器、输入设备、输出设备
12 如下代码对树的操作是:
```cpp
void postorder(tree bt) {
if(bt) {
postorder(bt->lchild);
postorder(bt->rchild);
cout << bt->data;
}
}
```
A 后序遍历
B 中序遍历
C 前序遍历
D 层次遍历
13 有规格尺寸相同的5种颜色的手套(不分左右)各15只混装在箱子里,从中至少取出多少只,才能保证配出3副颜色相同的手套?
A 8
B 9
C 10
D 11
14 由3个a、5个b和2个c构成的字符串中,包含子串"abc"的共有多少个?
A 39600
B 780
C 840
D 260
15 1 GB 代表的字节数量是:
A 2^{10}
B 2^{20}
C 2^{30}
D 2^{40}
无
//标准程序,修改好答案后提交
#include <bits/stdc++.h>
using namespace std;
string s = "0";
int main(){
s += "ABCDABCDABCDABC";//字符串更改为你的答案,共15个,其他的都不要更改
int x;
cin >> x;
cout << s[x];
return 0;
}