Noip2014初赛提高组试题及答案(完整版)
提高组C语言试题 一、单项选择题(每题1.5分,共22.5分)。
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.TCP协议属于哪一层协议().A.应用层 B.传输层 C.网络层 D.数据链路层 5.下列几个32位IP地址中,书写错误的是().A.162.105.128.27 B.192.168.0.1 C.256.256.129.1 D.10.0.0.1 6.在无向图中,所有定点的度数之和是边数的()倍.A.0.5 B.1 C.2 D.4 7.对长度位n的有序单链表,若检索每个元素的概率相等,则顺序检索到表中任一元素的平均检索长度为().A.n/2 B.(n+1)/2 C.(n-1)/2 D.n/4 8.编译器的主要功能是().A.将一种高级语言翻译成另一种高级语言 B.将源程序翻译成指令 C.将低级语言翻译成高级语言 D.将源程序重新组合 9.二进制数111.101所对应的十进制数是().A.5.625 B.5.5 C.6.125 D.7.625 10.若有变量 int a, float x, y, 且 a=7, x=2.5, y=4.7, 则表达式 x+a%3*(int)(x+y)%2/4的值大约是().A.2.500000 B.2.750000 C.3.500000 D.0.000000 11.有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向一个链表中的三个续结点。
struct node { data next data next data next int data;struct node *next;↑ p ↑ q ↑ r } *p,*q,*r;现要将q和r所指结点的先后位置交换,同时要保持链表的连续,以下程序段中错误的是().A.q->next = r->next;p-> next = r;r->next = q;B.p->next = r;q->next = r->next;r->next = q;C.q->next = r->next;r->next = q;p->next = r;D.r->next = q;q->next = r->next;p->next = r;12.同时查找2n 个数中的最大值和最小值,最少比较次数为().A.3(n-2)/2 B.4n-2 C.3n-2 D.2n-2 13.设G是有6个结点的完全图,要得到一颗生成树,需要从G中删去()条边.A.6 B.9 C.10 D.15 14.以下时间复杂度不是O(n2)的排序方法是().A.插入排序 B.归并排序 C.冒泡排序 D.选择排序 15.以下程序实现了找第二小元素的算法。输入时n个不等的数构成的数组S,输出S中第二小的数SecondMin。在最坏的情况下,该算法需要做()次比较。
if(S[1] < S[2]){ FirstMin = S[1];SecondMin = S[2];} else { FirstMin = S[2];SecondMin = S[1];} for(i = 3;i <=n;i++)if(S[1] < SecondMin)if(S[1] < FirstMin){ SecondMin = FirstMin;FirstMin = S[1];} else { SecondMin = S[1];} A.2n B.n-1 C.2n-3 D.2n-2 二、不定项选择题(每题1.5分,共7.5分)。
1.若逻辑变量A、C为真,B、D为假,以下逻辑运算表达式真的有().A.(B∨C∨D)∨D∧A B.((-A∧B)∨C)∧B C.(A∧B)∨(C∧D∨-A)D.A∧(D∨-C)∧B 2.下列()软件属于操作系统软件。
A.Microsoft Word B.Windows XP C.Android D.Mac OS X E.Oracle 3.在NOI比赛中,对于程序设计题,选手提交的答案不得包含下列哪些内容().A.试图访问网络 B.打开或创建题目规定的输入/输出文件之外的其他文件 C.运行其他程序 D.改变文件系统的访问权限 E.读写文件系统的管理信息 4.以下哪些结构可以用来存储图().A.邻接矩阵 B.栈 C.邻接表 D.二叉树 5.下列各无符号十进制整数中,能用八位二进制表示的数有().A.296 B.133 C.256 D.199 三、问题求解。
1.有数字1,1,2,4,8,8所组成的不同的四位数的个数是_____.2.如图所示,图中每条边上的数字表示该边的长度,则从A到E的最短距离是_____.四、阅读程序写结果(共4题,每题8分,共32分)。
1.#include
6 3 输出:________ 3.#include
7 aaa aba bbb aaa aaa ccc aa 输出:______ 4.#niclude 11 3 输出:_________ 五、完善程序 1.(双栈模拟数组)只使用两个栈结构stack1和stack2,模拟对数组的随机读取。作为栈结构,stack1和stack2只能访问栈顶(最后一个有效元素)。栈顶指针top1和top2均指向栈顶元素的下一个位置。 输入第一行包含的两个整数,分别是数组长度n和访问次数m,中间用单个空格隔开。 第二行包含n个整数,一次歌出数组各项(数组下标从0到a-1)。第三行包含m个整数,需要访问的数组下标。对于每次访问,输出对应的数组元素。 #include 输入第一行包含两个整数M和N,即矩阵的行数和列数。之后M行,每行N个整数,描述整个矩阵。程序最终输出最大的子矩阵和。(第一空2分,其余3分,共14分) #include 1 2 3 4 5 6 7 8 B D D B C C B B 9 10 11 12 13 14 15 D A D C C B C 二、不定项选择题(共5题,每题1.5分,共计7.5分; 每题有一个或多个正确选项,没有部分分) 1 2 3 4 5 AB BCD ABCDE AC BD 三、问题求解(共2题,每题5分,共计10分; 每题全部答对得5分,没有部分分) 1.________ 102 ___________ 2.________ 15 ____________ 四、阅读程序写结果(共4题,每题8分,共计32分) 1._________ 8 __________2.__________ 20 __________ 3.___ 2 5 6 3 4 7 1 ____4._ 3 6 9 1 5 10 4 11 8 2 7 _ 五、完善程序(共计28分) 1.(1)________________________ n ________________________(2.5分) (2)_________________________ 0_________________________(2.5分) (3)_______________ stack2[top2]=stack1[top1] ____________(3分) (4)______________ stack1[top1]=stack2[top2] _____________(3分) (5)________________________ top1-1 ______________________(3分) 2.(1)________________________ [1][1] ______________________(2分) (2)_____________________rowsum[i][0]=0___________________(3分) (3)_____________ rowsum[i][j-1] + matrix[i][j] __________(3分) (4)_________________________area=0 _______________________(3分) (5)___________ rowsum[i][last]-rowsum[i][first-1] ________(3分) 第十二届全国青少年信息学奥林匹克联赛初赛试题及答案普及组、C语言