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

    客观题

CSP-J初赛模拟试题2

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

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

1.在C++程序中用到的一个常量a=5e-6在内存中占( )空间。

{{ select(1) }}

  • 2字节
  • 1字节
  • 4字节
  • 8字节

2.以下关于CSP与NOIP 的描述正确的是( )

{{ select(2) }}

  • CSP属于专业认证,只有计算机专业在校生才能参加
  • CSP-J/CSP-S是中国通信学会举办的程序设计竞赛
  • CSP-J初赛零分也可以直接报名参加NOIP
  • CSP-J和CSP-S都是CCF牵头举办的程序设计赛事

3某单位安装一条电信宽带进行上网,运营商说下行速度是500Mbps。要下载大小为3.10GB 的软件,最快大约需要()秒。

{{ select(3) }}

  • 2
  • 20
  • 200
  • 2000

4.大写字母 M的 ASCI 码整数值和空格的 ASCII 码整数值之和,是字母m的 ASCI4码整数值。空格的ASCI码整数值是( )

{{ select(4) }}

  • 32
  • 31
  • 30
  • 29

5.在微型计算机中,()的存取速度最快。

{{ select(5) }}

  • RAM
  • CD-ROM
  • 高速缓存
  • 寄存器

6.搜索算法中的 DFS算法经常用到的数据结构是( ).

{{ select(6) }}

  • 链表
  • 队列

7.以下哪个说法是正确的?( )

{{ select(7) }}

  • 花括号“{”和“}”只能作为C++函数体的定界符
  • 构成 C++程序的基本单位是函数,所有函数名都可以由用户命名
  • 分号是C++语之间的分隔符,不是语句的一部分
  • C++程序中的注释部分可以出现在程序中任意合适的地方

8.在下列排序算法中,STL中的sort()函数采用的主要算法是()

{{ select(8) }}

  • 选择排序
  • 拓扑排序
  • 冒泡排序
  • 快速排序

9. 以下哪个说法是正确的?()

{{ select(9) }}

  • 第一台电子计算机ENIAC是基于集成电路的产物
  • 计算机必须要同时有IP地址和域名才能接人互联网
  • david@163.com 是一个正确的电子邮箱地址
  • 手机上收到的短信,里面的链接可以随意点击打开

10.以下不能对二维数组a进行正确初始化的语句是(79

{{ select(10) }}

  • int a[2][3]={{1,2},{3,4},{5,6}};
  • int a[][3]={{1,2},{0}};
  • int a[2][3]={0};
  • int a[][3]={1,2,3,4,5,6};

11.现在有一个八进制数 274,其转换成的二进制数是()。

{{ select(11) }}

  • 10111011
  • 10111101
  • 10111100
  • 10101100

12.设A=tue,B=false,C=false,D=tue,以下逻辑运算表达式的值为假的是( )

{{ select(12) }}

  • ((A∧B)VC)∧D
  • (A V B)∧(CV D)
  • A∧(BVC)VD)
  • (A∧ B VC))V D

13.二叉树的中序序列为ABCEFGHD,后序序列为ABFHGEDC,则其前序序列为( )

{{ select(13) }}

  • CBADEGHF
  • CBADEGFH
  • CBDAEGFH
  • CBADGEFH

14.从班级中体育比较好的12人中选5人去参加运动会,其中甲、乙、丙最多同时选两人,不同的选法共有()种。

{{ select(14) }}

  • 792
  • 756
  • 720
  • 676

15.以下哪个结构可以用来存储图?( )

{{ select(15) }}

  • 二叉树
  • 邻接表
  • 队列

二、阅读程序(程序输入不超过数组或字符串定义的范围;判断题正确填√,镨误填x;除特殊说明外,判断题每题15分,选择题每题3分,共计40分)

(1)

判断题

16.将第2行代码改为#include<stdio.h>,程序的运行结果不会改变。( )

{{ select(16) }}

  • 正确
  • 不正确

17.将第9~10行代码改为 cin>>s1>>s2;,程序的运行结果不会改变。( )

{{ select(17) }}

  • 正确
  • 不正确

18.若输入两个都超过1005 位长的正整数,则程序一定会出错且无输出。( )

{{ select(18) }}

  • 正确
  • 不正确

19.在输入0 0的情况下,将第24行代码中的lc>0去掉,程序的运行结果不会改变( )

{{ select(19) }}

  • 正确
  • 不正确

选择题

20.若输入数据为1024 1000,则输出为( )。

{{ select(20) }}

  • 24
  • 2024
  • 1024
  • 1000

21.若输入数据为1 -1,则输出为( )

{{ select(21) }}

  • 1
  • 0
  • -1
  • 以上都不是

(2)

判断题

22.该排序算法用到的是不稳定的排序算法。( )

{{ select(22) }}

  • 正确
  • 不正确

23.将第10行改为mid = l + r >> 1; 程序的输出结果不变。( )

{{ select(23) }}

  • 正确
  • 不正确

24.该排序算法用到了分治的思想。( )

{{ select(24) }}

  • 正确
  • 不正确

25.第 35 行代码用到的三目运算符处理代码可以用等价的条件语句来写。( )

{{ select(25) }}

  • 正确
  • 不正确

选择题

26.在最坏情况下,该算法的时间复杂度和下面哪个算法相当?( )

{{ select(26) }}

  • 插入排序
  • 选择排序
  • 堆排序
  • 快速排序

27.若输出2 3 5 7 8,则输入可能为( )

{{ select(27) }}

  • 1 2 4 6 7
  • 8 7 5 2 3
  • 3 4 2 5 7
  • 8 2 3 4 5

(3)

判断题

28.该程序的作用是对n进行质因数分解并从小到大依次打印。( )

{{ select(28) }}

  • 正确
  • 不正确

29.将第9行代码 printf("%4d",a[k]);中的4去掉,程序输出不变。( )

{{ select(29) }}

  • 正确
  • 不正确

30.第24~26行的作用是求出n的所有因子。( )

{{ select(30) }}

  • 正确
  • 不正确

31.程序运行过程中,若输入n为0或者负数,程序一定会打印错误,崩溃退出。( )

{{ select(31) }}

  • 正确
  • 不正确

选择题

32.若输入6,则输出为( )

{{ select(32) }}

  • 6
    3 2
  • 72
    36 2
  • 6
    2 3
  • 72
    2 35

33.若输入n=1,那么输出结果可能是( )

{{ select(33) }}

  • 2
  • 1
  • 0
  • 什么也不输出

34.(4分)若输入2024,则输出有()行。

{{ select(34) }}

  • 18
  • 20
  • 21
  • 19

三、完善程序(单选题,每小题3分,共计30分)

(1)扫雷游戏是一款十分经典的单机小游戏。在n行m列的雷区中有一些格子含有地雷 (称为地雷格),其他格子不含地雷(称为非地雷格)。玩家翻开一个非地雷格时,该格子中将会出现一个数字,提示周围格子中有多少个是地雷格。玩家的目标是在不翻出任何地雷格的条件下,找出所有的非地雷格。请将程序补充完整。现在给出n行m列的雷区中的地雷分布,要求计算出每个非地雷格周围的地雷格数,注:一个格子的周围格子包括其上、下、左、右、左上、右上、左下、右下这8个方向上与之直接相邻的格子。

输入格式:

第1行是用一个空格隔开的两个整数n和m,分别表示雷区的行数和列数。接下来n行,每行 m个字符,描述了雷区中的地雷分布情况。字符*表示相应格子是地雷格,字符?表示相应格子是非地雷格。相邻字符之间无分符。

输出格式:

输出文件包含n行,每行m个字符,描述整个雷区。用*表示地雷格,用周围的地雷个数表示非地雷格。相邻字符之间无分隔符。

输入样例:

3 3
*??
???
?*?

输出样例:

*10
221
1*1

35.①处应填()。

{{ select(35) }}

  • g[i][j] !='?'
  • g[i][j] !='*’
  • g[i][j] != '\0'
  • g[i][j] =='*'

36.②处应填()。

{{ select(36) }}

  • cnt++
  • cnt = 0
  • cnt != 0
  • ++cnt =0

37.③处应填()。

{{ select(37) }}

  • k<8
  • k < m
  • k< n
  • k < min(m,n)

38.④处应填()。

{{ select(38) }}

  • g[i + dy[k]][j + dx[k]] == '*'
  • g[i - dx[k]][j - dy[k]] == '*'
  • g[i + dx[k]][j + dy[k]] == '*'
  • g[i - dy[k]][j - dx[k]] == '*'

39.⑤处应填()。

{{ select(39) }}

  • j != m
  • j != m-1
  • i != n
  • i != n-1

(2)给你n根火柴棍,你可以拼出多少个形如 A+B-C的等式?等式中的 A、B、C是用火柴棍拼出的整数(若该数非零,则最高位不能是0)。用火柴棍拼数字0~9的拼法 如图所示。

注意:
1.加号与等号各自需要两根火柴棍;
2.如果A不等于 B,则视 A+B=C与B+A=C为不同的等式(A,B,C≥0);
3.n根火柴棍必须全部用上。 \

输入格式:

一个整数n(1≤n≤24)。

输出格式:

一个整数,表示能拼成的不同等式的数目。

输入样例:

18

输出样例:

9

样例说明:

9个等式为 0+4=4、0+11=11、1+10=11、2+2=4、2+7=9、4+0=4、7+2=9、10+1=11、11+0=11。

40.①处应填( )。

{{ select(40) }}

  • i%=10
  • i/=10
  • i++
  • i--

41.②处应填( )。

{{ select(41) }}

  • k += hcb[i]
  • k += hcb[i/10]
  • k += hcb[i/10%10]
  • k += hcb[i%10]

42.③处应填( )。

{{ select(42) }}

  • num==0
  • num!=0
  • num==n
  • num!=n

43.④处应填( )。

{{ select(43) }}

  • count=1
  • count=matches(n)
  • count=0
  • count=n

44.⑤处应填( )

{{ select(44) }}

  • matches(i)+matches(j)+matches(i+j)+6==n
  • matches(i)+matches(j)+matches(i+j)+3==n
  • matches(i)+matches(j)+matches(i+j)+4==n
  • matches(i)+matches(j)+matches(i+j)+5==n

CSP-J组第一轮2

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