资源描述
(完整版)2019CSP入门组第一轮认证模拟试题
2019CSP第一轮认证模拟题
选手注意:
l 请在答题纸上作答,写在试题纸上一律无效.
l 不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料
l 今年第一轮认证考试题型:单选题30分,程序阅读(对错题+单选题共40分),程序完成题(单选题,30分)
一、单项选择题(共20题,每题1.5分,共计30分;每题且仅有一个正确选项)
1.计算机如果缺少( ),将无法正常启动。
A.内存 B.鼠标 C. U盘 D. 摄像头
2.一片容量为 8GB 的 SD 卡能存储大约( )张大小为 2MB 的数码照片。
A.1600 B.2000 C.4000 D.16000
3.有人认为,在个人电脑送修前,将文件放入回收站中就是已经将其删除了.这种想法是( )。
A.正确的,将文件放入回收站意味着彻底删除、无法恢复
B.不正确的,只有将回收站清空后,才意味着彻底删除、无法恢复
C.不正确的,即使将回收站清空,文件只是被标记为删除,仍可能通过恢复软件找回
D.不正确的,只要在硬盘上出现过的文件,永远不可能被彻底删除
4.主存储器的存取速度比中央处理器(CPU)的工作速度慢得多,从而使得后者的效率受到影响。而根据局部性原理,CPU所访问的存储单元通常都趋于聚集在一个较小的连续区域中。于是,为了提高系统整体的执行效率,在CPU中引入了( )。
A。寄存器 B.高速缓存 C。闪存 D.外存
5.十进制数0。5与八进制数( )值相等.
A.0。8 B.0.5 C.0.1 D.0.4
6. 计算机用户可以根据需要安装软件,那么计算机的软件系统一般分为( )
A.系统软件和应用软件
B.管理软件和控制软件
C.军用软件和民用软件
D.高级软件和一般软件
7.关于互联网,下面的说法哪一个是正确的( )。
A.新一代互联网使用的IPv6标准是IPv5标准的升级与补充.
B.互联网的入网主机如果有了域名就不再需要IP地址.
C.互联网的基础协议为TCP/IP协议。
D.互联网上所有可下载的软件及数据资源都是可以合法免费使用的
8.关于程序设计语言,下面哪个说法是正确的:
A. 加了注释的程序一般会比同样的没有加注释的程序运行速度慢。
B. 高级语言开发的程序不能使用在低层次的硬件系统(如:自控机床)或低端手机上。
C.高级语言相对于低级语言更容易实现跨平台的移植。
D.以上说法都不对.
9、已知大写字母A的ASCII编码为65(十进制),则大写字母J的十进制ASCII编码为:
A.71 B.72 C.73 D.74
10.广域网的英文缩写是( ).
A. LAN
B. WAN
C. MAN
D. LNA
11.如果a和b都是整形,a的值为5,b的值为2,那么a/b运算结果为( ).
A. 2 B. 2。5 C. 5 D. 1
12.在c++中使用cin和cout应该调用( )库。
A. iostream B. cstdio C.cmath D. stack
13.整形变量a和b,a的值为5,执行语句b=++a后,b的值为( )
A. 5 B. 6 C. 0 D. 1
14.n是一个三位数,那n的十位数为( )
A. (n%10)/10 B. (n/100)%10 C. (n/100)%100 D. (n%100)/10
15.C++中x取值范围大于1并且小于100正确表示方法( )
A.x>1&&x<100 B. x>1||x〈100 C. x>1&x<100 D. x>1##x<100
16.读入一个整数a,如果a为偶数在屏幕上输出“yes”,如果a为奇数在屏幕上输出“no"。为实现该功能程序①处应该填写( )。
A.a/2= =1 B. a/2= =0 C. a%2=0 D. 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";
}
A.23 error B. 2 C. 23 D. 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;
}
A.i=i+1 B. i=i+10 C. i=i+2 D. i=i+100
19.执行以下程序段输出( )
for(i=1;i<=5;i=i+1)
{
if (i= =3)
continue;
cout〈<i;
}
A.45 B. 12 C. 12345 D. 1245
20.执行以下程序段输出( )
a=123;
s=0;
while(a〉0)
{
s=s+a%10;
a=a/10;
}
cout〈〈s;
A.6 B. 123 C. 3 D. 12
二、程序阅读(每题4分,共40分)
1.楼梯有N阶,上楼可以一步上一阶,也可以一步上二阶,计算上楼共有多少种不同的走法。当N=1时,只有1种走法;N=2时有2种走法;N=5时,有8种走法.
A正确 B错误
2. A队和B队各有5名选手围坐一桌进行比赛,比赛规定相同队伍选手必须相隔就坐,即每个A队选手左右旁都是B队选手,每个B队选手左右旁都是A队选手。那么,这一桌一共有1440种不同的就坐方案。
注:如果在两个方案中,每个选手左右相邻的选手相同,则视为同一种方案。
A正确 B错误
3.
#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
A正确 B错误
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
A正确 B错误
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
A正确 B错误
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
A正确 B错误
7。
#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
输出: _______
A.5 B。20 C. 4 D.12
8。#include 〈iostream〉
using namespace std;
int main()
{
int a[3],b[3];
int i,j,tmp;
for (i=0;i<3;i++)
cin 〉> b[i];
for (i=0;i〈3;i++)
{
a[i]=0;
for (j=0;j〈=i;j++)
{
a[i]+=b[j];
b[a[i]%3]+=a[j];
}
}
tmp=1;
for (i=0;i<3;i++)
{
a[i]%=10;
b[i]%=10;
tmp*=a[i]+b[i];
}
cout 〈< tmp <〈 endl;
return 0;
}
输入: 2 3 5
输出: _______
A.512 B。39 C。 45 D。 416
9.
#include 〈iostream〉
using namespace std;
const int c=2009;
int main()
{
int n,p,s,i,j,t;
cin 〉> n 〉〉 p;
s=0;t=1;
for(i=1;i<=n;i++)
{
t=t*p%c;
for(j=1;j<=i;j++)
s=(s+t)%c;
}
cout << s 〈〈 endl;
return 0;
}
输入: 11 2
输出:
A.782 B.783 C。 781 D。 780
10。 #include <iostream〉
using namespace std;
const int maxn=50;
void getnext(char str[])
{
int l=strlen(str),i,j,k,temp;
k=l—2;
while(k〉=0&&str[k]>str[k+1]) k--;
i=k+1;
while(i<l&&str[i]>str[k]) i++;
temp=str[k];
str[k]=str[i-1];
str[i-1]=temp;
for(i=l—1;i>k;i—-)
for(j=k+1;j<i;j++)
if(str[j]>str[j+1])
{
temp=str[j];
str[j]=str[j+1];
str[j+1]=temp;
}
return ;
}
int main()
{
char a[maxn];
int n;
cin >> a 〉> n;
while(n〉0)
{
getnext(a);
n--;
}
cout 〈< a 〈〈 endl;
return 0;
}
输入: NOIP 3
输出:
A.NPOI B。PNIO C。 OIPN D。 INPO
三、程序完成题(每题3分,共30分)
1. 数列输出
输入两个整数m和n,输出从m到n的数列。
例如
输入: 3 5,输出序列为:3 4 5;
输入:5 3则输出:5 4 3。
#include<iostream〉
using namespace std;
int main()
{
int i,j,m,①;
cin〉〉m〉〉n;
if(m②n)
{
for(i=m;i〈=n; ③)
cout<〈i<〈’ ';
}
else
{
for(i=④;i>=n; ⑤)
cout<〈i〈〈’ ';
}
}
①
A.n B。x C。 空白 D。 y
②
A.> B。〉= C. < D. =
③
A.i-— B。i C。 i=i+2 D。 i++
④
A.n B. m C。 m+1 D. 1
⑤
A.i—- B。i C. i=i+2 D. i++
2. 同行列对角线的格
输入三个自然数n,x,y(1<=x<=n,1〈=y<=n),输出在一个n*n格的棋盘中(行列均从1开始编号),与格子(x,y)同行、同列、同一对角线的所有格子的位置。
如:n=4,x=2,x=3表示了棋盘中的第二行第三列的格子,如下图:
当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) 左下到右上对角线上的格子的位置
#include〈iostream〉
using namespace std;
int main()
{
int n,x,y,i,j;
cin〉〉n〉〉x>>y;
for(i=1;i<=n;i++)
cout<<'(’〈<x〈〈’,’〈<①<〈’)';
cout〈<endl;
for(i=1;i〈=n;i++)
cout〈<'(’<〈i<<’,’〈〈y<〈')’;
cout〈<②;
for(int i=1;i<=n;i++)
{
if(③>0&&③〈=n)
cout〈<’(’〈<i〈<','〈<③<<’)’;
}
cout〈<endl;
for(int i=n; ④;i——)
{
if(⑤>0&&⑤<=n)
cout<〈'(’<<i<<','<〈⑤<<’)';
}
return 0;
}
①
A.i+1 B.i C. y D. y+i
②
A.end B。x C。 endl D。y
③
A.y-x B。i+x-y C。x-y D。 i+y-x
④
A.i〉=1 B。 i>1 C. i〉0 D. i〈0
⑤
A.x+y B. x+y-i C. i+y—x D. i+x-y
答题纸
班级 姓名
一、单项选择题(共20题,每题1.5分,共计30分;每题且仅有一个正确选项)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
二、程序阅读(每题4分,共40分)
1
2
3
4
5
6
7
8
9
10
三、程序完成题(每题3分,共30分)
1. 数列输出
1
2
3
4
5
2. 同行列对角线的格
1
2
3
4
5
参考答案
一、单项选择题(共20题,每题1.5分,共计30分;每题且仅有一个正确选项)
1
2
3
4
5
6
7
8
9
10
A
C
C
B
D
A
C
C
D
B
11
12
13
14
15
16
17
18
19
20
A
A
B
D
A
D
A
B
D
A
二、程序阅读(对错题+单选题共40分)
1
2
3
4
5
6
7
8
9
10
A
B
A
B
B
A
C
D
A
A
1. 8
2. 2880
3.
38
8
30
83
4.
3 2 1
Over
5。
24
36
48
60
6.
14 13 12 11
24 23 22
34 33
44
三、程序完成题(每题3分,共30分)
1、
1
2
3
4
5
A
C
D
B
A
① n
② < 或者〈=
③ i++或者i=i+1或者++i;
④ m
⑤ i-—或者i=i-1或者--i
2、
1
2
3
4
5
B
C
D
A
B
① i
② endl
③ i+y-x或者等价交换式
④ i〉=1
⑤ x+y—i或者等价交换式
展开阅读全文