(1)定义一个包含 5 个整数的一维数组,正确的是( )
A. int a[5];
B. int a(5);
C. int a{5};
D. int a = [5];
(2)已知int arr[4] = {10, 20, 30, 40};,访问数组中第 3 个元素的正确方式是( )
A. arr[2]
B. arr[3]
C. arr(2)
D. arr{2}
(3)以下对冒泡排序算法的描述,正确的是( )
A. 冒泡排序是一种不稳定的排序算法
B. 冒泡排序在最好情况下的时间复杂度为 (O(n))
C. 冒泡排序不需要额外的存储空间
D. 冒泡排序每次比较相邻的两个元素,将较小的元素往后移
(4)选择排序在每次选择元素时,是从( )选择。
A. 已排序部分
B. 未排序部分
C. 整个数组
D. 数组的前半部分
(5)定义一个 3 行 4 列的二维数组,正确的是( )
A. int a[3, 4];
B. int a[3][4];
C. int a(3, 4);
D. int a[][4] = {{1, 2, 3}, {4, 5, 6}};
(6)字符数组char str[10] = "Hello";,该字符数组的实际长度是( )
A. 5 B. 6 C. 10 D. 不确定
(7)关于函数定义和调用,以下说法正确的是( )
A. 函数定义可以嵌套,但函数调用不能嵌套
B. 函数必须有返回值
C. 函数定义时的参数是实参,函数调用时的参数是形参
D. 函数可以提高代码的复用性
(8)以下递归函数的功能是计算( )
int func(int n) {
if (n == 0) return 1;
return n * func(n - 1);
}
A. n的阶乘 B. n的平方 C. n的立方 D. 2n
(9)若有结构体定义struct Point { int x; int y; };,定义一个结构体变量并初始化,正确的是( )
A. Point p = {1, 2};
B. struct Point p = [1, 2];
C. Point p(1, 2);
D. struct Point p = {x: 1, y: 2};
(10)十进制数 25 转换为二进制数是( )
A. 11001 B. 10101 C. 11101 D. 10011
(11)以下位运算符中,按位与运算符是( )
A. | B. & C. ^ D. ~
(12)已知int a = 5, b = 3;,则a & b的结果是( )
A. 1 B. 3 C. 5 D. 7
(13)枚举算法的核心思想是( )
A. 分而治之
B. 穷举所有可能情况
C. 贪心选择
D. 动态规划
(14)对于一个需要频繁插入和删除元素的场景,以下哪种数据结构更合适( )
A. 数组 B. 链表 C. 栈 D. 队列
(15)以下关于递推算法的描述,错误的是( )
A. 递推算法需要有初始条件
B. 递推算法分为正序递推和倒序递推
C. 递推算法一定比递归算法效率高
D. 斐波那契数列的计算可以使用递推算法
无
无
大家根据自己的答案输出结构即可,例如15题做的答案为 AAAAABBBBBCCCCC,则我们提交的程序是:
//标准程序,修改好答案后提交
#include <bits/stdc++.h>
using namespace std;
string s = "0";
int main(){
s += "AAAAABBBBBCCCCC";//字符串更改为你的答案,共10个,其他的都不要更改
int x;
cin >> x;
cout << s[x];
return 0;
}