#370. 2024 csp第一轮模拟1
2024 csp第一轮模拟1
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
Statistics
Related
In following contests: