#A. 2024 csp第一轮模拟1
2024 csp第一轮模拟1
You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.
2024 csp第一轮模拟1
C++语言试题
考生注意事项:
- 试题纸共有 16 页,答题纸共有 1 页,满分 100 分。请在答题纸上作答,写在试题纸上的 一律无效。
- 不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。#### 一、单项选择题(共 15 题,每题 2 分,共计 30 分;每题有且仅有一个正确选项选择题)
-
在标准ASCI码表中,已知英文字母Z的ASCII码十进制表示是90,那么英文字 母B的 ASCII码二进制表示是()。
{{ select(1) }}
- 01000001
- 01000010
- 01000011
- 01000000
-
以下关于CSP与NOIP的描述正确的是()。
{{ select(2) }}
- CSP 属于非专业认证,只有在校生才能参加
- CSP 是中国电子学会举办的程序设计竞赛
- CSP 和NOIP 毫无关系,没参加CSP也可以直接参加NOIP
- CSP和 NOIP 都是CCF旗下的程序设计赛事
-
以下不能用作C+程序中的标识符的是()。
{{ select(3) }}
- private
- friends
- news
- pascal
-
NOI复赛测评机所用的Linux系统属于()。
{{ select(4) }}
- UML
- IDE
- OS
- Database
-
如果65536种颜色用二进制编码来表示,至少需要()个二进制位。
{{ select(5) }}
- 16
- 8
- 12
- 10
-
搜索算法中的BFS算法经常用到的数据结构是()。
{{ select(6) }}
- 堆
- 栈
- 链表
- 队列
-
在已经从小到大排好序的n元素单向链表中查询是否存在关键字为k的元素,最坏情况下运行的时间复杂度是()。
{{ select(7) }}
- O(logn)
- O(n)
- O()
- O(nlogn)
-
在下列各种排序算法中,不是以“比较”作为主要操作的算法是()。
{{ select(8) }}
- 归并排序
- 快速排序
- 冒泡排序
- 桶排序
-
关于计算机网络,下面的说法中正确的是()。
{{ select(9) }}
- 现在的计算机必须连接到互联网才能正常运行
- 192.168.0.1是A类IP地址
- 互联网的诞生用到了现代计算机技术和现代通信技术
- 接入互联网的计算机的IP地址已经全部升级到了IPv6地址
- 将(2,6,10,17)分别存儲到某个地址区间为0—10的哈希表中,如果哈希函数h(x)=(),将不会产生冲突,其中a%b表示a除以b的余数,sqrt表示开平方,floor表示向下取整。
{{ select(10) }}
- x%11
- %11
- 2x%11
- floor(sqrt(x))%11
- 现在有一个十六进制数27,它等于二进制数的()。
{{ select(11) }}
- 100011
- 100101
- 100111
- 100011
- 以下逻辑表达式中,不管A、B如何取值,恒为假的是()。
{{ select(12) }}
- (┐A∨B)∧(A∨B)∧A
- ((┐A∨B)∨(A∨┐B)∧B
- A∧((┐A∨B)∨(A∨-B))∧┐A
- (-A∨B)∨(A∨┐B)∧A∧┐B
- 某二叉树有16个结点都同时有左孩子结点和右孩子结点,则该二叉树中的叶子结点数是()个。
{{ select(13) }}
- 19
- 17
- 18
- 16
- 现有16张不同的卡片,其中红、黄、蓝、绿色卡片各4张。从中任取3张,要求红色最多有1张并且3张卡片不能是同一种颜色,不同的取法组合共有()种。
{{ select(14) }}
- 232
- 472
- 256
- 484
- 有8个结点的非连通无向图最多有()条边。
{{ select(15) }}
- 8
- 7
- 21
- 49
二、阅读程序(程序输入不超过数组或字符串定义的范围;判断题正确填√,错误填×:
除特殊说明外,判断题每题1.5分,选择题每题3分,共计40分)
(1)
判断题
- 若输入0 2024,则输出结果为0。()
{{ select(16) }}
- √
- ×
- 将第5行中的if(b)改为if(0!=b),程序的运行结果不会改变。()
{{ select(17) }}
- √
- ×
- 若输入2.4 4.8,则输出错误。()
{{ select(18) }}
- √
- ×
- 将第15行
return a/gcd(a,b)*b
替换成return a*b/gcd(a,b)
,程序的运行结果不会改变。()
{{ select(19) }}
- √
- ×
选择题
- 若输入数据为20244204 12348,则输出为()。
{{ select(20) }}
- 18
- 36
- 12
- 24
- 若将第20行 cout < gcd(a,b)< endl替换成 cout<lcm(a,b)< endl,输入数据为20244204 12348,则输出为()。
{{ select(21) }}
- 6,943,761,972
- 程序出错,无输出
- 3,471,880,986
- 某个负数
(2)
- 输人一个长度大于128的字符串,程序的输出一定会出错。
{{ select(22) }}
- √
- ×
- 将第6行cin.getline(s,128)更换为getline(cin,s),程序的运行结果不变
{{ select(23) }}
- √
- ×
- 将第13行
s[i]^=' '
更换为s[i]^= 32
,程序的运行结果不变。
{{ select(24) }}
- √
- ×
- 将第9行
if(s[i]==90)
更换为if(s[i]=='Z')
,程序的运行结果不变
{{ select(25) }}
- √
- ×
26,若输人字符串s为CSPjs2024
,则输出为()。
{{ select(26) }}
- dtqjs2024
- cspjs2024
- DTQjs2024
- CSPjs2024
- 若输出bcdea,则输人字符串s为(
{{ select(27) }}
- BCDEA
- ABCDZ
- abcde
- bcdez
(3)
- 如果输入n的值为0,那么程序在运行过程中一定会出现错误。
{{ select(28) }}
- √
- ×
- 如果将第26行的a[x]=0去掉,输出的结果不会改变。
{{ select(29) }}
- √
- ×
- 该程序算法的时间复杂度是。
{{ select(30) }}
- √
- ×
- 输入某个正整数n,程序运行的输出结果可能会等于0。
{{ select(31) }}
- √
- ×
- 若输入n=2,那么输出结果是()。
{{ select(32) }}
- 1
- 2
- 3
- 0
- 若输入n=5,那么输出结果是(
{{ select(33) }}
- 16
- 5
- 10
- 12
- 若输出结果为128,则输入n是()。
{{ select(34) }}
- 8
- 7
- 16
- 32
三、完善程序(单选题,每小题3分,共计30分)
(1)输入一个十进制正整数n,然后将n转换为二进制数,最后统计二进制数的各位数字,看看一共有多少位为1,然后打印出总数。
输入格式:
第1行输入十进制正整数n
输出格式:
输出一个整数,表示十进制正整数n转换成的二进制数中有多少位为1。
输入样例:
127
输出样例:
7
样例说明:
十进制数 127转换为二进制数1111111,二进制位一共有7个1,所以输出7
- ①处应填()。
{{ select(35) }}
- x=n
- x=1
- x=0
- x=n-1
- ②处应填(
{{ select(36) }}
- --cnt
- ++cnt
- cnt--
- cnt
- ③处应填()。
{{ select(37) }}
- x/=2
- n++
- x++
- n--
- ④处应填()
{{ select(38) }}
- i<cnt
- i<cnt/2
- i<=cnt
- i<=cnt/2
- ⑤处应填()
{{ select(39) }}
- sum--
- sum=x
- sum=0
- sum++
(2)在一个nxn的棋盘上布满了0和1,如图(a)所示(n=7)。为叙述方便,将0用字母表示,如图(b)所示。
跳棋规则如下:
(i)从某个0格出发,可以向上、下、左、右4个方向连续越过若干个(至少1个)格后跳人下一个0格。如图(b)所示,从A出发,可跳到B,或者跳到E,但不能直接跳到K。在跳到B之后还可以继续跳到F,在跳到E之后可继续跳到F或K,直到不能再跳为止。 (ii)每个0格只能到达一次,给出的起始点不能再次到达,也不能越过。跳过的距离为跳过1格的个数加1,如从A到B,跳过距离为3,从B到F,跳过距离为 2。
问题:当给出棋盘和起始点之后,最远能跳的距离是多少?
如图(b)所示,从A出发,可跳的路线不止一条,其中一条为: A - B - F - L - K - E(可能不唯一) 3 3 2 3 3 它的跳过距离为 14。
输人格式:
第1行3个整数n(1≤n≤100)、x、y(x,y是起始点坐标,图(b)中A处坐标为1,3)。 接下来n行,每行个数(0或1),数与数之间用一个空格分隔。
输出格式:
一个整数,即最大可跳距离(若不能跳,则输出0)
输入样例:
4 3 2 1010 1111 0010 110 1
输出样例: 6
- ①处应填()
{{ select(40) }}
- 0
- max(ans,step)
- 1
- step
- ②处应填()。
{{ select(41) }}
- vis[tx][ty]== 1
- vis[tx][ty]== 0
- a[tx][ty]== 1
- a[tx][ty]== 0
- ③处应填(
{{ select(42) }}
- step+s
- step+1
- step
- step-1
- ④处应填()。
{{ select(43) }}
- A. vis[tx][ty]= 1
- B. a[tx][ty]= 1
- C. vis[tx][ty]= 0
- D. a[tx][ty] = 0
- ⑤处应填()。
{{ select(44) }}
- A. a[x][y]= 1
- B. a[x][y]= 0
- C. vis[x][y]= 1
- D. vis[x][y]= 0
CSP第一轮模拟测试
- Status
- Done
- Rule
- OI
- Problem
- 1
- Start at
- 2024-8-9 17:30
- End at
- 2024-8-12 23:00
- Duration
- 77 hour(s)
- Host
- Partic.
- 21