试卷 NOIP 2014 普及组初赛试题
NOIP 2014 普及组初赛试题
单项选择题
第 1 题    单选题

以下哪个是面向对象的高级语言( ).

A.

汇编语言

B.

C++

C.

Fortran

D.

Basic

第 2 题    单选题

1TB代表的字节数是( ).

A.

2的10次方

B.

2的20次方

C.

2的30次方

D.

2的40次方

第 3 题    单选题

二进制数 00100100 和 00010101 的和是( )。

A.

00101000

B.

001010100

C.

01000101

D.

00111001

第 4 题    单选题

以下哪一种设备属于输出设备( )。

A.

扫描仪

B.

键盘

C.

鼠标

D.

打印机

第 5 题    单选题

下列对操作系统功能的描述最为完整的是( )。

A.

负责外设与主机之间的信息交换

B.

负责诊断机器的故障

C.

控制和管理计算机系统的各种硬件和软件资源的使用

D.

将源程序编译成目标程序

第 6 题    单选题

CPU、存储器、I/O设备是通过( )连接起来的.

A.

接口

B.

总线

C.

控制线

D.

系统文件

第 7 题    单选题

断电后会丢失数据的存储器是( )

A.

RAM

B.

ROM

C.

硬盘

D.

光盘

第 8 题    单选题

以下哪一种是属于电子邮件收发的协议( )。

A.

SMTP

B.

UDP

C.

P2P

D.

FTP

第 9 题    单选题

下列选项中不属于图像格式的是( )。

A.

JPEG格式

B.

TXT格式

C.

GIF格式

D.

PNG格式

第 10 题    单选题

链表不具有的特点是( )。

A.

不必事先估计存储空间

B.

可随机访问任一元素

C.

插入删除不需要移动元素

D.

所需空间与线性表长度成正比

第 11 题    单选题

下列各无符号十进制整数中,能用八位二进制表示的数中最大的是( )。

A.

296

B.

133

C.

256

D.

199

第 12 题    单选题

下列几个32位IP地址中,书写错误的是( ).

A.

162.105.135.27

B.

192.168.0.1

C.

256.256.129.1

D.

10.0.0.1

第 13 题    单选题

要求以下程序的功能是计算:s=1+1/2+1/3+...+1/10

#include <iostream>
using namespace std;
int main() {
	int n;
	float s;
	s = 1.0;
	for(n = 10; n > 1; n--)
		s = s + 1 / n;
	cout << s << endl;
	return 0;
}

程序运行后输出结果错误,导致错误结果的程序行是( )。

A.

s = 1.0;

B.

for(n = 10; n > 1; n--)

C.

s = s + 1 / n;

D.

cout << s << endl;

第 14 题    单选题

设变量xx为float型且已赋值,则以下语句中能将xx中的数值保留到小数点后两 位,并将第三位四舍五入的是( ).

A.

x = (x * 100) + 0.5 / 100.0;

B.

x = (x * 100 + 0.5) / 100.0;

C.

x = (int)(x * 100 + 0.5)/100.0;

D.

x = (x / 100 + 0.5) * 100.0;

第 15 题    单选题

有以下程序:

#include <iostream>

using namespace std;

int main()

{

	int s, a, n;

	s= 0;

	a= 1;

	cin >> n;

	do

	{

		s+= 1;

		a-= 2;

	}

	while ( a != n );

	cout << s << endl;

	return(0);

}

若要使程序的输出值为2,则应该从键盘给nn输入的值是( )。

A.

-1

B.

-3

C.

-5

D.

0

第 16 题    单选题

一棵具有5层的满二叉树中结点数为( )。

A.

31

B.

32

C.

33

D.

16

第 17 题    单选题

有向图中每个顶点的度等于该顶点的( )。


A.

入度

B.

出度

C.

入度和出度之和

D.

入度和出度之差

第 18 题    单选题

设有100个数据元素,采用折半搜索时,最大比较次数为( )。

A.

6

B.

7

C.

8

D.

10

第 19 题    单选题

提出“存储程序”的计算机工作原理的是( )。

A.

克劳德•香农

B.

戈登•摩尔

C.

查尔斯•巴比奇

D.

冯•诺依曼

第 20 题    单选题

前缀表达式 +3*2+5 12 的值是( )。

A.

23

B.

 25

C.

37

D.

65

问题求解
第 21 题    填空题

把M个同样的球放到N个同样的袋子里,允许有的袋子空着不放,问共有多少种不

同的放置方法?(用K表示)。 例如,M=7,N=3时,K=8;在这里认为和是同一种放置方法。 问:M=8,N=5时,K=___ 。

第 22 题    填空题

如图所示,图中每条边上的数字表示该边的长度,则从A到E的最短距离是__。


阅读程序写结果
第 23 题    填空题

阅读程序写结果:

#include <iostream>
using namespace std;
int main() {
	int a, b, c, d, ans;
	cin >> a >> b >> c;
	d = a - b;
	a = d + c;
	ans = a * b;
	cout << "Ans = " << ans << endl;
	return 0;
}

输入:2 3 4

输出:Ans =____

第 24 题    填空题

阅读程序写结果:

#include <iostream>
using namespace std;
int fun(int n) {
	if(n == 1)
		return 1;
	if(n == 2)
		return 2;
	return fun(n - 2) - fun(n - 1);
}
int main() {
	int n;
	cin >> n;
	cout << fun(n) << endl;
	return 0;
}

输入:7

输出:__

第 25 题    填空题

阅读程序写结果:

#include <iostream>
#include <string>
using namespace std;
int main() {
	string st;
	int i, len;
	getline( cin, st );
	len = st.size();
	for ( i = 0; i < len; i++ )
		if ( st[i] >= 'a' && st[i] <= 'z' )
			st[i] = st[i] - 'a' + 'A';
	cout << st << endl;
	return 0;
}

输入:Hello, my name is Lostmonkey.

输出:________________________________

第 26 题    填空题

阅读程序写结果:

#include <iostream>
using namespace std;
const int SIZE = 100;
int main() {
	int p[SIZE];
	int n, tot, i, cn;
	tot = 0;
	cin >> n;
	for ( i = 1; i <= n; i++ )
		p[i] = 1;
	for ( i = 2; i <= n; i++ ) {
		if ( p[i] == 1 )
			tot++;
		cn = i * 2;
		while ( cn <= n ) {
			p[cn] = 0;
			cn += i;
		}
	}
	cout << tot << endl;
	return(0);
}

输入:30

输出:___


完善程序
第 27-30 题    组合题

完善程序:

(数字删除)下面程序的功能是将字符串中的数字字符删除后输出。请填空。

#include <iostream>
using namespace std;
int delnum( char *s ) {
	int i, j;
	j = 0;
	for ( i = 0; s[i] != '\0'; i++ )
		if ( s[i] < '0' ① s[i] > '9' ) {
			s[j] = s[i];
			②;
		}
	return(③);
}
const int SIZE = 30;
int main() {
	char s[SIZE];
	int len, i;
	cin.getline( s, sizeof(s) );
	len = delnum( s );
	for ( i = 0; i < len; i++ )
		cout << ④;
	cout << endl;
	return 0;
}

第一空(3分):_______________

第二空(3分):_______________

第三空(3分):_______________

第四空(3分):_______________

第 27 题 填空
第 28 题 填空
第 29 题 填空
第 30 题 填空
第 31-35 题    组合题

#include <iostream>
using namespace std;
const int SIZE = 100;
int matrix[SIZE + 1][SIZE + 1];
int rowsum[SIZE + 1][SIZE + 1]; /* rowsum[i][j]记录第i行前j个数的和 */
int m, n, i, j, first, last, area, ans;
int main() {
	cin >> m >> n;
	for ( i = 1; i <= m; i++ )
		for ( j = 1; j <= n; j++ )
			cin >> matrix[i][j];
	ans = matrix ①;
	for ( i = 1; i <= m; i++ )
		②;
	for ( i = 1; i <= m; i++ )
		for ( j = 1; j <= n; j++ )
			rowsum[i][j] = ③;
	for ( first = 1; first <= n; first++ )
		for ( last = first; last <= n; last++ ) {
			④;
			for ( i = 1; i <= m; i++ ) {
				area += ⑤;
				if ( area > ans )
					ans = area;
				if ( area < 0 )
					area = 0;
			}
		}
	cout << ans << endl;
	return(0);
}
第 31 题 填空
第 32 题 填空
第 33 题 填空
第 34 题 填空
第 35 题 填空
答题卡
单项选择题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
问题求解
21 22
阅读程序写结果
完善程序
题目总数:28
总分数:100
时间:120分钟
QQ
微信