NOIP普及组初赛模拟试题(含详细答案解析)_第1页
NOIP普及组初赛模拟试题(含详细答案解析)_第2页
NOIP普及组初赛模拟试题(含详细答案解析)_第3页
NOIP普及组初赛模拟试题(含详细答案解析)_第4页
NOIP普及组初赛模拟试题(含详细答案解析)_第5页
已阅读5页,还剩4页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

NOIP普及组初赛模拟试题(含详细答案解析)考试时长:90分钟满分:100分注意事项:1.本试卷共4大题,全部为笔试答题;2.所有答案必须写在答题卡对应位置,写在试卷上无效;3.考试结束后,考生只需上交答题卡。一、单项选择题(共20题,每题1.5分,共计30分)每小题有且仅有一个正确答案,请将正确答案填在答题卡对应位置。1.以下不属于计算机基本硬件组成的是()A.运算器B.控制器C.数据库D.存储器2.二进制数1101对应的十进制数是()A.11B.12C.13D.143.十进制数28转换为二进制数是()A.11100B.11010C.10111D.111104.十六进制数A5对应的十进制数是()A.165B.155C.145D.1755.在计算机中,1KB标准存储容量为()A.1000BB.1024BC.512BD.2048B6.下列操作系统中,属于开源系统的是()A.Windows10B.macOSC.LinuxD.Windows117.广度优先搜索(BFS)主要借助的数据结构是()A.栈B.队列C.树D.堆8.深度优先搜索(DFS)主要借助的数据结构是()A.栈B.队列C.链表D.哈希表9.一个长度为n的有序数组,使用二分查找的最坏时间复杂度为()A.O(n)B.O(n²)C.O(log₂n)D.O(nlog₂n)10.冒泡排序算法的最坏时间复杂度是()A.O(1)B.O(n)C.O(nlog₂n)D.O(n²)11.下列程序语言中,最适合竞赛算法编程的是()A.HTMLB.C++C.CSSD.SQL12.栈的运算规则是()A.先进先出B.先进后出C.随机进出D.后进后出13.队列的运算规则是()A.先进先出B.先进后出C.随机进出D.后进先出14.一棵有10个节点的二叉树,最少层数为()A.3B.4C.5D.215.下列不属于线性数据结构的是()A.数组B.链表C.二叉树D.队列16.逻辑表达式true&&false的运算结果是()A.trueB.falseC.1D.无法确定17.逻辑表达式true||false的运算结果是()A.trueB.falseC.0D.无法确定18.在C++中,int类型数据的字节数一般为()A.1字节B.2字节C.4字节D.8字节19.下列排序算法中,时间复杂度最优的是()A.选择排序B.插入排序C.快速排序D.冒泡排序20.域名后缀.cn代表的国家/地区是()A.美国B.中国C.日本D.英国二、判断题(共10题,每题2分,共计20分)正确的选√,错误的选×,请将答案填在答题卡对应位置。1.二进制运算中,1+1=10。()2.栈和队列都不允许随机访问内部元素。()3.二分查找可以用于无序数组的查找操作。()4.递归算法一定包含终止条件,否则会出现死递归。()5.所有循环算法都可以改写为递归算法。()6.1MB=1024KB,1GB=1024MB。()7.链表的优势是可以随机访问任意位置元素。()8.快速排序是稳定排序算法。()9.二叉树的每个节点最多有两个子节点。()10.逻辑非运算会使真变假、假变真。()三、程序阅读题(共4小题,每题5分,共计20分)阅读下列C++程序代码,写出程序最终输出结果。程序1PlainText

#include<iostream>

usingnamespacestd;

intmain()

{

inta=10,b=3;

cout<<a/b<<endl;

cout<<a%b<<endl;

return0;

}请问程序输出结果为?程序2PlainText

#include<iostream>

usingnamespacestd;

intmain()

{

intsum=0;

for(inti=1;i<=5;i++)

{

sum+=i;

}

cout<<sum<<endl;

return0;

}请问程序输出结果为?程序3PlainText

#include<iostream>

usingnamespacestd;

intf(intx)

{

if(x==1)return1;

returnf(x-1)*x;

}

intmain()

{

cout<<f(4)<<endl;

return0;

}请问程序输出结果为?程序4PlainText

#include<iostream>

usingnamespacestd;

intmain()

{

inta=5,b=8;

if(a>b)swap(a,b);

cout<<a<<""<<b<<endl;

return0;

}请问程序输出结果为?四、程序完善题(共2大题,每空3分,共计30分)根据题目功能,补全程序空缺代码,使程序正常实现对应功能。完善程序1:求1~n的偶数和题目功能:输入一个正整数n,计算并输出1到n之间所有偶数的和。PlainText

#include<iostream>

usingnamespacestd;

intmain()

{

intn,sum=0;

cin>>n;

for(inti=2;i<=n;____1____)

{

____2____;

}

cout<<sum<<endl;

return0;

}空1、空2填写完整代码语句完善程序2:判断素数题目功能:输入一个大于1的整数,判断该数是否为素数,是素数输出YES,否则输出NO。素数定义:除了1和自身,无其他因数的自然数。PlainText

#include<iostream>

usingnamespacestd;

intmain()

{

intn;

cin>>n;

boolflag=true;

for(inti=2;i*i<=n;____1____)

{

if(____2____)

{

flag=false;

break;

}

}

if(____3____)

cout<<"YES"<<endl;

else

cout<<"NO"<<endl;

return0;

}空1、空2、空3填写完整代码语句完善程序3:冒泡排序题目功能:输入5个整数,使用冒泡排序将数组从小到大排序并输出。PlainText

#include<iostream>

usingnamespacestd;

intmain()

{

inta[6];

for(inti=1;i<=5;i++)

cin>>a[i];

for(inti=1;i<=4;i++)

{

for(intj=1;j<=____1____;j++)

{

if(a[j]>a[j+1])

{

____2____;

}

}

}

for(inti=1;i<=5;i++)

cout<<a[i]<<"";

return0;

}空1、空2填写完整代码语句完善程序4:斐波那契数列题目功能:输出斐波那契数列前10项,数列规则:前两项为1、1,从第三项开始,每一项等于前两项之和。PlainText

#include<iostream>

usingnamespacestd;

intmain()

{

inta=1,b=1,c;

cout<<a<<""<<b<<"";

for(inti=3;i<=10;i++)

{

c=____1____;

cout<<c<<"";

a=b;

____2____;

}

return0;

}空1、空2填写完整代码语句参考答案及详细解析一、单项选择题答案及解析1.C解析:计算机硬件五大核心部件为运算器、控制器、存储器、输入设备、输出设备,数据库是软件数据存储系统,不属于硬件。2.C解析:1×2³+1×2²+0×2¹+1×2⁰=8+4+0+1=13。3.A解析:28拆分:16+8+4=28,对应二进制11100。4.A解析:十六进制A代表10,10×16+5=165。5.B解析:计算机标准存储换算1KB=1024字节(B)。6.C解析:Linux为开源免费操作系统,Windows、macOS均为闭源商用系统。7.B解析:广度优先搜索逐层遍历,遵循先进先出,依托队列实现。8.A解析:深度优先搜索纵深遍历,回溯特性匹配栈先进后出规则。9.C解析:二分查找每次缩小一半查找范围,最坏时间复杂度为对数级O(log₂n)。10.D解析:冒泡排序最坏情况下需要完全遍历交换,时间复杂度为O(n²)。11.B解析:C++是信息学竞赛主流编程语言,HTML、CSS用于网页制作,SQL用于数据库查询。12.B解析:栈的核心规则:先进后出、后进先出。13.A解析:队列的核心规则:先进先出、后进后出。14.A解析:完全二叉树层数最少,2²+2¹+2⁰=7,3层最多7个节点,10个节点最少需要3层。15.C解析:数组、链表、队列均为线性结构,二叉树为树形非线性结构。16.B解析:逻辑与运算,全真为真,有假则假。17.A解析:逻辑或运算,有真为真,全假才假。18.C解析:主流编译环境中,C++int类型固定占4字节。19.C解析:快速排序平均时间复杂度O(nlog₂n),优于冒泡、选择、插入排序的O(n²)。20.B解析:.cn为中国国家顶级域名。二、判断题答案及解析1.√解析:二进制逢二进一,1+1结果为10。2.√解析:栈仅能操作栈顶元素,队列仅能操作队首队尾元素,均不支持随机访问。3.×解析:二分查找的前提是数组有序,无序数组无法使用。4.√解析:无终止条件的递归会无限调用,造成程序栈溢出。5.√解析:所有循环逻辑均可通过递归思想等价实现。6.√解析:计算机存储单位二进制换算标准。7.×解析:链表只能逐个遍历访问,数组才支持随机访问。8.×解析:快速排序属于不稳定排序,相等元素相对顺序可能改变。9.√解析:二叉树定义为每个节点最多包含左右两个子节点。10.√解析:逻辑非是单目运算,实现真假翻转。三、程序阅读题答案及解析程序1答案:3、1解析:C++整数除法向下取整,10/3=3;取余运算10%3=1,分两行输出。程序2答案:15解析:循环累加1+2+3+4+5=15,最终输出累加和。程序3答案:24解析:该递归函数为阶乘运算,f(4)=4×3×2×1=24。程序4答案:58解析:初始a=5、b=8,条件a>b不成立,不执行交换,直接输出原值。四、程序完善题答案及解析完善程序1空1:i+=2解析:直接遍历所有偶数,步长为2,提升运算效率。空2:sum+=i解析:将遍历到的偶数累加至总和。完善程序2空1:i++解析:循环遍历所有可能的因数。空2:n%i==0解析:若存在除1和自身外的因数,说明不是素数。空3:flag

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论