1、第 1 页 共 24 页程序设计基础期末复习指导第一部分 课程考核说明1考核目的通过本次考试,了解学生对本课程的基本内容、重点和难点的掌握程度,以及运用本课程的基本知识、基本方法和基本理论分析和解决实际问题的能力。同时还考察学生在平时的学习中是否注意了理解和记忆相结合,理解和运用相结合。2考核方式本课程期末考试为闭卷笔试,考试时间为 90 分钟。3适用范围、教材本复习指导适用于成人教育专科软件开发与应用专业、信息系统开发与维护、电子商务专业的课程程序设计基础 。本课程考试命题依据的教材采用吴鹤龄主编,中央广播电视大学出版社 2003 年 9 月出版的程序设计基础4命题依据本课程的命题依据是程序
2、设计基础课程教学大纲、教材、实施意见。5考试要求考试主要是考核学生对基本理论和基本问题的理解和应用能力。在能力层次上,从了解、掌握、重点掌握 3 个角度要求。主要考核学生对各种基本概念、主要思想和方法, C 程序设计基础,能综合运用多个知识点的内容,熟练编写简单程序,熟练进行简单的算法设计,考察学员综合解决问题的能力。6试题类型及结构考题类型及分数比重大致为:填 空 (40 ); 选 择 题 (20 ); 简答题(10);写出程序的运行结果(20);程序设计(10)。第二部分 期末复习指导第一篇 程序设计与程序设计语言概述第一章 导论一、重点掌握1冯诺伊曼型计算机和程序存储原理;第 2 页 共
3、 24 页2计算机的分代方法;3计算机软件发展的三个阶段。4计算机硬件系统的基本组成,计算机软件系统的分类和基本功能。计算机软硬件的关系。二、一般掌握1计算机技术的发展,图灵机和图灵机程序设计。2计算机四代区分标志和特点。第二章 程序设计概述一、重点掌握1程序设计的基本概念和问题求解过程;2高级语言的分类和主要特点,语言的基本组成。二、一般掌握1程序的编译执行和解释执行过程,编译执行和解释执行的区别;2程序设计语言的发展、分类。3计算机程序的基本构成要素有:常量、变量、表达式、语句和函数等。第三章 程序设计语言一、重点掌握1C 语言的基本数据类型、运算符及表达式;2C 语言的基本语句和流程二、
4、一般掌握常见的输入/输出函数使用方法;第四章 程序基本结构一、重点掌握1面向过程语言的程序设计方法和步骤;2基本数据类型和表达式的概念。3C 语言的流程控制语句 if、switch 、while、for、do-while 、break 和 continue。循环嵌套。4能够编写嵌套层次不超过三层的小程序,能够编写包含一个子函数的函数调用程序。 。二、一般掌握1一维数组的使用方法;第 3 页 共 24 页2C 函数的定义、说明、调用和返回,函数参数的基本规定。3二维数组的基本概念第二篇 程序设计基础第五章 数据结构基础概念一、重点掌握1数据结构的基本概念,包括:数据,数据元素,数据结点,数据类型
5、,逻辑结构,存储结构等,分清逻辑结构和存储结构的性质。2线性表的逻辑结构特性及其在计算机中的表示。线性表的顺序存储结构及其插入和删除操作的基本思想;栈和队列的特点。3树型结构的描述方法,二叉树定义、性质、三种遍历方法。4栈和队列的特点;5栈满、栈空、队满、队空的判别。二、一般掌握1排序和查找的基本方法。2图的基本特点。数据结构在程序设计过程中重要性,以对数据结构的有关概念的重要性有一个初步认识。第六章 算法和问题求解一、重点掌握1算法的基本概念。算法的概念和性质,算法与程序设计。数据结构、算法、程序三者之间关系。2算法的三种基本控制结构。3算法描述方法,伪码、流程图和 N-S 图的表示方法。二
6、、一般掌握1算法设计中的基本方法:穷举法、递归法、分治法、回溯法、贪婪法和动态规划的基本思想。2逐步求精方法。3算法设计要求与评价方法。评价算法性能的重要指标时间复杂度和空间复杂度。第七章 程序设计基本方法与原则一、重点掌握1软件工程的基本概念;第 4 页 共 24 页2软件危机产生的原因。软件工程的框架,软件生存周期。软件开发模型:瀑布模型、快速原型法模型和螺旋模型的过程和特点。二、一般掌握1结构化程序设计,开发模型的基本原理;2模块化程序设计。面向对象程序设计的基本原则。第三部分 综合练习题一、单项选择题1计算机发展的分代史中通常划分时代的标准是以计算机所采用的_。A. 逻辑元件 B. 程
7、序设计语言C. 操作系统发展 D. 硬件运算速度2当前广泛使用的微型计算机是_。A. 第一代 B. 第二代C. 第三代 D. 第四代3我们将组成计算机系统的所有电子和机械装置称为_。A. 硬件 B. 软件C. 系统 D. 机器4当代计算机的体系结构称为是_。A. 冯诺依曼机 B. 非冯诺依曼机C. 图灵机 D. PASCAL 机5CPU 主要包括_。A. 运算器、控制器和寄存器 B. 运算器、控制器和存储器C. 控制器 D. 运算器和存储器6硬盘是_。A. 输入设备 B. 输出设备C. 存储设备 D. 计算设备7系统软件的核心软件是_。A. 操作系统 B. 编译程序C. 汇编程序 D. 机器语
8、言8下面 4 句话中,最准确的表述是_。第 5 页 共 24 页A. 程序=算法+数据结构B. 程序是使用编程语言实现算法C. 程序的开发方法决定算法设计D. 算法是程序设计中最关键的因素9程序设计要遵循一定的开发方法及思想,以下有一个不是程序设计过程中应该遵循的开发方法,它是_。A. 结构化设计方法 B. 模块化程序设计方法C. 面向对象的程序设计方法 D. 数据结构优先原则10计算机能直接执行的语言是_。A. 机器语言 B. 汇编语言C. 高级语言 D. 目标语言11汇编程序的任务是_。A. 将汇编语言编写的程序转换为目标程序B. 将汇编语言编写的程序转换为可执行程序C. 将高级语言编写的
9、程序转换为汇编语言程序D. 将高级语言编写的程序转换为可执行程序12世界上第一个高级语言是_。A. BASIC 语言 B. C 语言C. FORTRAN 语言 D. PASCAL 语言13下面 4 种程序设计语言中,不是面向过程式语言的是_。A. FORTRAN B. ALGOLC. Ada D. C+14下面 4 种程序设计语言中,不是面向对象式语言的是_。A. JAVA B. Object PascalC. Delphi D. C15C 语言中,使用变量的要求是_。A. 要先定义后使用 B. 要先使用后定义C. 不需要定义,可以直接使用 D. 没有明确的要求16不是 C 语言的基本数据类型
10、是_。A. int B. doubleC. char D. bool第 6 页 共 24 页17数据结构主要研究下面 3 方面的内容_。A. 数据的逻辑结构、存储结构和运算B. 数据的线性结构、树型结构和图结构C. 数据的顺序存储、链式存储和散列存储D. 数据的线性结构和非线性结构,以及相关运算18数据的逻辑结构分为_。A. 线性结构和非线性结构 B. 顺序结构和非顺序结构C. 树型结构和图型结构 D. 链式结构和顺序结构19数据的存储结构分为_。A. 线性存储结构和非线性存储结构 B. 有序存储结构和非有序存储结构C. 树型存储结构和图型存储结构 D. 链式存储结构和顺序存储结构20线性表的
11、典型特点是各个结点之间是_。A. 没有直接关系 B. 一对一关系C. 一对多关系 D. 多对多关系21线性表表长的含义是_。A. 线性表所占用的内存字节数量 B. 线性表占用的内存和外存的字节数量C. 线性表中所包含的元素数量 D. 线性表在内存中元素的数量22树的典型特点是各个结点之间是_。A. 没有直接关系 B. 一对一关系C. 一对多关系 D. 多对多关系23在存储线性表时,_。A. 只能采用顺序存储结构 B. 只能采取链式存储结构C. 可以任意采用顺序或链式存储结构 D. 没有明确的结论24栈的最主要特点是_。A. 先进先出 B. 先进后出C. 两端进出 D. 一端进一端出25队列的最
12、主要特点是_。A. 先进先出 B. 先进后出C. 两端进出 D. 一端进一端出26下面 4 句结论中只有一句是错误的,它是_。A. 二叉树是树第 7 页 共 24 页B. 二叉树的左右子树的位置可以颠倒C. 可以使用二叉树的思想对数值进行排序D. 可以采用链表方式存储二叉树27采用链式存储的有序数据要进行查找,可以采用_。A. 顺序查找 B. 折半查找C. 顺序索引查找 D. 顺序或折半查找28螺旋模型中包括需求定义、风险分析、工程实现和评审四个阶段,在开发过程中_。A. 每个周期都要包括这四个阶段 B. 每个周期可以包括不同的阶段C. 在最后交付使用之前才进行评审 D. 开项目开始时才需要进
13、行风险分析29下面关于测试的结论中只有一个是正确的,它是_。A. 测试工作要贯穿于整个软件开发的全过程B. 测试工作是指在编程实现过程中进行的排错工作C. 测试工作是指在产品完成后用户的验收工作过程D. 测试工作量的弹性比较大,可以根据时间进度进行裁减30在软件需求完全确定的情况下,应该采用的软件开发模型是_。A. 瀑布模型 B. 渐进式开发模型C. 原型模型 D. 螺旋模型31“裸机“的概念是指_。A正在进行设计还没有组装好的计算机B已经组装好但还没有安装任何软件的计算机C.仅安装了操作系统的计算机系统D安装了文字处理软件但没有安装专用数据处理系统的计算机32CAD 的含义是_。A.计算机辅
14、助设计 B计算机辅助制造C.计算机辅助教学 D计算机辅助软件工程33若调用一个函数,且此函数没有 return 语句,则正确的说法是_。A.没有返回值B返回若干个系统默认值C.能返回一个用户所希望的函数值D返回一个不确定的值34以下函数 test 返回值类型为_。第 8 页 共 24 页int test(int x) printf(“%fn“,(float)x);return(x);Aint BfloatCvoid D不确定或错误35软件工程的出现主要是由于_。A程序设计方法学的影响 B其他工程科学的影响C. 软件危机的出现 D计算机的发展36现代理论计算机的发明人是_。A. 图灵 B. 冯诺
15、依曼C. Pascal D. 爱因斯坦37一个完整的计算机系统应该包括_。A系统软件和应用软件 B计算机及其外部设备C.硬件系统和软件系统 D系统硬件和系统软件38世界上第一台电子数字计算机研制成功的时间是_。A1936 B1946C1956 D197039CASE 的含义是_。A. 计算机辅助设计 B计算机辅助制造C. 计算机辅助教学 D计算机辅助软件工程40解释程序的功能是_。A将高级语言程序转换为目标程序B将汇编语言程序转换为目标程序C解释执行高级语言程序D解释执行汇编语言程序41在 C 语言中,为了求两个整数相除之后得到的余数,可以使用运算符_。A/ B%C* D+42用链表表示线性表
16、的优点是_。A便于随机存取第 9 页 共 24 页B便于插入和删除操作C花费的存储空间较顺序存储少D元素的物理顺序与逻辑顺序相同43下面 4 句结论中只有一句是错误的,它是_。A二叉树是树B二叉树的左右子树的位置可以颠倒C可以使用二叉树的思想对数值进行排序D可以采用链表方式存储二叉树44在软件工程中,软件测试的目的是_。A试验性运行软件 B发现软件错误C. 证明软件是正确的 D. 找出软件中全部错误45一台计算机里的各个部件是通过什么连接的_A电线 B电话线C光缆 D总线46以下哪项不是操作系统_。AWindows 2000 BUNIXCDOS DOffice 200047IO 代表_。AIn
17、 and out BInput and OutputCInside and Outside DInward and Outward48冯诺依曼给出的计算机体系结构中不包括_。A. 控制器 B存储器C. 中央处理器 D积分器49以下不属于整型变量定义的是_A. unsigned short x B. float xC. int x D. long x50C 语言中字符串常量“CHINA“在内存中的实际长度是_。A. 5 个字符 B. 6 个字符C. 7 个字符 D. 不确定51无符号整数输出的格式是_。A. %d B. %x第 10 页 共 24 页C. %u D. %f52以下赋值语句中,错误
18、的有_。A. int c=3; B. int a , b=4 , c;C. int a=b=c=4; D. int a=4 , b=453如果定义一个双精度变量 x ,正确的应该是_。A. float x B. int xC. double x D. int double x54对语句 CHAR c;定义了的变量 c 在程序中赋值,正确的表达式应该是_。A. c=a; B. c=“a“;C. c:=97; D. c=1;55以下变量的表示中,哪个是不正确的_。A. sum B. dayC. name D. $23456若 x 是一个 bool 型变量,则 x 执行语句 j=-i+;后。j 的值
19、是_。A1 B2C-1 D-259C 语言中,错误的 int 类型的常数是_。A32768 B0C037 D0xAF60C 语言对嵌套 if 语句的规定是:else 总是与_配对。A. 其之前最近的 if B第一个 ifC. 缩进位置相同的 if D其前面最近的且尚未配对的 if61一个 C 语言程序总是从_开始执行。A. 主过程 B主函数C. 子程序 D. 主程序第 11 页 共 24 页62C 语言中函数返回值的类型是由_决定的。A. return 语句中表达式类型 B调用该函数的主调函数类型C. 调用函数时临时 D定义函数时所指定的函数类型63一个队列的入队序列是 1,2,3,4,则队列
20、的输出序列是_。A4,3,2,1 B1,2,3,4C1,4,3,2 D3,2,4,164若进栈序列为 1,2,3,4,进栈过程中可以出栈,则_ 不可能是一个出栈序列。A1,4,3,2 B2,3,4,1C3,1,4,2 D3,4,2,165队列是限制插入只能在表的一端,而删除在表的另一端进行的线性表,其特点是_。A先进先出 B. 后进先出C. 先进后出 D. 进出不受限制66以下哪一个不是队列的基本运算 cA. 从队尾插入一个新元素 B. 从队列中删除第 1 个元素C. 判断一个队列是否为空 D. 读取队头元素的值67某二叉树的前序编历结点的访问顺序是 ABCDEFG,中序编历结点的访问顺序是
21、CBDAFGE,则其后序编历结点的访问顺序是_。A. CDBGFEA BCDGFEABCCDBAGFE DCDBFAGE68有关二叉树的下列说法正确的是_。A. 二叉树的度为 2B一棵二叉树的度可以小于 2C. 二叉树中任何一个结点的度都为 2D任何一棵二叉树中至少有一个结点的度为 269在二叉树结点的先序序列、中序序列和后序序列中,所有叶子结点的先后顺序_。A. 都不相同 B完全相同C. 先序和中序相同,而与后序不同 D. 中序和后序相同,而与先序不同70在一棵二叉树上第 5 层的结点数最多为_。A8 B16C15 D3271一个具有 n 个顶点的无向图中,要连通全部顶点至少需要_条边。第
22、12 页 共 24 页An Bn+lCn2 Dn-172对一个具有个 n 顶点的图,采用邻接矩阵表示,则该矩阵的大小为_。An B(n-1)* (n-1)C(n+1)* (n1) Dn*n二、填空题1英文缩写_ 是用来表示计算机辅助设计。2显示器是微机系统的_设备。3世界公认的第一台通用电子数字计算机是美国宾夕法尼亚大学莫尔学院的莫奇利和埃克特领导的科研小组建造的,取名为_。4第一代电子计算机(19461958 年)采用的基本逻辑元件是_。第二代电子计算机(19581964 年)采用的基本逻辑元件是_。第三代电子计算机(19641974 年)采用的基本逻辑元件是_。第四代电子计算机(1974
23、年以后)采用的基本逻辑元件是_。5世界上最早的高级程序设计语言是_。6计算机按照工作原理进行分类可以分为_和_。7当前计算机的最基本原理采用的是_。8计算机存储器一般分为两级,它们是_和_。9计算机系统中的软件包括_和_。10计算机硬件通常由 5 大功能部件组成,它们是:_,_,_,_和_。11计算机语言有 3 种类型,它们是_,_和_。12高级语言源程序的翻译有两种方式,一种是_,另一种是_。13微机中常用的高级语言主要有 3 类:它们是_,_和_。14程序设计过程的 3 个阶段是_,_和_。15最基本的程序控制有三种,它们是_,_和_。这三种执行控制的任意组合和重复、嵌套就可以描述任意复杂
24、的程序。16C 语言中分支语言是_语句和_语句。17C 语言中循环语言是_语句,_语句和_语句。18C 语言中自增运算符是_,求余数的运算符号是_。19C 语言中要改变循环语句的流程可以使用语句_,_和_。第 13 页 共 24 页20数据的_是指数据元素之间的逻辑关系,与数据的存储无关,它独立于计算机,如用户在电话号码表中的先后次序关系;数据的_是指数据元素在计算机存储设备中的存储方式。21数据的存储结构可以用_和_。22数据的逻辑结构可分为_和_两大类。23常见的线性结构有_、_和_等,其主要特征为各个结点之间“先后”有序。24常见的非线性结构包括_和_结构。25树型结构的主要特征是结点之
25、间存在着一种层次的关系,数据元素之间的关系是_的关系。在图型结构中,任何两个结点之间都可能存在着联系,数据元素之间存在着_的关系。26对于一个线性表来说,如果它的表长为 0,则我们称它为_表。27若循环队列的头指针为 front,尾指针为 rear,rear 指向队尾元素,front 指向当前队头元素的前一个位置。则队空的条件是_,队满的条件是_,入队操作时队尾指针应进行的操作是_,出队时队头指针应进行的操作是_。28在下图的树中:A 结点度为_,B 结点度为_,E 结点的度为_,根结点为_,F 结点的兄弟结点是_,F 结点的双亲结点是_,树的深度为_。29算法描述的常见方法是_,_和_。30
26、评价算法效率的主要指标是_和_。31当前流行的程序设计方法是_和_。32软件开发模型大体上可分为两种类型,第一种是_为前提的瀑布模型。第二种是在软件开发初始阶段_时采用的渐进式开发模型,如原型模型、螺旋模型等。33世界上最早的高级程序设计语言是_。34计算机按照工作原理进行分类可以分为_和_。35当前计算机的最基本原理采用的是_。第 14 页 共 24 页36计算机存储器一般分为两级,它们是_和_。37高级语言源程序的翻译有两种方式,一种是_,另一种是_。38数据的存储结构可以用_和_。39树型结构的主要特征是结点之间存在着一种层次的关系,数据元素之间的关系是_的关系。在图型结构中,任何两个结
27、点之间都可能存在着联系,数据元素之间存在着_的关系。40评价算法效率的主要指标是_和_。41软件开发模型大体上可分为两种类型,第一种是_为前提的瀑布模型。第二种是在软件开发初始阶段_ 时采用的渐进式开发模型,如原型模型、螺旋模型等。42C 语言规定,以字符_来作为字符串的结束标志,43C 语言中实型变量可分为_和_两类。44如果变量 x 的初值是,则语句 printf (“%d“ , +x);执行后输出的值是_;语句 printf ( “%d“,x+);执行后输出的值是_。45逻辑表达式 a|b+c i=8;j=10;m=i+;n=+j;printf (“%d,%d,%d,%d“,i,j,m,
28、n);运行结果是什么?2写出下列程序运行的结果:#include “math.h “第 17 页 共 24 页main()int m,i,k;scanf (“%d“,k=sqrt(m);for ( i=2;i=k+1) printf(“%d is a prime number n“,m);else if (i=k+1) printf(“%d is not a prime numbern“,m);该程序的功能是什么? 如果输入数据:11 其运行的结果是什么?3写出下列程序运行的结果:main()int n ;for (n=10;n=aprintf (“%dn“, +a + +b); /* */p
29、rintf (“%dn“, b%a); /* */程序运行结果是:10阅读下面的程序并回答问题。#include main( ) int a,b,m,n;scanf ( ”%d%d“, m = n = 1;if (a0) m = m+n;if (amain ( ) char i, j;for ( i=0, j=9; imain ( ) int a, b, c;第 21 页 共 24 页a=1; b=2; c=3;if (ab)if (ac)printf(“%d“, a);else printf (“%d“, b);printf (“%dn“, c);运行结果是:13阅读程序写出程序的输出结果。
30、#include main( ) int i=0,j=0,k=0,m;for ( m=0;mmain( ) int a=1,b=4,c=2; a=(a+b)/c;printf(“%d n”,-a);运行结果:15写出程序的输出结果第 22 页 共 24 页main ( ) char c1=67; /*A的 ASCII 码值为 65 */if (A main() int x = 1,a = 0,b = 0; switch(x) case 0; b + +;case 1; a + +;case 2; a + +;b + +;printf (“a = % d ,b = % d n”,a,b);运行结果: 19写出程序的运行结果。#include main( ) int a=2, b=-1, c=2;if ( amain ( ) char ch;ch = getchar ( );switch ( ch )第 24 页 共 24 页 case 65:printf (”%c”, A);case 66:printf (”%c”, B);default:printf (”%sn”, ”other”);如程序可以正常运行,当从键盘输入字母 A 时,输出结果为:_。运行结果是: