A. CSP-J初赛模拟试题1

    客观题

CSP-J初赛模拟试题1

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

一、单项选择题(共15题,每题2分,共计30分;每题有且仅有一个正确选项)

  1. 在标准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;

CSP-J组第一轮

未参加
状态
已结束
规则
OI
题目
1
开始于
2024-8-27 14:45
结束于
2024-8-27 16:45
持续时间
2 小时
主持人
参赛人数
18