CSP-J 第一轮精品原创定心卷(一)
(考试时间:120分钟)
一、单项选择题(共 15 题,每题 2 分,共计 30 分;每题有且仅有一个正确选项)
-
下面哪种语言为弱类型语言? ( )
A.Java
B.C
C.C++
D.JavaScript -
1979 年 8 月 1 日是星期三,请问在 2030 年的 8 月 1 日是星期几?( )
A.星期一
B.星期二
C.星期三
D.星期四 -
ENIAC 作为世界上第一台通用计算机,诞生于( )年?
A.1945
B.1946
C.1949
D.1952 -
八进制数 73.6 对应的二进制数是( )
A.111101.11
B.111011.11
C.110111.11
D.110111.01 -
有 N 个点的强连通图最少要几条有向边( )
A.N-1
B.N
C.n+1
D.N(N ? 1) -
已知前序遍历 ACDEFGB,中序遍历为 DFECABG,后序遍历为( )
A.FEDCBGA
B.DFECBGA
C.FEDBGCA
D.FEDBCGA -
以下哪个设备为输入设备( )
A.扫描仪
B.打印机
C.投影仪
D.显示器 -
树根高度设为 1,100 个结点的树最大的高度和最小的高度的差是多少( )
A.50
B.92
C.93
D.99 -
考虑一个有 n 个元素的排列,若一个排列中所有的元素都不在自己原来的位
置上,那么这样 的排列就称为原排列的一个错排 。求 5 个元素的错排数( )
A.41
B.42
C.43
D.44 -
先有字符串 s=“abababbaa”,有多少不同的子串( )
A.29
B.30
C.31
D.32 -
关于网络技术的说法,错误的是( )
A.LAN 是局域网,学校机房里用的是 LAN。
B.无线网络中数据通信不需要介质。
C.网络协议是实现不同网络之间正确通信的基础
D.移动终端之间不仅仅只能通过移动通信网络进行通信。 -
有 1 个队列,队首到队尾的元素依次为 8 ,3 ,2 ,9 ,5。约定: T 操作是指队列中 1 个元素 出队后再入队, Q 操作是指队列中 1 个元素出队。则经过 TTTQTTQ 系列操作后,队列中队 首到队尾的元素依次为( )
A.2 ,9 ,5
B.2 ,5 ,8
C.5 ,8 ,2
D.8 ,3 ,2 -
定义如下函数:
1 int rf(n) {
2 if (n<3) return;
3 return rf(n-1)+rf(n-3);
4 }
执行语句 v=rf(5),函数 rf 被调用的次数是()
A.11
B.5
C.7
D.15
- 下列关于信息编码的说法,正确的是( )
A.十进制数 36 转换为二进制数后,该二进制数中 1 的个数为 4
B.二进制整数最右边增加 1 位后,奇偶性不会发生变化
C.某字符的 ASCII 码十六进制表示为 74,在计算机中存储为二进制编码 01110100
D.扫描文字稿生成只有黑、白两种颜色的图像,每个像素至少用两位二进制数编码
15.将帧频为 10fps,时长为 12 秒,总数为 120 的 Fash 动画作品导出为未经压缩的无声 AVI 视频文件,其参数为 1024*768 像素、24 位真彩色,则该视频文件的存储容量约为( )
A.270MB
B.216MB
C.31.64GB
D.2.1GB
二、阅读程序(程序输入不超过数组或字符串定义的 范围;判断题正确填 T ,错误填 F ;除特殊说明外,判断题 2.5 分,选择题 3 分,共计 40 分)
#include<bits/stdc++.h>
using namespace std;
int ans=0;
int f(int n) {
int a = 1,b = 2,c = 3,x = 1;
for(int i = 1; i <= n; ++i) {
x = a ^ b ^ x;
a = -~a;
b = ~-b + 2;
c = -(c ^ -1) + 1;
}
return ((x ^ c) >> 1) + (x & c);
}
int main() {
int n,ans=(10101 >> 2) & 1;
cin>>n;
for(int i = 1; i <= n; ++i) {
ans = ans + f(i);
cout<<ans;
return 0;
}
判断题
(1)程序的复杂度为 n2。( )
(2)该程序输入为 0 时,输出为 0 。( )
(3)把函数中 b = 2 改成 b = 1 时,答案不会发生变化。( )
(4)c 的值是奇数。( )
(5)当 n 是奇数时,答案是偶数( )
单项选择题
(6)当输入为 6 时,输出为( )。
A.21
B.43
C.55
D.61
#include<bits/stdc++.h>
using namespace std;
int n,m,a[1010][1010],Map[1010][1010],sum,vis[1010][1010];
int dx[]= {
1,-1,0,0,1,1,-1,-1};
int dy[]= {
0,0,1,-1,-1,1,-1,1};
int anss=0;
void dfs(int x,int y) {
anss++;
vis[x][y]=1;
for(int i=0;