历届竞赛语言相关选择题
单项选择题
[09]8. 快速排序平均情况和最坏情况下的算法时间复杂度分别为:
A. 平均情况O(nlog(2,n)),最坏情况O(n^2)
B. 平均情况O(n),最坏情况O(n^2)
C. 平均情况O(n),最坏情况O(nlog(2,n))
D. 平均情况O(log(2,n)),最坏情况O(n^2)
[08]3. 设字符串S=”Olympic”,S的非空子串的数目是( )。
A. 29 B. 28 C. 16 D. 17 E. 7
[08]5.将数组{8, 23, 4, 16, 77, -5, 53, 100}中的元素按从大到小的顺序排列,每次可以交换任意两个元素,最少需要交换( )次。
A. 4 B. 5 C. 6 D. 7 E. 8
[08]8. 递归过程或函数调用时,处理参数和返回地址,通常使用一种称为()的数据结构。
A. 队列 B. 多维数组 C. 线性表 D. 链表 E. 栈
[08]10. 对有序数组{5, 13, 19, 21, 37, 56, 64, 75, 88, 92, 100}进行二分查,等概率的情况下查成功的平均查长度(平均比较次数)是( )。
A. 35/11 B. 34/11 C. 33/11 D. 32/11 E. 34/10
[07]4.ASCII码的含义是( )。
A. 二—十进制转换码 B. 美国信息交换标准代码 C. 数字的二进制数码
D. 计算机可处理字符的唯一编码 E. 常用字符的二进制编码
[07]5.在 Pascal 语言中,表达式 (23 or 2 xor 5)的值是( )
A. 18 B. 1 C.23 D.32 E.24
[07]6.在 Pascal 语言中,判断整数a 等于 0 或b等于 0或c等于0 的正确的条件表达式是( )
A. not ((a<>0) or (b<>0) or (c<>0))
B. not ((a<>0) and (b<>0) and (c<>0))
C. not ((a=0) and (b=0)) or (c=0)
D.(a=0) and (b=0) and (c=0)
E. not ((a=0) or (b=0) or (c=0))
[07]10. 一个无法靠自身的控制终止的循环称为“死循环”,例如,在C 语言程序中,语句“while(1)printf(“*”);”就是一个死循环,运行时它将无休止地打印*号。下面关于死循环的说法中,只有( )是正确的。
A. 不存在一种算法,对任何一个程序及相应的输入数据,都可以判断是否会出现死循环,因而,任何编译系统都不做死循环检验
B.有些编译系统可以检测出死循环
C. 死循环属于语法错误,既然编译系统能检查各种语法错误,当然也应该能检查出死循环
D. 死循环与多进程中出现的“死锁”差不多,而死锁是可以检测的,因而,死循环也是可以检测的
E. 对于死循环,只能等到发生时做现场处理,没有什么更积极的手段
[06]4.在编程时(使用任一种高级语言,不一定是 Pascal),如果需要从磁盘文件中输入一个很大的二维 数组(例如 1000*1000 的 double 型数组),按行读(即外层循环是关于行的)与按列读(即外层循 环是关于列的)相比,在输入效率上( )。
A. 没有区别 B. 有一些区别,但机器处理速度很快,可忽略不计
C. 按行读的方式要高一些 D. 按列读的方式要高一些 E. 取决于数组的存储方式。
[06]pascal语言面向对象吗10.将 5 个数的序列排序,不论原先的顺序如何,最少都可以通过( )次比较,完成从小到大的排序。
A. 6 B. 7 C. 8 D. 9 E. 10
[05]1. 字符串“ababacbab”和字符串“abcba”的最长公共子串是( )。
A. abcba B. cba C. abc D. ab E. bcba
[04]2.由3个a,5个b和2个c构成的所有字符串中,包含子串“abc”的共有( )个。
A. 40320 B. 39600 C. 840 D. 780 E. 60
[09]8 | [08]3 | [08]5 | [08]8 | [08]10 | |||||
A | B | B | E | C | |||||
[07]4 | [07]5 | [07]6 | [07]10 | [06]4 | [06]10 | [05]1 | [04]2 | ||
B | A | B | A | E | B | B | D | ||
不定项选择题
[09]7、在带尾指针(链表指针clist指向尾结点)的非空循环单链表中每个结点都以next字段的指针指向下一个节点。假定其中已经有了2个以上的结点。下面哪些说法是正确的:
A)如果p指向一个待插入的新结点,在头部插入一个元素的语句序列为:
p^.next:=clist^.next;clist^.next:=p;
B)如果p指向一个待插入的新结点,在尾部插入一个元素的语句序列为:
p^.next:=clist;clist^.next:=p;
C)在头部删除一个结点的语句序列为:
p:=clist^.next;clist^.next:=clist^.next^.next;dispose(p);
D)在尾部删除一个结点的语句序列为:
p:=clist;clist:=clist^.next;dispose(p);
[09]8、散列表的地址区间为0-10,散列函数为H(K)=K mod 11。采用开地址法的线性探查
法处理冲突,并将关键字序列26,25,72,38,8,18,59存储到散列表中,这些元素存入散列表的顺序并不确定。假 定之前散列表为空,则元素59存放在散列表中的可能地址有:
A)5 B)7 C)9 D)10
[09]9、排序算法是稳定的意思是关键码相同的记录排序前后相对位置不发生改变,下列哪些排序算法是稳定的:
A)插入排序 B)基数排序 C)归并排序 D)冒泡排序
[09]10、在参加NOI系列竞赛过程中,下面哪些行为是被严格禁止的:
A)携带书写工具,手表和不具有通讯功能的电子词典进入赛场。
B)在联机测试中通过手工计算出可能的答案并在程序里直接输出答案来获取分数。
C)通过互联网搜索取得解题思路。
D)在提交的程序中启动多个进程以提高程序的执行效率。
[08]13. 设A=true,B=false,C=true,D=false,以下逻辑运算表达式值为真的有( )。
A. (A∧B)∨(C∧D∨A) B. ((A∧B)∨C)∧D
C. (B∨C∨D)∨D∧A D. A∧(D∨C)∧B
[08]17. 面向对象程序设计(Object-Oriented Programming)是一种程序设计的方法论,它将对象作为程序的基本单元,将数据和程序封装在对象中,以提高软件的重用性、灵活性和扩展性。下面关于面向对象程序设计的说法中,正确的是( )。
A. 面向对象程序设计通常采用自顶向下设计方法进行设计。
B. 面向对象程序设计方法具有继承性(inheritance)、封装性(encapsulation)、多态性(polymorphism)等几大特点。
C. 支持面向对象特性的语言称为面向对象的编程语言,目前较为流行的有C++、JAVA、C#等。
D. 面向对象的程序设计的雏形来自于Simula语言,后来在SmallTalk语言的完善和标准化的
过程中得到更多的扩展和对以前思想的重新注解。至今,SmallTalk语言仍然被视为面向对象语言的基础。
[08]19. NOIP竞赛推荐使用的语言环境有( )。
A. Dev-C++ B. Visual C++ C. free pascal D. Lazarus
[07]11. 设A=B=true,C=D=false,以下逻辑运算表达式值为真的有( )。
A. (﹁A∧B)∨(C∧D∨A) B. ﹁ ( ( (A∧B)∨C)∧D)
C. A∧(B∨C∨D)∨D D. (A∧(D∨C)) ∧B
[07]12. 命题“P→Q”可读做P蕴含Q, 其中P、Q是两个独立的命题. 只有当命题P成立而命题Q不成立时, 命题"P→Q"的值为false, 其它情况均为true. 与命题"P→Q"等价的逻辑关系式是( )。
A. ﹁ P∨Q B. P∧Q C. ﹁ (P∨Q) D. ﹁(﹁Q∧P )
[07]15. 冗余数据是指可以由其他数据导出的数据,例如,数据库中已存放了学生的数学、语文和英语的三科成绩,如果还存放三科成绩的总分,则总分就可以看作冗余数据。冗余数据往往会造成数据的不一致,例如,上面4 个数据如果都是输入的,由于操作错误使总分不等于三科成绩之和,就会产生矛盾。下面关于冗余数据的说法中,正确的是( )。
A. 应该在数据库中消除一切冗余数据
B. 与用高级语言编写的数据处理系统相比,用关系数据库编写的系统更容易消除冗余数据
C. 为了提高查询效率,在数据库中可以适当保留一些冗余数据,但更新时要做相容性检验
D. 做相容性检验会降低效率,可以不理睬数据库中的冗余数据
[07]16.在下列各软件中,属于NOIP 竞赛(复赛)推荐使用的语言环境有( )。
A. gcc B. g++ C. Turbo C D. free pascal
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论