不是VIP会员,不能显示答案,请在后台“我的信息” 在线升级 VIP

一.选择题(每题1.5分,共30分。每小题只有一个正确答案,多选错选均不给分)

1. Facebook是美国的一个社交网络服务网站,它的创始人是( )

  • A.尔盖茨
  • B.马克扎克伯格
  • C.李彦宏
  • D.马特达蒙

2. 以下列扩展名结尾的文件,是图片文件的是( )。

  • A.fla
  • B.exe
  • C.tif
  • D.bat

3. 进制数11011011的十进制值是( )

  • A.202
  • B.2l9
  • C.193
  • D.209

4. 机存储容量的基本单位是( )

  • A.吨
  • B.光年
  • C.字节
  • D.美金

5. 缀表达式(A+B)*(C*(D+E)+F)的后缀表达式是( )

  • A.C*DE+F+*
  • B.A+BCDE+*F+*
  • C.AB+C+*DEF+*
  • D.AB+CDE+*F+*

6. 以下不能用程序设计解决的问题是( )

  • A.网上购物支付
  • B.医院叫号排队
  • C.面试考核
  • D.制作手机游戏

7. 下列排序算法中,哪个排序是稳定的( )

  • A.快速排序
  • B.冒泡排序
  • C.选择排序
  • D.希尔排序

8. 家里刚安装了50M宽带,极限下载速度大概有6M每秒,现在考虑全程满速度下载,一个1.5G的文件大概要花费( )时间

  • A.31秒
  • B.256秒
  • C.10分钟
  • D.20分钟

9. ∧表示与,∨表示或,ac为 true,bd为false,下列( )选项逻辑运算结果是false

  • A.a∧b∨c∧d
  • B.a∧c∨b∧d
  • C.d∧c∨c∧a
  • D.d∧b∨a∧c

10. 如果一棵二叉树的中序遍历是 ACDB,先序遍历是ABCD,那么它的后序遍历是( )

  • A.ABCD
  • B.DCBA
  • C.ACBD
  • D.BADC

11. 1963年( )发明了首款头戴式图形显示器,如今的 OculusRift虚拟现实眼罩就采用了这种模式,他也被后人誉为人工智能之父

  • A.文﹒明斯基
  • B.莫里斯﹒威尔克斯
  • C.道格拉斯﹒恩格尔巴特
  • D.里査德﹒海明

12. 一体机和普通台式机相比,试分析以下结论不确切的是( )

  • A.整合度高,它把主机整合到了显示器
  • B.由于集成度高, 散热较差
  • C.节省空间, 比传统分体合式机更纤细
  • D.性能更为卓越,适用于高端设计、高性能操作

13. 192.168.1.3这种 ip地址的写法是以下明哪种形式( )

  • A.二进制
  • B.八进制
  • C.十进制
  • D.十六进制

14. 试计算如下二进制表示的和101+10101= ( )

  • A.二进制10110
  • B.八进制32
  • C.十进制25
  • D.十六进制10A

15. 如下图描述,符合以下哪种数据结构( )

  • A.队列
  • B.桟
  • C.图
  • D.二叉树

16. 根据入栈序列54321,判断以下哪种不可能是出栈序列

  • A.12345
  • B.45321
  • C.12435
  • D.31245

17. 如果约定二叉树根结点是第一层,那么以下哪项不能成为完全二叉树

  • A.2层共2个结点
  • B.3层共7个结点
  • C.4层共9个结点
  • D.5层共11个结点

18. 某火车运输公司有一个中央仓库和 n个运输目的地,每天要从中央仓库将货物运输到所有运输目的地,到达每个运输目的地一次且仅一次,最后回到中央仓库。在两个地点 i和 j之间运输货物存在费用cij。为求解旅行费用总和最小的运输路径,设计如下算法:首先选择离中央仓库最近的运输目的地1,然后选择离运输目的地1最近的运输目的地2,…,每次在来访问过的运输目的地中选择离当前运输目的地最近的运输目的地,最后回到中央仓库 。请问该算法的类型( )

  • A.分治
  • B.动态规划
  • C.贪心
  • D.回溯

19. 羽毛球比赛采取21分制,决胜盘要胜出两分才算赢,否则即使到21分也不能胜出,当然先拿到30分者获胜,给你一个比分,试判断是否是正常结束的比分,解决这个问题,从原理上分析,最少需要用到程序设计中的( )

  • A.顺序和分支
  • B.顺序和循环结构
  • C.循环结构
  • D.都不需要

20. 你觉得如下做法较合理的是( )

  • A.明知u盘带病毒还接入同班同学的电脑
  • B.网上下载了个班会课课件,把作者署名改成自己名字给本班同学播放
  • C.拆开用了多年的机箱,把里面的硬盘、内存、主板放到水里冲洗
  • D.建立班级网站,把荣誉点滴记录下来

二.问题求解(每题5分,共10分)

1. 按照如下表格中的数字规律,X标记的单元格应该填( )
答案:47

2. 一个学校开设了如下的课程:语文、数学、信息、体育,一天4节课,上午2节,下午2节,有几个限制条件:一天不允许上重复的课,语文、数学这两门课不能连续上,请问排足一天的课有( )种方案。
答案:12

三.阅读程序,求程序运行输出结果(每题8分,共32分)

1.

#include <iostream>
using namespace std;
int a,b,c,i,j;
int main()
{
	i=1;j=32;
	a=i+j;
	b=a+j;
	c=b+i*j;
	a=a+i+c*2;
	cout<<a<<" "<<b<<" "<<c<<endl;
	return 0;
}
输出:228 65 97

2.

#include <iostream>
using namespace std;
int i,j,k,p;
int main()
{
	i=1;
	j=0;
	p=1;
	do{
		i++;
		j=p+1;
		p=j*2;
	}while(i !=5);
	cout<<p<<endl;
	return 0;
}
输出:46

3.

#include <iostream>
#include <cstring>
using namespace std;
int n;
int a[101];
int f(int n)
{
	int tmp;
	if(a[n-1]>0) tmp=a[n-1];
	else tmp=f(n-1);
	if (a[n-2]>0) tmp += a[n-2];
	else tmp += f(n-2);
	a[n]=tmp;
	return tmp; 
}
int main()
{
	memset(a,0,sizeof(a));
	a[1]=2;
	a[2]=3;
	cout<<f(9)<<endl;
	return 0;
}
输出:89

4.

#include <iostream>
#include <cstring>
using namespace std;
int n,i,max1,j,h,t;
int a[10001],b[10001];
int main()
{
	cin>>n;
	b[0]=0;
	for (i=1; i<=n; i++)
	{
		cin>>a[i];
		b[i]=b[i-1]+a[i];		
	}
	a[0]=0;
	max1=-100;
	for (i=1; i<=n; i++){
			for (j=i; j<=n; j++){
			b[j] -= a[i-1];
			if (b[j]>max1){
				h=i;
				t=j;
				max1=b[j];
			}
		}
	}
	if (max1<=0) cout<<0<<endl;
	else cout<<max1<<endl;
	return 0;
}
输入:
11
-2 11 -4 13 -50 -2 13 -1 3 6 -9
输出:21

四.完善程序(每题第一空2分,其余每空3分,共28分)

1. 第1题:如下是冒泡排序算法的程序,其中有个优化:使用布尔型变量判断是否已经有序,如果是不用执行接下来的排序过程。

#include <iostream>
using namespace std;
const int maxn=20;
int n;
int a[maxn];
int main()
{
	cin>>n;
	for (int i=0; i<n; i++) cin>>a[i];
	bool done;
	do {
		  done=false ;
		for ( int i=1; i<n; i++)
			if (a[i-1]>a[i]){
				int t=a[i-1];
				a[i-1]=a[i];
				a[i]=t;
				 done=true ; 			
			}
		
	}while ( done ) ;
	for (int i=0; i<n; i++) cout<< a[i] <<" ";
	cout<<endl;
	return 0;
}

2. 第2题:希尔排序( Shell Sort)是插入排序的一种。是针对直接插入排序算法的改进。该方法又称缩小增量排序。因DL.Shell于1959年提出而得名。希尔排序思想:希尔排序是按照不同步长对原始元素12 11 10 9 8 7 6 5 4 3 2 1进行插入排序,步长为6,也就是间隔为6的元素插入排序结果为6 5 4 3 2 1 12 11 10 9 8 7,接着步长为3进行插入排序结果为3 2 1 6 5 4 9 8 7 12 11 10,再接着步长为1进行插入排序结果为1 2 3 4 5 6 7 8 9 10 11 12

根据如上描述,完善如下希尔排序程序

#include<ctime>
#include<cstdlib>
#include<cstring>
#include<iostream>
using namespace std; 
const int SIZE = 12; 
typedef int arr[SIZE +1]; 
arr a;
int i, j, k, t; 
void ki(){
	srand(time(NULL) );
	for(i= 1; i<=SIZE; i++)
		cin>>a[i];
	}
void ki2(){
	for (i=1; i<SIZE; i++) cout<<a[i]<< " ";
	cout << a[SIZE]; 
}
void insertionsort(arr a){
	for (i=2; i<=SIZE; i++){
		t=a[i];
		j=i-1;
		while (j>0 && a[j]>t ) {
		}
			a[j+1]=a[j];
			 j-- ; 
		}
		a[j+1]=t;
	}
}

int main(){
	ki();
	k=SIZE;
	while (k>1) {
		k /=2;
		for (j=k+1; j<=SIZE; j++){
			t=a[j];
			i=j-k;
			while (i>0 && a[i] >t){
				a[i+k]=a[i];
				 i-=k ;
		}
			a[i+k]=t;
		}		
	}
	ki2();
	return 0;
}