开放教育程序设计基础综合练习题
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C 数据有序且采用链式存储方式
D 数据不需要有序,也不限制存储方式
14、 早期进行程序开发过程中存在不少问题,在下列问题中有一个并不是早期程序员常见 的问题,它是______。
A 程序员过分依赖技巧与天分,不太注重所编写程序的结构 B 程序中的控制随意跳转,不加限制地使用 goto 语句 C 无固定程序设计方法 D 对问题的抽象层次不够深入
1、写出程序运行结果。 #include <stdio.h> main ( ) { int a=10, b=-7; printf ("%d\n", a%b); printf ("%d\n", b%a); }
程序运行结果是:_______和______。
/* ① */ /* ② */
2、写出程序的运行结果。
15、 如果在进行单元测试的时候发现错误,则针对该被发现的错误,可以判断在整个软件 开发过程最可能出现错误的阶段是______。
A 需求分析
B 概要设计
C 详细设计
D 单元测试
二、填空题(每空 2 分,共 20 分)
1、程序设计过程的三要素是指算法、______以及______。 2、在 C 语言中对于采用 while 语句实现的循环,我们在不改变程序结构的前提下,也可以采用
的_____。 5、评价算法运行效率的两个重要指标是______和______。
三、简答题(每小题 10 分,共 30 分) 1、请简述程序设计的一般步骤。
3、请分别写出下面二叉树的先序遍历、中序遍历和后序遍历的结果。
A
B
C
D
E
F
3、简述产生“软件危机”的原因。
四、写出运行结果(每道题目 5 分,共 10 分)
A goto
B while
C for
D do-while
1
9、 数据的存储结构分为两种,它们是______。
A 线性存储和数组存储
B 顺序存储和链式存储
C 线性存储和树型存储
D 数组存储和指针存储
10、 如果在内存中采用链式保存线性表,则元素之间的逻辑关系通过______。 A 元素在内存中的相对位置表示逻辑次序 B 保存在元素中的指针表示先后次序 C 设立单独的区域存储元素之间的逻辑次序 D 元素本身的关键字来表示逻辑次序
五、编程题(10 分) 1、编写一程序,从键盘输入 10 个实数,计算并输出算术平均数。
4
参考答案
一、单项选择题 1、B 2、A 3、B 9、B 10、B 11、B
4、A 12、C
5、C 13、D
6、C 14、D
7、B 15、C
8、D
二、填空题
1、数据结构 2、for 3、(rear +1) % maxsize= front 4、传统的流程图 5、时间复杂度
2
______语句实现循环。如果循环体至少执行一次,则一般应该采用______语句编写循环。 3、在采用一组地址连续的空间存放队列元素时如果队头指针为 front,队尾指针为 rear,则判断
队满的条件是______;判断队空的条件是______。 4、常用的描述算法的方法有:用自然语言表达、用伪码表达、用有流程线的______和无流程线
11、 栈的逻辑结构是______。
A 集合
B 线性结构
C 树型结构
D 图型结构
12、 若按照一定的顺序依次访问树中的每一个结点,而且每个结点只被访问一次,则称这 样的操作为______。
A 排序
B 查找
C 遍历
D 建立
13、 进行顺序查找的条件是______。
A 数据有序且采用顺序存储方式
B 数据不需要有序,但需要顺序存储
程序设计方法学 do-while front=rear N-S 图 空间复杂度
三、简答题
1、请简述程序设计的一般步骤。 参考答案: (1)确定要解决的问题。(2)分析问题,建立数学模型。(3)选择计算方法。(4)确定数据结构和算法。 (5)绘制流程图。(6)编写程序。(7)调试并测试程序。(8)整理资料,交付使用。 或者: 程序设计的基本过程一般由分析所求解的问题、抽取数学模型、选择合适算法和数据结构、编 写程序、调试通过并交付使用等几个阶段所组成。
6、 在 C 语言中,字符串常量的定界符是______。
A 空格
B 单引号
C 双引号
D 方括号
7、 C 语言中 int 变量能够表示的数值范围是______。
A -32767~32768 B -32768~32767 C 0~65535
D 0~65536
8、 C 语言中的循环控制语句中属于“直到型”循环的语句是______。
4、 程序设计过程中的三要素是______。 A 算法、数据结构和程序设计方法学 C 输入、操作处理和输出
B 数据、算法和数据结构 D 数据、数据结构和处理
5、 JAVA 语言的类别是______。 A 面向过程的程序设计语言 C 面向对象的程序设计语言
B 面向问题的程序设计语言 D 面向硬件的程序设计语言
3
#include <stdio.h> main( ) { int a, b;
scanf ( ”%d%d", &a, &b); if ( a = ++b ) printf( ”Yes”); printf ( " a+b =%d\n", a+b ); } 如果输入:a=6,b=8,则输出结果是___________。
山东广播电视大学 开放教育程序设计基础课程综合练习题
一、单项选择题(每空 2 分,共 30 分)
1、 在计算机发展史中,计算机硬件与高级程序设计语言的相互关系是______。
A 同时诞生
B 硬件先发展然后再推动语言的发展
C 先有高级程序设计语言的发展
D 两者相互独立,分别发展
2、 现代电子计算机诞生的理论基础是______。
A 图灵机
B 图灵测试
C 冯·诺依曼机
Fra Baidu bibliotek
D 邱奇论题
3、 关于计算机程序的错误说法是______。 A 程序是按照工作步骤事先编排好的、具有特殊功能的指令序列 B 运行在硬件系统之上的软件应该采用高级语言编写 C 在现代的计算机系统中程序采用二进制形式存储 D 同一计算机系统可以完成不同的功能是因为执行了不同的程序
2、请分别写出下面二叉树的先序遍历、中序遍历和后序遍历的结果。
A
B
C
参考答案: 先序遍历:A B D C E F 中序遍历:B D A E C F
D
E
F
5
后续遍历:D B E F C A 3、简述产生“软件危机”的原因。 参考答案: 复杂程度高。研制周期长。正确性难以保证。 四、写出运行结果 1、3 -7 2、15 五、编程题 参考答案: #include <stdio.h> main( ) { int i;