程序设计基础.docx
- 文档编号:28572191
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:17
- 大小:56.40KB
程序设计基础.docx
《程序设计基础.docx》由会员分享,可在线阅读,更多相关《程序设计基础.docx(17页珍藏版)》请在冰豆网上搜索。
程序设计基础
第七章程序设计基础
一、选择题(在每小题的4个备选答案中,有且只有一个正确答案。
选出正确答案填在括号中)
1.数据结构中,与所使用的计算机无关的是数据的()
A.存储结构B.物理结构
C.逻辑结构D.物理结构和存储结构
2.下列数据结构中,属于非线性结构的是()
A.循环队列B.带链队列
C.带链栈D.二叉树
3.下列关于线性表的叙述,不正确的是()
A.线性表可以是空表
B.线性表是一种线性结构
C.线性表的所有结点有且仅有一个前驱结点和一个后继结点
D.线性表是由n(n≥0)个元素组成的一个有限序列
4.下列关于线性链表的叙述,正确的是()
A.进行插入与删除时,不需要移动表中的元素
B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续
C.各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致
D.以上三种说法都不对
5.下列关于栈的叙述,正确的是()
A.栈按“先进先出”组织数据B.栈按“先进后出”组织数据
C.只能在栈底插入数据D.不能删除数据
6.1、2、3、4按照顺序全部入栈,出栈的序列是()
A.l、3、2、4B.2、3、4、1
C.4、3、2、lD.3、4、2、1
7.下列关于栈的叙述,正确的是()
A.栈顶元素最先能被删除B.栈顶元素最后才能被删除
C.栈顶元素永远不能被删除D.上述三种说法都不对
8.下列叙述正确的是()
A。
有一个以上根结点的数据结构不一定是非线性结构
B.只有一个根结点的数据结构不一定是线性结构
C.循环链表是非线性结构
D.双向链表是非线性结构
9.下列叙述正确的是()
A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的
B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构
C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构
D.上述三种说法都不对
10.下列叙述正确的是()
A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化
B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化
C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化
D.上述三种说法都不对
11.下列数据结构中,能够按照“先进后出”原则存取数据的是()
A.循环队列B.栈
C.队列D.二叉树
12.下列队列的描述中,正确的是()
A.队列属于非线性结构B.队列在队尾删除数据
C.队列按“先进后出”进行数据操作D.队列按“先进先出”进行数据操作
13.具有3个结点的二叉树有()种形态。
A.2B.4
C.5D.7
14.若某二叉树的前序遍历序列是abdgcefh,中序遍历序列是dgbaechf,则其后序遍历序列是()
AbdgcefhaB.gdbecfha
C.bdgaechfD.gdbehfca
15.下列关于二叉树的描述,正确的是()
A.任何一棵二叉树必须有一个度为2的结点
17.下列关于二叉树的叙述,正确的是()
A.叶子结点总是比度为2的结点少一个
B.叶子结点总是比度为2的结点多一个
C.叶子结点数是度为2的结点数的二倍
D.度为2的结点数是度为1的结点数的二倍
18.某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点为第1层)()
A.3B.4
C.6D.7
19.下列关于算法的描述,正确的是()
A.算法是解决问题的步骤B.解题的步骤可以是无穷的
C.算法就是解题的算式D.算法是可以被表述但无法实现
20.下列叙述正确的是()
A.算法就是程序B.设计算法时只需要考虑数据结构的设计
C.设计算法时只需要考虑结果的可靠性D.以上说法都不对
21.算法的有穷性是指()
A.算法程序的执行步骤是有限的B.算法程序所处理的数据量是有限的
C.算法程序的长度是有限的D.算法只能被有限的用户使用
22.下列不属于软件工程的3个要素的是()
A.工程B.过程
C.方法D.环境
23.下列叙述正确的是()
A.软件交付使用后还需要进行维护
B.软件一旦交付使用就不需要再进行维护
C.软件交付使用后其生命周期就结束
D.软件维护是指修复程序中被破坏的指令
24.程序调试的目的是()
A.设计测试用例B.验证程序的正确性
C.发现程序中的错误D.诊断和改正程序中的错误
25.软件测试的目的是()
A.评估软件可靠性B.发现并改正程序中的错误
C.改正程序中的错误D.检查是否满足规定的需求
26.下列描述中,不属于软件危机表现的是()
A.软件过程不规范B.软件开发生产率低
C.软件质量难以控制D.软件成本不断提高
27.软件生命周期是指()
A.软件从提出、实现、使用、维护到停止使用的过程
B.软件从需求分析、设计、实现到测试完成的过程
C.软件的开发过程
D.软件的运行维护过程
28.面向对象方法中,继承是指()
A.一组对象所具有的相似性质B.一个对象具有另一个对象的性质
C.各对象之间的共同性质D.类之间共享属性和操作的机制
29.下列不是面向对象思想主要特征的是()
A.多态B.垃圾回收
C.封装D.继承
30.在设计程序时,应采纳的原则之一是()
A.不限制goto语句的使用B.减少或取消注释行
C.程序越短越好D.程序结构有助于读者理解
31.下列不符合良好程序设计风格的是()
A.源程序要文档化B.数据说明的次序要规范化
C.避免滥用goto语句D.模块设计要保证高耦合、低内聚
32.下列不属于良好程序设计风格要求的是()
A.程序的效率第一,清晰第二B.程序的可读性好
C.程序中要有必要的注释D.输入数据前要有提示信息
33.下列不属于结构化程序设计原则的是()
A.模块化B.自顶向下
C.可封装D.逐步求精
34.下列属于面向对象思想主要特征的是()
A.继承B.自顶向下
C.模块化D.逐步求精
35.在软件开发中,需求分析阶段产生的主要文档是()
A.软件集成测试计划B.软件详细设计说明书
C.用户手册D.软件需求规格说明书
36.结构化程序设计所要求的基本结构不包括()
A.顺序结构B.goto跳转
C.选择结构D.循环结构
37.下列描述错误的是()
A.窗体的标题通过其Caption属性设置
B.窗体的名称(Name属性)可以在运行期间修改
C.窗体的背景图像通过其Picture属性设置
D.窗体最小化时的图标通过其Icon属性设置
38.不属于VB程序编程机制的是()
A.可视化B.面向对象
C.事件驱动D.过程结构化
39.设有如下变量声明语句,则下面叙述中正确的是()
Dima,bAsBoolean
A.a和b都是布尔型变量B.a是变体型变量,b是布尔型变量
C.a是整型变量,b是布尔型变量D.a和b都是变体型变量
40.在VisualBasic集成环境中,可以列出工程中所有模块名称的窗口是()
A.工程资源管理窗口B.窗体设计窗口
C.属性窗口D.代码窗口
41.为了使标签具有“透明”的显示效果,需要设置的属性是()
A.CaptionB.Alignment
C.BaCkStyleD.AutoSize
42.在VisualBasic中,表达式3*2\5Mod3的值是()
A.1B.O
C.3D.出现错误提示
43.下列VB变量名中,不合法的是()
A.a5bB._xyz
C.a_bD.andif
44.下列叙述错误的是()
A.变量名的第一个字符必须是字母
B.变量名的长度不超过255个字符
C.变量名可以包含小数点或者内嵌的类型声明字符
D.变量名不能使用VB的关键字
45.如果一个变量未经定义就直接使用,则该变量的类型为()
A.IntegerB.Byte
C.BooleanD.Variant
46.为组合框Combol增加一个列表项“信息技术”,下列语句正确的是()
A.Combol.Text=“信息技术”B.Combol.Listlndex=“信息技术”
C.Combol.Addltem=“信息技术”D.Combol.ListCount=“信息技术”
47.要使一个文本框显示多行文本,应设置的属性是()
A.FnabledB.MultiLine
C.MaxLengthD.Width
48.设计窗体时双击窗体的任何位置,将打开()
A.窗口设计器B.代码窗口
C.工具箱窗口D.属性窗口
49.Sub过程与Function过程最根本的区别是()
A.Sub过程不能返回值,而Function过程能返回值
B.Function过程可以有形参数,Sub过程不可以有形参数
C.Sub过程可以使用Call语句直接使用过程名调用,而Function过程不可以
D.两种过程参数的传递方式不同
50.下列可清除列表框中所有的列表项的方法是()
A.RemoveB.Clear
C.RemoveItemD.Move
51.表达式Right(“Beijing”,4)的值是()
A.BeijB.ijin
C.eijiD.jing
52.如果在程序中要将a定义为静态变量,且为整型,则应使用的语句是()
A.RedimaAsIntegerB.PublicaAsInteger
C.StaticaAsIntegerD.DimaAsInteger
55.执行语句DimX,YAsInteger后()
A.X和Y均被定义为整型变量
B.X和Y均被定义为变体类型变量
C.X被定义为整型变量,Y被定义为变体类型变量
D.X被定义为变体类型变量,Y被定义为整型变量
56.当把框架的()属性设置为false时,其标题会变灰,框架中所有的对象均被屏蔽。
A.NameB.Enabled
C.CaptionD.Visble
57.为了使列表框中的项目呈多列显示,需要设置的属性为()
A.ColumnsB.Style
C.ListD.MultiSelect
58.确定窗体控件启动位置的属性是()
A.Width和HeightB.Width或Heihth
C.StartUpPositonD.Top和List
二、填空题(将正确的答案填写在下划线上方)
1.数据的逻辑结构被分为____________和_________、___________、__________四种。
2.一种抽象数据类型包括________和_________两个部分。
3.数据的物理结构主要包括________和________两种情况。
4.数据的逻辑结构是从逻辑关系上描述数据,它与数据的________无关,是独立于计算机的。
5.数据结构分为线性结构和非线性结构,带链的栈属于________。
6.________是指数据的组织形式或数据之间的关系。
当结点之间存在M对N(M:
N)的联系时,称这种结构为________。
7.在长度为n的顺序存储的线性表中插入一个元素,最坏情况下需要移动表中____个元素。
8.栈中允许进行插入和删除的一端叫做________。
9.在树形结构中,没有前驱结点的是________。
10.一棵二叉树的中序遍历结果是DBEAFC,前序遍历结果是ABDECF,则后序遍历结果为____。
11.常见的软件开发方法有结构化方法和面向对象方法。
对某应用系统经过需求分析建立数据流图(DFD),则应采用____方法。
12.当待排序的记录数较大,排序码较随机且对稳定性不作要求时,宜采用____排序;当待排序的记录数较大,存储空间允许且要求排序稳定时,宜采用____排序。
13.通常从四个方面评价算法的质量:
________、________、________和可理解性。
14.假定一棵树的广义表表示为A(C,D(E,F,G),H(I,J》,则树中所含的结点数为____个,树的深度为__________,树的度为_________。
15.栈顶的位置是随着________操作而变化的。
16.设一棵二叉树的前序遍历序列和中序遍历序列均为ABC,则该二叉树的后序遍历序列为____。
17.中序遍历二叉排序树所得到的序列是____序列。
18.一棵二叉树有10个度为1的结点,7个度为2的结点,则该二叉树共有____个结点。
19.一个队列的初始状态为空,现将元素A、B、C、D、E、F、5、4、3、2、1依次入队,然后再依次退队,则元素退队的顺序为____。
20.算法的基本特征主要包括四个方面,分别是可行性、确定性、____、输入和输出。
21.有序线性表能进行二分查找的前提是该线性表必须是____存储的。
22.一个栈的初始状态为空。
首先将元素5、4、3、2、l依次人栈,然后出栈一次,再将元素A、B、C、D依次入栈,将所有元素全部出栈,则所有元素出栈(包括中间出栈的元素)的顺序为____。
23.对软件设计的最小单位(模块或程序单元)进行的测试通常称为____测试。
24.VB程序设计有________、________和________三种控制结构。
25.软件是________、数据和文档的集合。
26.软件开发环境是全面支持软件开发过程的________集合。
27.程序测试分为静态测试和动态测试。
其中________是指不执行程序,只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。
28.为了使复选框禁用(即呈现灰色),应把它的Value属性设置为________。
29.对变量名来说必须是以____开头,不能使用VisualBasic的保留字,不能超过____个
字符。
30.为了使标签能自动调整大小以显示标题(Caption属性)的全部文本内容,应把标签的________属性设置为True。
31.控件数组的名称由Name属性指定,数组中的每个元素由________属性指定。
32.在VB中,用户定义常量使用________语句,声明变量使用____语句。
三、判断题(判断正误,正确的在括号内写T,错误的写F)
1.数据的逻辑结构与数据元素本身的内容和形式无关。
()
2.算法是对解题方法和步骤的描述。
()
3.程序和算法原则上没有区别,在讨论数据结构时可以通用。
()
4.从逻辑关系上讲,数据结构主要分为线性结构和非线性结构两类。
()
5.线性表中的元素可以是各种各样的,但同一线性表中的数据元素具有相同的特性,因此属于同一数据对象。
()
6.在线性表的顺序存储结构中,逻辑上相邻的两个元素在物理位置上并不一定相邻。
()
7.在单链表中,任何两个元素的存储位置之间都有固定的联系,所以可以从头结点开始查找任何一个元素。
()
8.在线性表的顺序结构中,插入元素时,移动元素的个数与该元素的位置有关。
()
9.顺序存储方式的优点是存储密度大,插入、删除效率高。
()
10.顺序存储的线性表可以实现随机存取。
()
11.栈是运算受限制的线性表。
()
12.在栈空的情况下,不能作出栈操作,否则产生溢出。
()
13.空栈就是所有元素都为0的栈。
()
14.一个栈的输入序列为A、B、C、D,可以得到输出序列C、A、B、D。
()
15.队列是限制在两端进行操作的线性表。
()
16.判断顺序队列为空的标准是头指针和尾指针均指向同一个结点。
()
17.队列是一种“后进先出”的线性表。
()
18.树形结构中每个结点最多只有一个直接前驱。
()
19.已知一棵二叉树的前序遍历和后序遍历序列,可以构造出这棵二叉树。
()
20.若有一个结点是某二叉树的前序遍历序列中的第一个结点,则它也一定是这棵二叉树的中序遍历序列中的第一个结点。
()
21.若一个结点是某二叉树的前序遍历序列中的最后一个结点,则它也一定是这棵二叉树的中序遍历序列中的最后一个结点。
()
22.中序遍历序列与后序遍历序列完全相同的二叉树有:
空二叉树或任一结点均无右子树的非空二叉树。
()
23.前序遍历序列与后序遍历序列完全相同的二叉树只有空二叉树。
()
24.完全二叉树一定是满二叉树。
()
25.二叉树的前序遍历中,任意一个结点均处于其子树结点的前面。
()
26.在二叉排序树中,根结点的值都小于孩子结点的值。
()
27.二分查找法要求待查表的关键字的值必须有序。
()
28.二叉排序树是一种特殊的线性表。
29.大多数排序算法都有比较关键字大小和改变指向记录的指针或移动记录本身两种基本操作。
30.对快速排序来说,初始序列为正序或反序都是最坏的情况。
31.算法有五大特征,其中包括输入和输出这两种,意思就是说一个算法必须要有输入,也必须要有输出。
32.程序通过编译可以发现程序的语法错误。
()
33.运行程序时,程序中的所有语句都要运行一次或多次。
()
34.在VB中,编写程序代码在代码编辑窗口中进行。
代码由语句、常数和声明部分组成。
()
35.VB的所有控件在程序运行以后都是可见的。
()
36.条件语句在执行过程中将由电脑随机选择执行哪部分语句。
()
37.汇编语言实际是一种符号化的机器语言,它采用英文助记符代替机器指令,比机器语言容易识别和记忆,从而提高了程序的可读性。
()
38.在一个循环语句的循环体中含有另一个循环语句,肯定出现死循环。
()
39.VB中的算术运算符*(乘)、/(除)、\(整除)、Mod(取余数)的运算优先级相同。
()
40.用高级语言编写的程序必须经过翻译器将其翻译成机器语言,才能在计算机上执行。
()
41.所有的程序都是从程序的第一条语句开始按顺序执行的。
()
42.窗体是VB程序设计的基础,各种控件对象必须建立在窗体上,一个窗体对应一个窗体模块。
()
43.在面向对象程序设计中,一个程序对象的属性用变量来表示,而对象的行为用对象中的代码段来实现。
()
44.程序循环结构中的循环体语句至少会执行一次。
()
45.在VB中,开发的每个应用程序都被称为工程,工程是组成一个应用程序的文件集合。
()
46.VB中的事件只能由用户引发。
()
四、简答题
1.从关系或结构来划分,数据结构可以分为哪几类?
2.什么是线性表?
3.试对顺序存储和链式存储进行比较分析。
4.什么是栈?
栈和队列的区别是什么?
5.什么是算法?
算法有什么特征?
6.高级语言相对于汇编语言和机器语言是目前应用最为广泛的语言。
高级语言编写的程序能不能直接被计算机执行?
为什么?
7.Sub过程和Function过程有什么区别?
8.VB程序设计中,条件分支结构通常有哪几种形式?
五、计算题
1.一棵二叉树如右图所示,写出二叉树的前序遍历、中序遍历和后序遍历序列。
2.一棵二叉树的前序遍历序列是ABECDFGHU,中序遍历序列是EBDCAFHIGJ,写出这棵二叉树的后序遍历序列。
3.一棵二叉树的中序遍历序列为DBEAC,前序遍历序列为ABDEC.写出二叉树的的后序遍历序列。
4.有向图如右图所示,写出有向图每个顶点的出度和入度。
5.一组有序序列为12、25、29、46、53、68、85,画出该序列的折半查找排序树。
六、程序题
1.编写程序实现下列功能:
从键盘上输入两个整数,并互换位置输出。
2.从键盘上输入一个字符,如果是大写字母,转换成小写字母输出,如果是其他字符则不发生变化。
3.编写程序判定2012年是平年还是闰年。
4.编程实现:
输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出a、b之和。
5.编程实现:
从键盘上输入三个整数x、y、z,然后把这三个数由小到大输出。
6.一个小球从100米高度自由落下,每次落地后反弹回原高度的一半再落下,求小球在第10次落地时,共经过多少米?
第10次反弹多高?
采用任意语言编程实现。
7.编写程序输出所有的“水仙花数”,“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。
如,153是一个“水仙花数”,153=13+53+33。
8.已知abc+cba=1333,其中a、b、c均为一位数,编程求出满足条件的a、b、c所有组合。
9.有五个人坐在一起,第一个人比第二个人大2岁,第二个人比第三个人大2岁,第三个人比第四个人大2岁,第四个人比第五个人大2岁,第一个人16岁,编程求出第五个人的年龄。
10.编程求出S的值,S=1+1/(1+2)+1/(1+2+3)+…+1/(1+2+3+4+……+n)。
n通过键盘输入。
11.编程求出S的值,S=1+1/1!
+1/2!
+1/3!
+1/4!
+…+1/20!
。
12.编写程序实现下列功能:
从键盘输入一个长度为7的字符串,除首尾字符外,将其余5个字符按ASCII码降序排列并输出。
13.编程求出1000以内所有能被7或9整除的所有自然数的和。
14.编程实现下列功能:
从键盘上输入三个自然数,判断能不能组成一个三角形。
如果可以,输出三角形的周长。
15.编程求出100-200之间的所有素数。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 基础