【真题】暑假备战CSP-J/S:NOIP2014普及组初赛(第一轮)试题及参考答案电子版(PDF版、无水印可直接打印)

2023-08-31 15:13:03 浏览数 (2)

资料下载

公众号内回复:NOIP2014J,即可获取下载链接,直接打印电子版让孩子做即可,文件包含

  • 试题真题
  • 参考答案

注意:其他比赛年份得资料正在紧张整理中,大家耐心等,整理完毕后,会陆续在公众号内分享。

关注:小码匠和老码农,和小码匠一起携手备战2023年CSP-J/S,祝愿所有孩子们取得好成绩!!!

第 1 题

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

  • A. 汇编语言
  • B. C
  • C. Fortran
  • D. Basic

本题共 1.5

第 2 题

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

  • A. 2的10次方
  • B. 2的20次方
  • C. 2的30次方
  • D. 2的40次方

本题共 1.5

第 3 题

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

  • A. 00101000
  • B. 001010100
  • C. 01000101
  • D. 00111001

本题共 1.5

第 4 题

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

  • A. 扫描仪
  • B. 键盘
  • C. 鼠标
  • D. 打印机

本题共 1.5

第 5 题

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

  • A. 负责外设与主机之间的信息交换
  • B. 负责诊断机器的故障
  • C. 控制和管理计算机系统的各种硬件和软件资源的使用
  • D. 将没有程序编译成目标程序

本题共 1.5

第 6 题

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

  • A. 接口
  • B. 总线
  • C. 控制线
  • D. 系统文件

本题共 1.5

第 7 题

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

  • A. RAM
  • B. ROM
  • C. 硬盘
  • D. 光盘

本题共 1.5

第 8 题

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

  • A. SMTP
  • B. UDP
  • C. P2P
  • D. FTP

本题共 1.5

第 9 题

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

  • A. JPEG格式
  • B. TXT格式
  • C. GIF格式
  • D. PNG格式

本题共 1.5

第 10 题

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

  • A. 不必事物估计存储空间
  • B. 可随机访问任一元素
  • C. 插入删除不需要移动元素
  • D. 所需空间与线性表长度成正比

本题共 1.5

第 11 题

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

  • A. 296
  • B. 133
  • C. 256
  • D. 199

本题共 1.5

第 12 题

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

  • A. 162.105.135.27
  • B. 192.168.0.1
  • C. 256.256.129.1
  • D. 10.0.0.1

本题共 1.5

第 13 题

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

代码语言:javascript复制
#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;

本题共 1.5

第 14 题

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

  • 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;

本题共 1.5

第 15 题

有以下程序:

代码语言:javascript复制
#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,则应该从键盘给n输入的值是( )。

  • A. -1
  • B. -3
  • C. -5
  • D. 0

本题共 1.5

第 16 题

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

  • A. 31
  • B. 32
  • C. 33
  • D. 16

本题共 1.5

第 17 题

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

  • A. 入度
  • B. 出度
  • C. 入度和出度之和
  • D. 入度和出度之差

本题共 1.5

第 18 题

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

  • A. 6
  • B. 7
  • C. 8
  • D. 10

本题共 1.5

第 19 题

若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值,c>0。 s = a; for(b = 1; b <= c; b ) s = 1; 则与上述程序段功能等价的赋值语句是( )。

  • A. s = a b
  • B. s = a c
  • C. s = s c
  • D. s = b c

本题共 1.5

第 20 题

计算机界的最高奖是( )。

  • A. 菲尔兹奖
  • B. 诺贝尔奖
  • C. 图灵奖
  • D. 普利策奖

本题共 1.5

第 21 题

把M个同样的球放到N个同样的袋子里,允许有的袋子空着不放,问共有多少种不同的放置方法?(用K表示)。 例如,M=7,N=3时,K=8;在这里认为和是同一种放置方法。 问:M=8,N=5时,K=___ 。

答案:

本题共 5

第 22 题

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

答案:

本题共 5

第 23 题

阅读程序写结果:

代码语言:javascript复制
#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 =____

答案:

本题共 8

第 24 题

阅读程序写结果:

代码语言:javascript复制
#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 输出:__

答案:

本题共 8

第 25 题

阅读程序写结果:

代码语言:javascript复制
#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. 输出:________________________________

答案:

本题共 8

第 26 题

阅读程序写结果:

代码语言:javascript复制
#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 输出:___

答案:

本题共 8

第 27 题

完善程序:**(数字删除)**下面程序的功能是将字符串中的数字字符删除后输出。请填空。(每空3分,共12分)

代码语言:javascript复制
#include <iostream>
using namespace std;
int delnum( char *s )
{
	int i, j;
	j = 0;
	for ( i = 0; s[i] != ''; 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);
}
  • ①答案:
  • ②答案:
  • ③答案:
  • ④答案:

本题共 12

第 28 题

(最大子矩阵和)给出m行n列的整数矩阵,求最大的子矩阵和(子矩阵不能为空)。 输入第一行包含两个整数m和n,即矩阵的行数和列数。之后m行,每行n个整数,描述整个矩阵。程序最终输出最大的子矩阵和。**(最后一空4分,其余3分,共16分)** 比如在如下这个矩阵中:

代码语言:javascript复制
4  4  
0 -2 -7 0  
9 2 -6 2  
-4 1 -4 1  
-1 8 0 -2  

拥有最大和的子矩阵为:

代码语言:javascript复制
 9 2  
-4 1  
-1 8  

其和为15

代码语言:javascript复制
3  3  
-2 10 20 
-1 100 -2 
0 -2 -3

最大子矩阵和为128

代码语言:javascript复制
4  4  
0 -2 -9 -9 
-9 11 5 7 
-4 -3 -7 -6 
-1  7  7  5 

最大子矩阵和为26

代码语言:javascript复制
#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);
}
  • ①答案:
  • ②答案:
  • ③答案:
  • ④答案:
  • ⑤答案:

本题共 16

关于暑假备战几点建议

tip

s

关于分享

小码匠今年也要参赛,近期我正在整理CSP-J&S的知识点精简版,后面会陆续在本公众号内分享。

期待能与更多宝爸宝妈有更深度、更广度的交流,一起探讨信息学学习,让大家少走弯路。

0 人点赞