全国青少年信息学奥林匹克联赛初赛模拟试题
姓名 成绩
一、单选题:
1、以下不属于CPU的组成部件是( ) A.控制器B.运算器C.寄存器D.高速缓存
2、与十进制数2011.625对应的八进制数是( )
A.3733.625 B.3733.5 C.3352.1161 D.前三个都不对
3、将5个数的序列排序,不论原先的顺序如何,最少可以通过( )次比较,完成从小到大的排序。
A.6 B.7 C.8 D.9
4、完全二叉树的结点个数为20,它的叶子结点个数为( ) A.7 B.8 C.9 D.10 5、128.8.0.1属于( )
A.A类地址 B.B类地址 C.C类地址 D.D类地址
6、使用E-mail时,接收和发送电子邮件的服务器分别称为( )服务器和( )服务器 A.POP3 SMTP B.SMTP POP3 C.HTTP FTP D.FTP HTTP 7、不能在Linux上使用的网页浏览器是( )
A.Internet Explore B.Netscape C.Opera D.Firefox D.Mozilla
8、二叉树T,已知其前序遍历序列为1243576,中序遍历序列为 4215736,则其后序遍历序列为( )
A.4257631 B.4275361 C.4275631 D.4723561
9、设有一组关键字{19,1,23,14,55,20,84,27,68,11,10,77},采用哈希函数h(key)=key,并采用开放地址的二次再散列方法解决冲突,在0-18的散列地址空间中队该关键字序列构造哈希表,则27的地址为( ): A. 0 B. 1 C. 2 D. 3
10、非空的循环单链表head的尾结点(由p所指向)满足( ) A. p->next=NULL B. p=NULL C.p->next=head D. p=head
11、设 A=true,B=false ,C=false,D=true,以下逻辑运算表达式值为真的有( ) A.(A∧B)∨(C∧D) B.(A∧B)∨C)∧D C.A∧((B∨C)∨D) D.(A∧(B∨C))∨D E.(A∨B)∧( C∨ D)) 12、一个栈的入栈序列是1,2,3,4,…..n,其出栈序列为p1,p2,p3…pn,若p1=n,则pi为( ) A.i B .n=i C.n-i+1 D.不确定
13、下列不属于冯。诺依曼计算机模型的核心思想是( ) A.采用二进制表示数据和指令 B.采用”存储程序“工作方式 C.计算机硬件有五大部件 D.结构化程序设计方法 14、下面说法中不正确的是( )
A.地址总线 B.控制总线 C.数据总线 D. 主板总线 15、先列说法中,娜个是错误的( ) A.程序是指令的序列 ,它有三种控制结构
B.数据总线决定了CPU所能访问的最大内存空间的大小 C.CPU内部有寄存器组,用来储存数据
D.不同厂家生产的CPU所能处理的指令集是相同的 16、(100)2+(100)10+(100)8+(100)16的结果是( )
- 1 -
A.(11110100)2 B.(1A8)16 C.(651)8 D.(4224)10 17设字长n=8位,x=-1011011B,以下说法不正确的是( )
A.[x]原=11011011B B.[x]原=对应十进制为-91 C.[x]反=10100100B D..[x]补=对应十进制为-47
18、表达式(1+34)*5-56/7的后缀表达式为( )
A.1+34*5-56/7 B.-*+1 34 5/56 7 C.1 34 +5*56 7/- D.1 34 5* +56 7/- E. 1 34+5 56 7-*/
19、假设我们用d=(a1,a2,....a5),表示无向图G的5个顶点的度数,下面给出的哪个组d值不合理( )
A.{4,4,4,4,4} B.{4,2,3,3,3} C.{3,3,3,2,3} D.{5,5,5,5,2}
20、设n,m为一棵二叉树上的两个结点,在中序遍历时,n在m前的条件是(A. n在m右方 B. n是m祖先 C. n在m左方 D. n是m子孙
二、问题求解
1、求不大于500而能被2,3,5,7之一整除的自然数的个数。
2、由3个a,5个b,2个c,构成的字符串中,包含串\的共有( )个。
三、阅读程序:
1.#include
Int u[4],a,b,c,x,y,z; int main()
{cin>>u[0]>>u[1]>>u[2]>>u[3]; a=u[0]+u[1]+u[2]+u[3]-5; b=u[0]*(u[1]-u[2]/u[3]+8); c=u[0]*u[1]/u[2]*u[3]; x=(a+b+2)*3-u[(c+3)%4]; y=(c*100-13)/a/(u[b%3]*5);
if((x+y)%2==0)z=(a+b+c+x+y)/2; z=(a+b+c-x-y)*2;
printf(“%d\\n”,(x+y-z)); return 0; }
输入3 5 7 4 输出:
2、#include
int d,p;
int findvall(int n) {int f;
if(n==0)return 1;
- 2 -
)else
{f=findvall(n/2); return (n*f); } }
int main() {int n;
scanf(“%d”,&n);
printf(“%d\\n”,findvall(n)); return 0; }
输入:12 输出:
3、
#include
{minn=10000;x=3; while(x<15) {d1=sqrt(9+(x-3)*(x-3)); d2=sqrt(36+(15-x)*(15-x)); if((d1+d2)
char name[10]; int num; };
void f1(struct stu c)
{ struct stu b={\ c=b; }
void f2(struct stu *c)
{ struct stu b={\ *c=b; }
int main( )
- 3 -
{ struct stu a={\ f1(a);f2(&b);
printf(\ return 0; }
输出:
四、完善程序
1、求出2-1000之间长度最长的,成等差数列的素数。 #iinclude
int maxn,num,i,j,i1,k,delta,b[1000],d[1000],c[1000]; int main()
{maxn=0;num=1000; for(i=2;i<=num;i++)b[i]=i; for(i=2; ) if ( ) k=i+i; while(k<=num) {b[k]=0;k=k+i;} for(i=2;i
printf(“%d”,maxn); for(i=1;i<=maxn;i++) printf(“%d ”,c[i]); printf(“\\n”);; return 0; }
- 4 -
2、工厂每天的生产中,需要一定数量的零件,同时也可以知道每天生产一个零件的生产单价。在n天的生产中,当天生产的零件可以满足当天的需要,若当天用不完,可以防到下一天去使用,但要收取每个零件的保管费,不同的天收取的保管费用也不同。求一个n天的生产计划,使得总的费用最少。 #include
int b[30];//存放每天的需求量 int c[30];//每天生产零件的单价 int d[30];//每天保管零件的单价 int e[30];//生产计划 int main() {cin>>n;
for(i=1;i<=n[i++)
cin>>b[i]>>c[i]>>d[i]; for(i=1;i<=n;i++) e[i]=0;
=10000;c[n+2]=0;b[n+1]=0;j0=1; while(j0<=n)
{ yu=c[j0];j1=j0;s=b[j0];
while( )
{ ; j1++;s=s+b[j1];} ; j0=j1+1;
} for(i=1;i<=n;i++) ; printf(“\\n”);
return 0; }
- 5 -
相关推荐: