当前位置:首页 >> 学科竞赛 >>

NOIP初赛模拟题2(C++)


信息学初赛模拟试题

一、选择题:(共 20 小题,每题1.5 分;共30 分) 1.对存储器按字节进行编址,若某存储器芯片共有10 根地址线的引脚,则该存 储器芯片的存储容量为( )。 (A) 512B (B) 1KB (C) 2KB (D)4KB (E)8KB

2.在待排序的数据表已经为有序时,下列排序算法中花费时间反而多的是( )。

(A)堆排序 (B)希尔排序 (C)冒泡排序 (D)快速排序 (E)二分排序

3.某数列有1000 个各不相同的单元,由低至高按序排列,现要对该数列进行二分法检索, 在最坏的情况下,需要检索( )单元。 (A)1000 (B)10 (C)100 (D)500 (E) 300

4.已知数组a 中, 每个元素a[i,j]在存储时要占3 个字节, 设i 从1 变化到8, j从1 变化到10, 分配内存实是从地址sa 开始连续按行存储分配的。试问:a[5,8]的起始地址为( )。 (A)sa+141 (B)sa+180 (C)sa+222 (D)sa+225 (E)sa+155

5.在C语言函数调用时,数组形参得到的是实际参数的( )。 (A) 数值 (B) 地址 (C)值 (D)变量 (E)以上都不是

6.一个24*24 点阵的汉字字形信息所占的字节数为( )。 (A) 2 (B) 8 (C) 24 (D) 32 (E) 72

7. 在微机系统中,最基本的输入输出模块BIOS 存放在( ) 中。 (A) RAM (B) ROM (C) 硬盘 (D)寄存器 (E)控制器

8. 十进制算术表达式:3*512+5*64+2*8+1 的运算中,用二进制表示为( )。 (A)1011010001 (D) 11110100011 (B) 10110100011 (E)111000 (C) 11101010001

9.设栈S 的初始状态为空,现对序列{1,2,3,4,5}在栈S 上,依次进行如下操作(从元素1 开始, 出栈后不再进栈):进栈,出栈,进栈,进栈,出栈,出栈。试问出栈的元素序列是( )。 (A){1,2,3} B) {1,3,2} C) {3,2,1} D) {2,3,1} (E)以上都不对

10.E-mail 邮件本质上是一个( ) (A)文件 (B)电报 (C)电话 (D)传真 (E)电讯

11.一棵二叉树的高度为h,所有结点的度为0,或为2,则此树最少有( )个结点 (A)2h-1 (B)2h-1 (C)2h+1 (D)h+1 (E)h*h+1

12.无向图G=(V,E),其中V={a,b,c,d,e,f} E={(a,b),(a,e),(a,c),(b,e),(c,f),(f,d),(e,d)}对该图进行深度优先遍历,得到的顶点序列正确的 是( ) (A)a,b,e,c,d,f (B)a,c,f,e,b,d (C)a,e,b,c,f,d (D)a,b,e,d,f,c (E)以上都不对

13.C++ 编译程序是( ) (A) 把C++ 源程序转换成可运行的EXE 文件的程序 (B) 把C++ 源程序转换成等价的目标码的程序
1/9

信息学初赛模拟试题

(C) 生成和修改一个C++ 语言源程序的等程序 (D) 把C++ 的目标码程序转换成可运行的EXE 文件的程序 (E) 生成一个等价的汇编程序 14. 将三封信投到4 个邮筒,最多的投法有( ) (A)24种 (B)4种 (C)64种 (D)81种 E. 3 15. 电子信函(电子邮件)的特点之一是( )。 (A)比邮政信函,电报,电话,传真都更快 (B)在通信双方的计算机之间建立其直接的通信线路后即可快速传递数字信息 (C)采用存储-转发方式在网络上逐步传递信息,不象电话那样直接、及时,但费用低廉 (D)在通信双方的计算机都开机工作的情况下即可快速传递数字信息 16. 以下不属于多媒体硬件的是( ) (A)主机(B)光驱(C)声卡(D).音箱(E). 超级解霸 17. 正确的二维数组类型说明是( ) (A) int ar2[5,5]; (B) int ar2(5,5); (C) int ar2[5][5]; (D)int ar2[5](5); (E)int ar2(5)(5); 18.下列不属于信息处理的是( ) (A)信息加工(B)信息分类(C)信息技术(D)信息采集(E)信息存储 19.在windows 中,最小化一个应用程序窗口后,该程序将( )。 (A)被终止执行 (B) 被暂停执行 (C)被转入后台继续执行(D)以上答案都不对 20、在下图中,从顶点( 一次,而且仅遍历一次。 A. A 点 B. B 点 C. C 点 )出发存在一条路径可以遍历图中的每条边

D. D 点

E. E 点

二、问题求解:(第1 小题4 分,第2-3 小题各3 分,共1 分) [问题1]: 在所有三位数中,各位数字从高位到低位顺次减小的数共有 [问题2]:"银条" 一位银矿勘探员无力预付 3 月份的房租。他有一根长31 英寸的纯银条,因此他和女房东 达成如下协议。他说,他将把银条切成小段。3 月份的第一天,他给女房东1 英寸长的一 段,然后每天给她增加1 英寸,以此作为抵押。勘探员预期到3 月份的最后一天,他能全 数付清租金,而届时女房东将把银条小段全部还给他。3 月份有31 天,一种办法是把银条 切成31 段,每段长1 英寸。可是这处花很多功夫。勘探员希望既履行协议,又能使银条的 分段数目尽量减少。例如,他可以第一天给女房东1 英寸的一段,第二天再给1 英寸的一
2/9

个。

信息学初赛模拟试题

段,第三开他取回这两段1 英寸的而给她3 英寸的一段。假设银条的各段是按照这种方式 来回倒换的话,勘探员至少需要把他的银条切成______段? [问题3]:"换不开的钞票" 钱柜里有 1.15 美元,一位顾客提出:把1 美元的钞票换成硬币,但出纳小姐说换不开,后 来这位顾客提出:把50 美分的钞票换成硬币,但出纳小姐又说换不开,而实际上,出纳小 姐也无法把25 美分、10 美分、5 美分的钞票换成硬币。请问钱柜里到底有哪些硬币?他 们分别有多少枚?(注:1美元合100美分,小币值的硬币有50美分、25美分、10美分、5美 分和1美分) 答:_________________。

三、写出程序的运行结果:(每小题 6 分,共32 分)
1. #include<iostream> #include<cmath> using namespace std; int main() { int n=6,m=3; int i,j,k,l; for(i=-n;i<=n;i++) { k=n-abs(i); l=k; for(l=1;l<=39-k;l++) cout<<' '; for(j=-k;j<=k;j++) if(abs(j)>k-m) cout<<(n-(i+n)/2); else cout<<" "; cout<<endl; } return 0; } 输出结果: 2.
3/9

信息学初赛模拟试题

#include<iostream> using namespace std; int main() { int k; char ch,a[10]; for(k=0;k<10;k++) a[k]='A'+k+1; for(k=0;k<10;k++) { ch=a[k]; a[k]=a[9-k]; a[9-k]=ch; } for(k=0;k<10;k++) cout<<a[k]; cout<<endl; return 0; } 输出结果: 3. #include<iostream> using namespace std; int m,n,p; float x; void mm(int m,float x) { int n; m=m+1; n=m+1; x=n*3; p=n; } int main() {
4/9

信息学初赛模拟试题

m=8; n=5; p=3; x=1.0; mm(n,x); cout<<m<<" "<<n<<" "<<p<<" "<<x<<endl; return 0; } 输出结果: 4. #include<iostream> #define n 5 using namespace std; int main() { int a[n][n],i,j,k; for(i=0;i<n;i++) for(j=0;j<n;j++) a[i][j]=0; k=1; for(i=1;i<n;i++) for(j=n-1;j>=i;j--) { a[j][j-i]=k; k++; } for(i=0;i<n;i++) { for(j=0;j<n;j++) cout<<a[i][j]<<" "; cout<<endl; } return 0; } 输出结果:
5/9

信息学初赛模拟试题

5. #include<iostream> using namespace std; int main() { char ch; int i,n,m,sum=0; cin>>ch; switch (ch) { case 'A': for(i=4;i<=6;i++) { cin>>n; sum=sum+n; } break; case 'B': cin>>m; for(i=1;i<=m;i++) { cin>>n; sum=sum+n; } break; case 'C': do { cin>>n; sum=sum+n; }while(sum<=10); break; case 'D': cin>>n; while(n<=3)
6/9

信息学初赛模拟试题

{ sum=sum+n; cin>>n; } break; } cout<<sum<<endl; return 0; } (1)输入 A 4 1 2 3 4 5 6 7 8 9 时,结果: (2)输入 B 4 1 2 3 4 5 6 7 8 9 时,结果: (3)输入 C 4 1 2 3 4 5 6 7 8 9 时,结果: (4)输入 D 4 1 2 3 4 5 6 7 8 9 时,结果: 四、完善程序(第 1 题每空2 分第2、3 题每空3 分,共32 分) 第1 题:孪生素数是指两个相差为 2 的素数,例如:3 和5,5 和7,11 和13 等。下面 程序可输出 15 对孪生素数,其中函数q 判断整数a 是否为素数。 #include<iostream> using namespace std; int q(int a) { int k,flag; flag= [1] ; k=2; while( [2] ) if(a%k==0) [3] ; else k++; return flag; } int main() { int k,n; n=0; k=2; do { if(q(k)&& [4] ) { n=n+1; cout<<k<<","<<k+2<<endl;
7/9

信息学初赛模拟试题

} k=k+1; }while(n!=15); return 0; } 第二题:已知有字符型数组a 中存放着从第1 届到第16届足球世界杯冠军国家的名字,下 面的函数可求出历界世界杯比赛共有几个国家曾获得过世界杯冠军,请填空完成。 int fun(char a[]) { int k,j,s; bool mult; [5] ; for(j=2;j<=16;j++) { k=1; mult=false; while(!mult && [6] ) if( [7] ) mult=true; else k=k+1; if(!mult) s= [8] ; } return s; } 第三题:Fibonacci(裴波那契)数列的规律是:前2 个数均为1,从第3 个数开始每个数等 于它前面两个数之和,即:1,1,2,3,5,8,13,21,34,55,89,144,233,377,...。 已知任意一个大于0 的整数可以表示为若干个互不相同的fibonacci 之数和。 例如:121=89+21+8+3 下面的程序是由键盘输入一个正整数n,输出组成n 的互不相同的fibonacci 数。 例如:若输入 121 则输入121=+89+21+8+3 本程序的算法如下:(n=121 为例) 1) 寻找小于或等于n 的最大的fibonacci 数a(例如89) ,并以a 作为组成n的一个数输出。 2)若n≠a 则以n-a 作为新的任意正整数(例如32),重复步骤1.若n=a,则结束。程序中 的函数find 返回小于或等于n 的最大的fibonacci 数。 #include<iostream> using namespace std; int data[10000]={0},t=0; int find(int n) { int a,b,c; a=1;
8/9

信息学初赛模拟试题

b=1; do { c= [9] ; a=b; b=c; }while(b<n); if(b==n) return [10] else return [11] } int p(int n) { t++; data[t]=find(n); if(data[t]<n) { p( [12] } else return 0;

; ;

);

} void print() { int i; cout<<data[1]; for(i=2;i<=t;i++) cout<<'+'<<data[i]; } int main() { int n; cin>>n; cout<<n<<'='; p(n); print(); cout<<endl; return 0; }

9/9


相关文章:
NOIP初赛模拟题2(C++)
NOIP初赛模拟题2(C++)_学科竞赛_高中教育_教育专区。信息学初赛模拟试题 一、选择题:(共 20 小题,每题1.5 分;共30 分) 1.对存储器按字节进行编址,若某存...
NOIP初赛模拟题(C++)
1. #include<iostream> 2/6 NOIP 模拟题(一) using namespace std; int x,y,z; void silly(int x,int y) { x=5; y=6; z=3; cout<<x<<","<...
NOIP初赛模拟题(C++)4
NOIP初赛模拟题(C++)4_IT认证_资格考试/认证_教育专区。NOIP 初赛模拟题 4 信息学初赛模拟试题(四) 一、 选择题: (每题 1.5,共 30 分) 1、二进制数 0110...
NOIP初赛模拟题7(C++)
NOIP初赛模拟题7(C++)_学科竞赛_初中教育_教育专区。NOIP 模拟练习 7 一、选择...{ cout<<x<<endl; p=false; } else i=i+1; } return 0; } 2. ...
NOIP初赛模拟题5C++
NOIP初赛模拟题5C++_学科竞赛_高中教育_教育专区。初赛模拟题 5 (初中组 C/C++...[1]=2; cout<<f(8)<<endl; return 0; } 3. #include<iostream> #...
NOIP初赛模拟题6(C++)
NOIP初赛模拟题6(C++)_学科竞赛_初中教育_教育专区。初赛模拟题 6 信息学初赛模拟试题(6)一、选择题: 1.微型计算机的性能主要取决于( A. 内存 2.字长为 32...
NOIP初赛模拟题9(C++)
NOIP初赛模拟题9(C++)_学科竞赛_初中教育_教育专区。NOIP 模拟 9 一、选择 1...第 2 题:设 m 叉树采用列表法表示,即每棵子树对应一个列表,列表的结构为:...
冲刺NOIP 2011模拟试题2(C++)答案
冲刺NOIP 2011模拟试题2(C++)答案_交规考试_资格考试/认证_教育专区 暂无评价|0人阅读|0次下载|举报文档 冲刺NOIP 2011模拟试题2(C++)答案_交规考试_资格考试/...
noip2002初赛试题及答案
第八届全国青少年信息学奥林匹克联赛(NOIP2002)试题 (普及组 PASCAL 语言小时...D) FORTRAN C) C++ ) 。 ) 可以被查到。 5)资源管理器的目录前图标中增加...
NOIP2015初赛普及组C++试题及参考答案
NOIP2015初赛普及组C++试题及参考答案_财会/金融考试_资格考试/认证_教育专区。第二十一届全国青少年信息学奥林匹克联赛初赛普及组 C++语言试题 竞赛时间:2015 年 ...
更多相关标签:
noip初赛模拟题 | noip普及组初赛模拟题 | noip提高组初赛c | noip初赛试题c | noip2016初赛c | noip2015普及组初赛c | noip2014提高组初赛c | noip普及组初赛c |