2022暑期集训 模拟一 w

*
学号:
*
姓名:
一.单项选择题(共15题,每题2分,共30分)
*
1.以下不属于程序设计语言的是()
A. Ruby
B. PHP
C. Linux
D. Perl
*
2.以下哪个数字最大()
A. (1011001001101110)_2
B. (131160)_8
C. (B26F)_16
D. 45671
*
3.表达式(a+b)*(c-d) 的逆波兰表达式为()
A. ab+cd-*
B. *+ab-cd
C. *+-abcd
D. abcd+-*
*
4.由数字 0,1,1,2,3,3组成的不同的三位数有多少种()
A. 30
B. 32
C. 34
D. 36
*
5.以下是合法的IP地址的是()
A. 1:2:3:4:a:b:c:d
B. 127.0.0.0.1
C. 10:239:0:254
D. 123.231.312.123
*
6.以下哪个不是CPU的组成部分()
A. 网卡
B. 寄存器
C. Cache
D. ALU
*
7.64KB的存储器用十六进制表示,它的最大的地址码是()
A)1111
B)10000
C)FFFF
D)1FFFF
*
8.移动10个圆盘的汉诺塔问题至少需要多少步()
A. 512
B. 511
C. 1024
D. 1023
*
9.已知一颗二叉树的中序遍历为EBACFD,后序遍历为EBCDFA,则前序遍历为()
A. ABCDEF
B. CDABEF
C. EFABCD
D. ABEFCD
*
10.多媒体计算机是指下面哪种计算机()
A)专供家庭使用的
B)装有CD-ROM的
B)连接在网络上的高级
D) 具有处理文字、图形、声音、影像等信息的
*
11.对于链表,下列哪个操作的时间复杂度不是O(1) ()
A. 删除一个元素
B. 插入一个元素
C. 找到指定下标的元素
D. 以上都不对
*
12.编号为1至10的10个人围成一圈开始进行报数,报到偶数的人离开队伍,最后留下的人的编号是()
A. 3
B. 5
C. 7
D. 9
*
13.3条直线最多能将平面分成7个区域,5条直线最多能分成几个区域()
A. 16
B. 17
C. 18
D. 19
*
14.以下哪个不是在NOI Linux中官方提供的集成开发环境()
A. GUIDE
B. Anjuta
C. Lazarus
D. VS Code
*
15.已知小写字母x的ascii码是120,小写字母k的ascii码是()
A. 105
B. 106
C. 107
D. 108
二.阅读程序(判断题1.5分,选择题3分,共计40分)
#include <iostream>
#include <string>
using namespace std;
int main() {
        string s;
        int k;
        getline(cin, s);
        cin >> k;

        for (int i = 0;i < s.size(); i ++) {
                if (s[i] >= 'A' && s[i] <= 'Z') {
                        s[i] = (s[i] - 'A' + k) % 26 + 'A';
                } else if (s[i] >= 'a' && s[i] <= 'z') {
                        s[i] = (s[i] - 'a' + k) % 26 + 'a';
                } if (s[i] >= '0' && s[i] <= '9') {
                        s[i] = (s[i] - '0' + k) % 10 + '0';
                }
        }
        cout << s;
}
*
16.对于任意的k,始终存在非空字符串s,使得输入和输出相同()
*
17.当程序输入的k等于520时,输出始终和输入的s相同()
*
18.当程序输入WangJialei和17时,输出为NrexBzrcvz( )
*
19.当程序输入JiWenhao233和12时,输出为VuIqztma455( )
*
20.20. 当程序输入2022Sng和2022时,输出为4044Mha( )
*
21. 当程序无论输入的s是什么,输出总是为s,且k为正数,此时k最小可能为()
A. 260
B. 26
C. 130
D.2
*
22. 对于输入的s和k,得到s’,对于输入的s’和k’得到s。如果已知k=67, 那么k’可能等于多少()
A. 35
B. 48
C. 63
D. 80
*
#include <iostream>
using namespace std;
int main() {
    unsigned int n, e, m;
    unsigned ans = 1;
    cin >> n >> e >> m;
    for (int i = 0;i < e;i ++) {
        ans = (ans * m) % n;
    }
    cout << ans;
}

23. 存在一组输入可以使得程序崩溃()
A.对
B.错
*
24. 存在一个n,使得对于任意的e和m,如果有输出,则输出均为常数()
A.对
B.错
*
25. 存在一个e,使得对于任意的n和m,如果有输出,则输出均为常数 ()
A.对
B.错
*
26. 存在一个m,使得对于任意的n和e,如果有输出,则输出均为常数()
A.对
B.错
*
27. 存在另一种写法,可以优化代码中的for循环,减少时间复杂度()
A.对
B.错
*
28. 输入7 100 5, 输出是()
A. 2
B.3
C.4
D.6
*
29. 已知输入n=17,e=23以及输出是5,输入的m可能是()
A. 4
B. 6
C. 8
D. 10
*
30. 已知输入n=35, e=17,对于输入m(m<35),可以得到输出c,然后再次输入35, d, c 可以得到m。则d的取值可能是(D)
A. 2
B. 3
C. 4
D. 5
三.完善程序(单选题,每小题3分,共计30分)
函数f负责返回数组中最小的没有出现的非负整数。
int f(vector<int> a) {
        int n = a.size();
        for (int i = 0;i < n;i ++) {
                if (______31______) continue;
                int pivot = a[i];
                for (;;) {
                        if (pivot < 0 || pivot >= n || _____32______) break;
                        int tmp = pivot;
                        pivot = a[pivot];
                        ______33______;
                }
        }
        for (int i = 0;i < n;i ++) {
                if (a[i] != i) {
                        ________34____;
                }
        }
        ______35______;
}
*
31. 选()
A. a[0] == i
B. a[i] == i
C. a[i] == 0
D. a[i] == n
*
32. 选()
A. a[pivot] == i
B. a[pivot] == pivot
C. a[i] == pivot
D. a[i] == i
*
33. 选()
A. a[pivot] = pivot
B. a[pivot] = tmp
C. a[tmp] = pivot
D. a[tmp] = tmp
*
34. 选()
A. return i;
B. return a[i];
C. return a[i] + 1
D. return i + 1
*
35. 选()
A. return n - 1
B. return n
C. return a[0]
D. return a[n - 1]
*
函数g负责返回数组中出现次数超过一半的数,即众数
int g(vector<int> a) {
    int ans, cnt = 0;
    for (int i = 0;i < _____36_____;i ++) {
            if (_____37_____) {
                    ans = a[i];
                    cnt ++;
            } else if (______38______) {
                    cnt ++;
            } else {
                    _______39_____;
            }
    }
    return ______40_______;
}

36. 选()
A. a.size()
B. a.size() - 1
C. a.length()
D. a.length() – 1
*
37. 选()
A. ans == 0
B. cnt == 0
C. ans == a.size()
D. cnt == a.size()
*
38. 选()
A. ans != a[i]
B. cnt != 0
C. cnt == 0
D. ans == a[i]
*
39. 选()
A. cnt ++
B. cnt –
C. ans = a[i]
D. cnt = 0
*
40. 选()
A. return ans
B. return cnt
C. return cnt - 1
D. return cnt + 1
Powered By www.wjx.cn
Report