#A. CSP-J1模拟题

    Type: Objective

CSP-J1模拟题

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.

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

1、计算机如果缺少( ),将无法正常启动。

{{ select(1) }}

  • 内存
  • 鼠标
  • U 盘
  • 摄像头

2.一片容量为 8GB 的 SD 卡能存储大约( )张大小为 2MB 的数码照片。 {{ select(2) }}

  • 1600
  • 2000
  • 4000
  • 16000

3.有人认为,在个人电脑送修前,将文件放入回收站中就是已经将其删除了。这种想法是( )。 {{ select(3) }}

  • 正确的,将文件放入回收站意味着彻底删除、无法恢复
  • 不正确的,只有将回收站清空后,才意味着彻底删除、无法恢复
  • 不正确的,即使将回收站清空,文件只是被标记为删除,仍可能通过恢复软件找回
  • 不正确的,只要在硬盘上出现过的文件,永远不可能被彻底删除

4.主存储器的存取速度比中央处理器(CPU)的工作速度慢得多,从而使得后者的效率受到影响。而根据局部性原理,CPU 所访问的存储单元通常都趋于聚集在一个较小的连续区域中。于是,为了提高系统整体的执行效率,在 CPU 中引入了( )。 {{ select(4) }}

  • 寄存器
  • 高速缓存
  • 闪存
  • 外存

5.十进制数 0.5 与八进制数( )值相等。 {{ select(5) }}

  • 0.8
  • 0.5
  • 0.1
  • 0.4

6. 计算机用户可以根据需要安装软件,那么计算机的软件系统一般分为( ) {{ select(6) }}

  • 系统软件和应用软件
  • 管理软件和控制软件
  • 军用软件和民用软件
  • 高级软件和一般软件

7.关于互联网,下面的说法哪一个是正确的( )。 {{ select(7) }}

  • 新一代互联网使用的 IPv6 标准是 IPv5 标准的升级与补充。
  • 互联网的入网主机如果有了域名就不再需要 IP 地址。
  • 互联网的基础协议为 TCP/IP 协议。
  • 互联网上所有可下载的软件及数据资源都是可以合法免费使用的

8.关于程序设计语言,下面哪个说法是正确的: {{ select(8) }}

  • 加了注释的程序一般会比同样的没有加注释的程序运行速度慢。
  • 高级语言开发的程序不能使用在低层次的硬件系统(如:自控机床)或低端手机上。
  • 高级语言相对于低级语言更容易实现跨平台的移植。
  • 以上说法都不对。

9、已知大写字母 A 的 ASCII 编码为 65(十进制),则大写字母 J 的十进制 ASCII 编码为: {{ select(9) }}

  • 71
  • 72
  • 73
  • 74

10.广域网的英文缩写是( )。 {{ select(10) }}

  • LAN
  • WAN
  • MAN
  • LNA

11.如果 a 和 b 都是整形,a 的值为 5,b 的值为 2,那么 a/b 运算结果为( )。 {{ select(11) }}

  • 2
  • 2.5
  • 5
  • 1

12.在 c++中使用 cin 和 cout 应该调用( )库。 {{ select(12) }}

  • iostream
  • cstdio
  • cmath
  • stack

13.整形变量 a 和 b,a 的值为 5,执行语句 b=++a 后,b 的值为( ) {{ select(13) }}

  • 5
  • 6
  • 0
  • 1

14.n 是一个三位数,那 n 的十位数为( ) {{ select(14) }}

  • (n%10)/10
  • (n/100)%10
  • (n/100)%100
  • (n%100)/10

15.C++中 x 取值范围大于 1 并且小于 100 正确表示方法( ) {{ select(15) }}

  • x>1&&x<100
  • x>1||x<100
  • x>1&x<100
  • x>1##x<100

16.读入一个整数 a,如果 a 为偶数在屏幕上输出“yes”,如果 a 为奇数在屏幕上输出“no”。为实现该功能程序①处应该填写( ) {{ select(16) }}

  • a/2= =1
  • a/2= =0
  • a%2=0
  • a%2= =0

#include <iostream>

using namespace std;

int main() {

int a;

cin>>a;

if (① )

cout<<"yes";

else

cout<<"no";

}

17.如果 a 的值为 2,执行以下代码段输出( )

switch(a) {

case 1:cout<<1;

case 2:cout<<2;

case 3:cout<<3;

default:cout<<"error";

} {{ select(17) }}

  • 23 error
  • 2
  • 23
  • error

18.编写程序计算 2+12+22+……102+……1002,①处应该填写( )

#include<iostream>

using namespace std;

int main()

{

int i,s;

s=0;

for(i=2;i<=1002; ①)

s=s+i;

cout<<s;

} {{ select(18) }}

  • i=i+1
  • i=i+10
  • i=i+2
  • i=i+100

19.执行以下程序段输出( )

for(i=1;i<=5;i=i+1) {

if (i= =3)

continue;

cout<<i;

} {{ select(19) }}

  • 45
  • 12
  • 12345
  • 1245

20.执行以下程序段输出( )

a=123;

s=0;

while(a>0)

{

s=s+a%10;

a=a/10;

}

cout<<s; {{ select(20) }}

  • 6
  • 123
  • 3
  • 12

二、程序阅读(每题 4 分,共 40 分)

1.楼梯有 N 阶,上楼可以一步上一阶,也可以一步上二阶,计算上楼共有多少种不同的走法。当 N=1 时,只有 1 种走法;N=2 时有 2 种走法;N=5 时,有 8 种走法。 {{ select(21) }}

  • 正确
  • 错误

2. A 队和 B 队各有 5 名选手围坐一桌进行比赛,比赛规定相同队伍选手必须相隔就坐,即每个 A 队选手左右旁都是 B 队选手,每个 B 队选手左右旁都是 A 队选手。那么,这一桌一共有 1440 种不同的就坐方案。 注:如果在两个方案中,每个选手左右相邻的选手相同,则视为同一种方案。 {{ select(22) }}

  • 正确
  • 错误

#include<iostream>

using namespace std;

int main()

{

int a,b,c,d;

cin>>a>>b;

a=a+b;

b=a%10;

c=a-b;

d=a/10;

cout<<a<<endl;

cout<<b<<endl;

cout<<c<<endl;

cout<<b*10+d<<endl;

}

输入:15

23

输出:

38

8

30

83 {{ select(23) }}

  • 正确
  • 错误

4.

#include<iostream>

using namespace std;

int main()

{

int a,b,c;

cin>>a>>b>>c;

if (a>b&&b>c)

cout<<a<<' '<<b<<' '<<c<<' '<<endl;

if (a>c&&c>b)

cout<<a<<' '<<c<<' '<<b<<' '<<endl;

if (b>a&&a>c)

cout<<b<<' '<<a<<' '<<c<<' '<<endl;

cout<<"over";

}

输入:3 2 1

输出:

3 2 1 {{ select(24) }}

  • 正确
  • 错误

5.

#include<iostream>

using namespace std;

int main()

{

int a,b,c;

cin>>a>>b;

c=a;

while(c%b!=0)

{

c=c+a;

cout<<c<<endl;

}

}

输入:12 15

输出:

60

{{ select(25) }}

  • 正确
  • 错误

6.

#include<iostream>

using namespace std;

int main()

{

int i,j;

for(i=1;i<=4;i++)

{

j=4;

while(i<=j)

{

cout<<i*10+j<<" ";

j--;

}

cout<<endl;

}

return 0;

}

输出:

14 13 12 11

24 23 22

34 33

44

{{ select(26) }}

  • 正确
  • 错误

#include <iostream>

using namespace std;

int a,b;

int work(int a,int b){

if (a%b) return work(b,a%b); return b; }

int main(){ cin >> a >> b;

cout << work(a,b) << endl;

return 0;

}

输入: 20 12

输出: _______ {{ select(27) }}

  • 5
  • 20
  • 4
  • 12

image

输入: 2 3 5

输出: _______

{{ select(28) }}

  • 512
  • 39
  • 45
  • 416

image

输入: 11 2

输出: {{ select(29) }}

  • 782
  • 783
  • 781
  • 780

image

输入: NOIP 3

输出:

{{ select(30) }}

  • NPOI
  • PNIO
  • OIPN
  • INPO

三、程序完成题(每题 3 分,共 30 分)

1. 数列输出

输入两个整数 m 和 n,输出从 m 到 n 的数列。

例如

输入: 3 5,输出序列为:3 4 5;

输入:5 3 则输出:5 4 3。

image

① {{ select(31) }}

  • n
  • x
  • 空白
  • y

② {{ select(32) }}

  • . >
  • . > =
  • <
  • =

③ {{ select(33) }}

  • i--
  • i
  • i=i+2
  • i++

④ {{ select(34) }}

  • n
  • m
  • m+1
  • 1

⑤ {{ select(35) }}

  • i--
  • i
  • i=i+2
  • i++

2. 同行列对角线的格

输入三个自然数 n,x,y(1<=x<=n,1<=y<=n),输出在一个 n*n 格的棋盘中(行列均从 1 开始编号),与格子(x,y)同行、同列、同一对角线的所有格子的位置。如:n=4,x=2,x=3 表示了棋盘中的第二行第三列的格子,如下图: image

当 n=4,x=2,y=3 时,输出的结果是:

(2,1) (2,2) (2,3) (2,4)

同一行上格子的位置

(1,3) (2,3) (3,3) (4,3)

同一列上格子的位置

(1,2) (2,3) (3,4)

左上到右下对角线上的格子的位置

(4,1) (3,2) (2,3) (1,4)

左下到右上对角线上的格子的位置

image

① {{ select(36) }}

  • i+1
  • i
  • y
  • y+1

② {{ select(37) }}

  • end
  • x
  • endl
  • y

③ {{ select(38) }}

  • y-x
  • i+x-y
  • x-y
  • i+y-x

④ {{ select(39) }}

  • i>=1
  • i>1
  • i>0
  • i<0

⑤ {{ select(40) }}

  • x+y
  • x+y-i
  • i+y-x
  • i+x-y

CSP-J赛

Not Attended
Status
Done
Rule
ACM/ICPC
Problem
4
Start at
2024-7-27 9:15
End at
2024-8-21 9:15
Duration
600 hour(s)
Host
Partic.
29