Tmp

本文深入探讨了信息技术领域的最新发展,包括前端、后端、移动开发、大数据等多个方向的技术创新和实践应用,为读者揭示了信息技术的无限可能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CSP-J/1 2019模拟8
一、	单选题(每题1.5分,共30分)
1.	下列选择中,(  )不是操作系统关心的主要问题。
A.	管理计算机裸机。
B.	设计、提供用户程序与计算机硬件系统的界面。
C.	管理计算机系统资源。
D.	高级程序设计语言的编译器。
2.	二分法查找_____存储结构。
A. 只适合于顺序                 		B. 只适合于链式  
C. 既适合于顺序也适合于链式     		D. 既不适合于顺序也不适合于链式
3.	下列各十进制整数中,能用8位二进制补码表示的数有(    )
A.	-128				B. 128			C. -256			D.  255
4.	TCP协议属于哪一层协议(    )
A.	应用层			B. 传输层		C. 网络层		D. 数据链路层
5.	在(   )上可以用SPFA,而不能用dijkstra算法求出单源最短路
A.	网格图							B. 有负权边没有负权环的图	
C.	一条链							D. 一棵树
6.110000中不能被4,6,7,10整除的数有几个(   )个
A.	2333				B. 9883			C. 9879			D. 9779
7.	在CSP-J第二轮认定将结束时,你可以(    )而不影响成绩
A.	把草稿纸折成纸飞机放飞理想
B.	只将可执行文件保存在指定文件夹,而将源代码保存在其它位置。
C.	访问网络
D.	喝工作人员在考试时分发的水
8.	二叉查找树具有如下性质:每个节点的值都大于其左子树上所有节点的值、小于其右子 树上所有节点的值。那么,二叉查找树的( )是一个有序序列。
A.	先序遍历			B. 中序遍历		C. 后序遍历		D. 宽度优先遍历
9.64 位非零浮点数强制转换成 32 位浮点数后,不可能( )。
A.	大于原数			B. 小于原数		C. 等于原数		D. 与原数符号相反
10.	下列程序中,正确计算 1, 2,, 100100 个自然数之和 sum(初始值为 0)的是( )
A.	for (i = 1; i <= 100; i++); sum += i;
B.	i = 1; while (i > 100) { sum += i; i++;}
C.	i = 1; do { sum += i; i++; } while (i <= 100);
D.	i = 1; do { sum += i; i++; } while (i > 100);
11.	以下程序实现了找第二小元素的算法。输入时n个不等的数构成的数组S,输出S中第二小的数SecondMin。在最坏的情况下,该算法需要做( )次比较。
if ( S[1] < S[2] ){
FirstMin	= S[1];
		SecondMin = S[2];
} else {
FirstMin	= S[2];
		SecondMin	= S[1];
}
for ( i = 3; i <= n; i++ )
if ( S[i] < SecondMin )
if ( S[i] < FirstMin ){
				SecondMin	= FirstMin;
				FirstMin	= S[i];
			} else {
				SecondMin = S[i];
			}
A.	2n			B. n-1			C. 2n-3				D. 2n-2
12.	以下不属于中国国产处理器的是(    )
A.	海光			B. 锐龙			C. 鲲鹏				D. 玄铁
13.	在使用高级语言编写程序时,一般提到的“空间复杂度”中的空间是指( )。
A.	程序运行时理论上所占的内存空间
B.	程序运行时理论上所占的数组空间
C.	程序运行时理论上所占的硬盘空间
D.	程序源文件理论上所占的硬盘空间
14.	体育课的铃声响了,同学们都陆续的奔向操场,按老师的要求从高到低站成一排。每个同学按顺序来到操场时,都从排尾走到排头,找到第一个比自己高的同学,并站在他的后面。这种站队的方法类似于( )算法。
A.	快速排序			B. 插入排序			C. 冒泡排序			D. 归并排序
15.	定义一种字符串操作,一次可以将其中一个元素移到任意位置。举例说明,对于字符串“BCA”可以将A移到B之前,变字符串“ABC”。如果要将字符串“DACHEBGIF”变成“ABCDEFGHI”最少需要________次操作。
A.	3					B. 4					C. 5					D. 6
16.	无向图G有16条边,34度顶点、43度顶点,其余顶点的度均小于3,则G至少有(   )个顶点.
A.	10				B. 11 				C. 12				D. 13
17.	由四个不同的点构成的简单无向连通图的个数是( )。
A.	32				B. 35				C. 38				D. 41
18.	某个国家的钱币面值有1, 7, 7^2, 7^3共计四种,如果要用现金付清10015元的货物,假设买卖双方各种钱币的数量无限且允许找零,那么交易过程中至少需要流通(    )张钱币。
A.	37 				B. 36				C. 35				D. 34
19.	面试抽签时,8道考题中任选1道题回答,如果8道题中有2道难题,6道容易题,3名考生抽到难题的概率为多少?
A.	1/4				B. 1/3				C.27/112				D.3/8
20.	对于快速排序,以下说法正确的是(    )
A.	每一趟选定的基准元素到达有序时它的位置
B.	每一趟选定的基准元素到达中间位置
C.	它主要运用了贪心的思想
D.	它主要运用了动规的思想

二、	程序阅读题(每题8分,共40分)
1.	请判断程序输出结果是否正确,正确填T,错误填F (   )
#include<iostream>
using namespace std;
inline void max_out( int val1, int val2 )
{  
    cout << ( val1 > val2 ) ? val1 : val2;
}
 
int main()
{
    int ix = 10, jx = 20;
    cout << "The larger of " << ix;
    cout << ", " << jx << " is ";
    max_out( ix, jx );
    cout << endl;
}
输出:The larger of 10,20 is 20

2.	以下4个函数,按main函数内被注释语句调用,能输出”21”的是(   )
#include<iostream>
using namespace std;
 
void swap1(int p,int q)
{
    int temp;
    temp=p;
    p=q;
    q=temp;
}
 
void swap2(int *p,int *q)
{
    int *temp;
    temp=p;
    p=q;
    q=temp;
}
 
void swap3(int *p,int *q)
{
    int temp;
    temp=*p;
    *p=*q;
    *q=temp;
}
 
void swap4(int &p,int &q)
{
    int temp;
    temp=p;
    p=q;
    q=temp;
}
 
int main ()
{
    int a=1,b=2;
    //swap1(a,b);
    //swap2(&a,&b);
    //swap3(&a,&b);
    //swap4(a,b);
    cout << a << b <<endl;
    return 0;
}
A.	swap1			B.swap1,swap2		C.swap3,swap4 		D.swap1,swap3

3.	请选出正确的程序运行结果
#include<iostream> 
using namespace std;
int value (int a[][4], int n){
int i,j,k,ans;
   	ans=a[0][0];
   	for(i=0;i<n;i++)
    	for(j=0;j<4;j++)
        	if(a[i][j]>ans)   ans=a[i][j];
   	return  ans;
}
int main(){
static int b[3][4]={{11,23,45,37},{22,16,44,38},{15,17,34,52}};
   	cout<<value(b,2)<<endl;
}
A.	52			B. 44			C. 45			D. 16

4.	请选出正确的程序运行结果
#include <iostream>
#include <string>
using namespace std;
int n,i,j,ans;
string s;
char get(int i)
{
	if(i<n) return s[i];
	else return s[i-n];	
}
int main()
{
	cin>>s;
	n=s.size();
	ans=0;
	for(i=1;i<=n-1;i++)
	{
		for(j=0;j<=n-1;j++)
			if(get(i+j)<get(ans+j))
			{
				ans=i;
				break;	
			}
			else if(get(i+j)>get(ans+j)) break;
	}
	for(j=0;j<=n-1;j++) cout<<get(ans+j);
	cout<<endl;
	return 0;	
}
输入:CBBADADA
A.	ACBBADAD			B. ACBBDADA		C. DADABBCA		D. DADABBCA

5.	请选出正确的程序运行结果
#include<iostream>
using namespace std;
int tot=0;
int dfs(int n,int k) {
	tot++;
	if(n==0||n<k||k==0) return 0;
	if(k==1||n==k)return 1;
	return dfs(n-1,k-1)+dfs(n-k,k);
}
int main() {
	int n,k;
	cin>>n>>k;
	int x=dfs(n,k);
	cout<<x<<endl;
	return 0;
}
输入:15 5。
A. 27			B. 30			C. 36			D. 45

三、	完善程序(每空3分,共30分)
1). 分别将正确的语句选入相应的空中,选项可能有重复。
一个含有n项的数列(n<=2000000),求出每一项前的m个数到它这个区间内的最小值。若前面的数不足m项则从第1个数开始,若前面没有数则输出0#include <bits/stdc++.h>
using namespace std;
const int maxn=2e7+10;
int a[maxn],q[maxn];
int main(){
    int n,m;
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++)
        scanf("%d",&a[i]);
    int t=0,h=1;
    printf("0\n");
    for(int i=1;i<n;i++){
        while(t>=h&& (1) >=a[i])
            (2);
        q[(3)]=i;
        while(q[t]-(4)+1>m) h++;
        printf("%d\n",(5));
    }
    return 0;
}
A.	t++;		B.t--	C.++t		D.a[q[h]]		E. a[h]		F.q[h]		G.a[q[t]]
H. a[t]


2)选择正确的语句填入空中。
陶陶在地上丢了A个瓶盖,这A个瓶盖丢在一条直线上,现在他想从这些瓶盖里找出B个(B<=A<=100000),使得距离最近的2个距离最大,他想知道最大可以达到多少。
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
 
const int MAXN=100020;
int n,m,a[MAXN],l,r,mid,ans;
 
bool check(int minn){
    int cnt=1,now=a[1],flag1=0,flag2=0;
    for(int i=2;i<=n;i++)
        if((6)>=minn)	cnt++,now=a[i];
    if(cnt>=m)	flag1=1;
    cnt=1,now=a[n];
    for(int i=n-1;i>=1;i--)
        if((7)>=minn)	cnt++,now=a[i];
    if(cnt>=m)	flag2=1;
    if((8))	return 1; 
    return 0;	
}
 
int main(){
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++)	scanf("%d",&a[i]);
    sort((9));
    l=0,r=(10);
    while((11))
    {
        mid=(12);   //
        if(check(mid))	(13);
        else	(14);
    }
    for(int i=r;i>=l;i--)
        if(check(i)){
            (15);
            break;
        }
    cout<<ans;
    return 0;
}

6.	A. now			B. a[i]			C.a[i]-now		D. now-a[i]
7.	A. now			B. a[i]			C.a[i]-now		D. now-a[i]
8.	A. flag1			B. flag2			C. flag1&&flag2	D. flag1||flag2
9.	A. a,a+n			B. a,a+n+1		C.a+1,a+n		D. a+1,a+n+1
10.	A. a[n]			B. n 			C.a[n]-a[1]+1		D. a[1]
11.	A. l<=r			B. l<r			C. l>r			D.l!=r
12.	A. (l+r)/2			B.(l+r+1)/2		C.(l+r-1)/2		D.(r-l)/2
13.	A. l=mid			B.l=mid+1		C.r=mid			D.r=mid-1;
14.	A. l=mid			B.l=mid+1		C.r=mid			D.r=mid-1;
15.	A.ans++			B.ans--			C.ans=i			D.ans=0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值