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