计算机科学导论第4章 程序设计基础(答案)

合集下载

程序设计基础练习题及答案

程序设计基础练习题及答案

一、单选题1、16位无符号整数能表达的最大值是A.32767B.32768C.65536D.65535正确答案:D2、下面谁被称为计算机科学之父A.阿兰图灵B.冯诺依曼C.迪杰斯特拉D.高纳德正确答案:A3、下列不属于输入输出设备的是:A键盘B.手写板C.内存D.摄像图正确答案:C4、下面关于高级语言的说法正确的是:A.高级语言的出现,使得程序员的门槛大大降低B.高级语言不包括C语言,因为C语言更适用于系统方面的编程C.与汇编语言相比,高级语言开发的程序执行速度更快D.高级语言完全不依赖于硬件正确答案:A5、-O的8位补码是A.其他B.11111111C.00000000D.10000000正确答案:C6、下面的用嵌套循环求阶乘的程序中,总计需要的循环次数是()A.∩*i次B.n(n+1)∕2次C.∩*∩次D.n次正确答案:B7、循环不变式的建立是在循环体中选取一个点,在该点建立一个逻辑表达式,使每次循环执行到该点时A这个逻辑表达式在循环体中不总是为真B.这个逻辑表达式在循环体中总是为假C这个逻辑表达式在循环体中总是为真D.这个逻辑表达式在循环体中不总是为假正确答案:C8、找到合适的循环不变式能验证A.程序的全部正确性。

B.程序的全部逻辑错误。

C.程序的全部错误。

D.程序的部分正确性。

正确答案:D9、对于直到型循环与当型循环而言,当开始第一次循环且循环条件为假时,下面叙述正确的是()A只有当型循环的循环体会被执行1次,直到型循环不会执行。

B.两者的循环体都会被执行1次C两者的循环体都不会被执行D.只有直到型循环的循环体会被执行1次,当型循环不会执行。

正确答案:D10、下列说法错误的是()oA.如果一个循环中又包含了另一个循环,则称为嵌套循环。

B.嵌套循环的内层和外层循环的循环控制变量不能同名。

C.执行嵌套循环时是先执行内存循环,后执行外层循环。

D.嵌套循环的循环次数等于外层循环的循环次数与内层循环的循环次数之积。

西安交通大学智慧树知到“计算机科学与技术”《程序设计基础》网课测试题答案4

西安交通大学智慧树知到“计算机科学与技术”《程序设计基础》网课测试题答案4

西安交通大学智慧树知到“计算机科学与技术”《程序设计基础》网课测试题答案(图片大小可自由调整)第1卷一.综合考核(共15题)1.对do-while语句描述正确的是()。

A.do-while语句构成的循环可以使用break语句退出循环B.do-while语句构成的循环必须使用break语句退出循环C.do-while语句构成的循环,当while中的表达式值为非零时结束循环D.do-while语句构成的循环,当while中的表达式值为零时结束循环2.函数的形式参数隐含的存储类型说明是()。

A.externB.staticC.registerD.auto3.被main函数调用的函数只能是库函数。

()A.错误B.正确4.以下不能定义为用户标识符的是()。

A.scanfB.VoidC._3com_D.int5.continue语句可用于switch语句,也可用于for、while和do循环语句中。

()A.错误B.正确6.以下关于typedef的叙述正确的是()。

A.用typedef可以定义各种类型名,但不能用来定义变量B.用typedef可以增加新类型C.用typedef只是将已存在的类型用一个新的名字来代表D.使用typedef便于程序的通用7.设:int a=4,b=5; 则表达式8>4-!0||2&&5>4的结果为()。

A.0B.1C.-1D.无法计算8.以下可以定义为用户标识符的有()。

A.scanfB.shortC._3com_D.int9.下列为c语言的关键字是()。

A.ifB.structC.unionD.Int10.以下程序的输出结果是()。

int f(){static int i=0; int s=1; s+=i; i++; return s;} main() {int i,a=0; for(i=0; iA.20B.24C.25D.1511.以下选项中非法的表达式是()。

计算机基础与程序设计第四章习题答案

计算机基础与程序设计第四章习题答案

第四章课后习题一、选择题1、有定义语句:int [,]a=new int[5,6];,则下列正确的数组元素的引用是()。

A.a(3,4)B.a(3)(4)C.a[3][4]D.a[3,4]2、下列的数组定义语句,不正确的是()。

A.int a[]=new int [5]{1,2,3,4,5};B. int[,]a= new int a[3][4];C. int [][]a=new int [3][];D.int[]a={1,2,3,4};3、数组定义与赋初值语句如下:int [ ]a={1,2,3,4,5}; 则a[2]的值为()。

A.2B.3C.4D.14、下列数组定义语句中,int []a= new int[3]; 定义的数组a占的字节数为()。

A.16B.12C.6D.85、下列数组定义语句中,double [,]d=new int[4,5];则定义的数组d占的字节数为()。

A.160B.80C.240D.1206、下列程序段执行后,int []a={1,2,3,4,5}; a[4]=a[a[2]]; 则a[4]的值为()。

A.2B.3C.4D.57.要定义一个3行4列的单精度型二维数组f,使用的定义语句为()。

A.float f [,]=new float [3,4];B.float [,]f=new float[3][4];C.float [,];D.float [,]f=new float [3,4];8、语句如下:int[]c1=new int[5];int[] c2={1,2,3,4,5,6,7,8,9,0};数组c1和c2中的元素的个数分别为()A.6和10B. 6和9C. 5和10D. 5和99、定义一个数组,正确的代码为()A.int arraya[]=new int[5];B.int[] arraya=new int[5];C.int arraya=new int;D.int[5] arraya=new int[5];10、要定义一个为int型的交错数组a,数组有两行,第一行一个元素,第二行两个元素并赋初值3和4,使用的语句是()A.int [ ][ ]a=new int[2][ ];a[1]=new int[1];a[2]=new int[2]{3,4};B.int [ ][ ]a=new int[2][ ];a[0]=new int[1];a[1]=new int[2]{3,4};C.int [][]a=new int[ ][ ];a[0]=new int[1];a[1]=new int[2]{3,4};D.int [ ][ ]a=new int[ ][2];a[0]=new int[1];a[1]=new int[2]{3,4};11、下列代码的运行结果()int[] age1 = new int[] { 10, 20 };int[] age2 = age1;age2[1] = 30;Console.WriteLine(age1[1]);Console.ReadKey();A.0B.10C.20D.3012、定义并初始化一个用于存放我们国家的四个直辖市的数组cityName,四个直辖市为:北京,上海,天津,重庆. 正确的是( ABC )多选A.String[] cityName = new String[4] { “北京”, “上海”, “天津”, “重庆" };B.String[] cityName = new String[] { “北京”, “上海”, “天津”, “重庆" };C.String[] cityName={“北京”,”上海“,”天津“,”重庆"};D.String cityName = new String[4] { “北京”, “上海”, “天津”, “重庆" };三、编写程序题1、编写一个Windows应用程序,随机产生10个两位整数存放在数组中,找出最大值、最小值、高于平均值的数。

计算机导论试卷第4章课后习题与参考答案

计算机导论试卷第4章课后习题与参考答案

计算机导论试卷第4章课后习题与参考答案第四章课后习题与参考答案一、选择题1.能将高级语言编写的源程序转换为目标程序的软件是()A、汇编程序B、编辑程序C、解释程序D、编译程序2.类和对象之间的关系是()。

A、定义和被定义的关系B、调用和被调用的关系C、类即是对象数组D、抽象和具体的关系3.下列是面向对象系统的特性的是()。

A、封装性B、二义性C、可重用性D、完整性4.计算机能直接执行的程序是()。

A、机器语言程序B、汇编语言程序C、高级语言程序D、自然语言程序5.下列高级语言中,能用于面向对象程序设计的语言是()。

A、C语言B、C++语言C、FORTRAN语言D、Pascal语言6.软件生存周期中的需求分析阶段的任务是确定()。

A、软件开发方法B、软件开发工具C、软件开发费用D、软件开发系统的功能7.程序设计语言所经历的主要阶段依次为()。

A、机器语言、高级语言和汇编语言B、高级语言、机器语言和汇编语言C、汇编语言、机器语言和高级语言D、机器语言、汇编语言和高级语言8.关于计算机软件叙述中正确的是()。

A、用户所编写的程序即为软件B、源程序称为软件C、软件包括程序和文档D、数据及文档称为软件9.下列叙述中,错误的是()。

A、计算机软件是指计算机中的程序和文档B、软件就是程序C、系统软件是应用程序与硬件间的接口D、为课程管理开发的软件属于应用软件10.一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是()。

A、2 3 1B、3 2 1C、3 1 2D、1 2 311.在数据结构中,从逻辑上可以把数据结构分成()。

A、动态结构和静态结构则B、线性结构和非线性结构C、集合结构和非集合结构D、树状结构和图状结构12.在软件生存周期中,能准确确定软件系统必须做什么和必须具备哪些功能的阶段是()。

A、概要设计B、详细设计C、可行性分析D、需求分析13.软件测试的目的是()。

A、证明软件系统中存在错误B、找出软件系统中存在的所有错误C、尽可能多地发现系统中的错误和缺陷D、证明软件的正确性14.下面叙述正确的是()。

第4章 程序设计基础

第4章  程序设计基础

计算机科学导论
2
4.1 程序设计
程序设计是指用计算机语言对所要解决的问题中的数 据以及处理问题的方法和步骤所做的完整而准确的描述的 过程。程序设计步骤如下: 1. 确定要解决的问题。 2. 分析问题。 高质量程序设计目标是结构 化程度高、可读性好、效率 3. 选择计算方法。 高、可靠性高、便于维护。 4. 确定数据结构和算法。 5. 绘制流程图。 6. 编写程序。 7. 调试并测试程序。 8. 整理资料,交付使用。
2019/3/10
计算机科学导论
34
4.3.1 基本概念
(2) 数据的物理结构
数据的物理结构是指逻辑结构在计算机存储 器中的表示。 数据的物理结构主要有四种,分别是顺序结 构、链表结构、索引结构及散列结构。
2019/3/10
计算机科学导论
35
4.3.1 基本概念
①顺序结构
把所有元素存放在一片连续的存储单元中,逻辑 上相邻的元素存储在物理位置相邻的存储单元中,由 此得到的存储表示称为顺序存储结构。 程序设计语言中的数组常使用顺序存储结构来实
2019/3ቤተ መጻሕፍቲ ባይዱ10
计算机科学导论
26
4.2.5 程序设计举例
例4.1 输入三角形的3个边长a,b和c ,求三角形面积。
area s(s a)(s b)(s c)
s ( a b c) / 2
则计算该三角形的面积的C语言源程序如下:
#include<stdio.h> #include<math.h> void main() { float a,b,c,s,area; //变量定义 scanf(“%f,%f,%f”,&a,&b,&c); //输入语句 s=1.0/2*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c)); printf(“a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f\n”,a,b,c,s); printf(“area=%7.2f\n”,area); //输出语句 27 } 2019/3/10 计算机科学导论

国家开放大学《程序设计基础》章节自测参考答案

国家开放大学《程序设计基础》章节自测参考答案

国家开放大学《程序设计基础》章节自测参考答案第一章导论一、选择题(每题12分,共60分)1.当代计算机的最主要的体系结构称为是______。

A.非冯·诺依曼机B.图灵机C.PASCAL机D.冯·诺依曼机2.计算机软件是指______ 。

A.计算机程序B.计算机程序及其有关文挡C.源程序D.源程序和目标程序3.计算机能直接执行的语言是______。

A.目标语言B.机器语言C.汇编语言D.高级语言4.显示器是______。

A.计算设备B.存储设备C.输入设备D.输出设备5.系统软件的核心软件是______。

A.汇编程序B.操作系统C.编译程序D.机器语言二、判断题(每题10分,共40分)6.CPU主要包括运算器和寄存器两大部分。

(×)7.图灵机由一条双向都可无限延长的被分为一个个小方格的磁带、一个有限状态控制器和一个读写磁头组成。

(√)8.冯·诺依曼在当年发表的EDVAC计算机方案确立了计算机系统的5大基本部件:存储器、控制器、运算器、输入设备和输出设备,同时也规定了5大部件的基本功能。

(√)9.计算机的硬件与软件虽然各有分工,但它们之间的功能界面是浮动的。

随着技术的发展,一些功能既可由硬件实现,也可由软件来完成。

(√)第二章解题要有程序一、选择题(每题6分,共48分)1.JAVA语言的类别是______。

A.面向硬件的程序设计语言B.面向问题的程序设计语言C.面向过程的程序设计语言D.面向对象的程序设计语言2.汇编程序的任务是______。

A.将汇编语言编写的程序转换为目标程序B.将汇编语言编写的程序转换为可执行程序C.将高级语言编写的程序转换为可执行程序D.将高级语言编写的程序转换为汇编语言程序3.C语言是______。

A.高级语言B.机器语言C.目标语言D.汇编语言4.要保证程序在多次反复使用过程中不发生错误,关键应该提高程序的______。

A.可靠性B.有效性C.正确性D.可维护性5.汇编语言属于______。

计算机科学导论第三版答案

第1章概述习题(答案)一.选择题1. D2. B3. CD4. C5.A6. ABC7. A8. C9.B 10. B11. C 12. A 13. ABC 14.B 15. ABCD16.C 17.ABCDE二.简答题1.简述计算机的发展阶段计算机的出现是20世纪最辉煌的成就之一,按照采用的电子器件划分,计算机大致经历了四个阶段。

1. 第一代计算机(1946—1957)其主要特征是逻辑器件使用了电子管,用穿孔卡片机作为数据和指令的输入设备,用磁鼓或磁带作为外存储器,使用机器语言编程。

第一台计算机需要工作在有空调的房间里,如果希望它处理什么事情,需要把线路重新连接接,把成千上万的线重新焊接。

1949年发明了可以存储程序的计算机,这些计算机使用机器语言编程,可存储信息和自动处理信息,存储和处理信息的方法开始发生革命性的变化。

第一代计算机体积大、运算速度低、存储容量小、可靠性低。

几乎没有什么软件配置,主要用于科学计算。

尽管如此,第一代计算机却奠定了计算机的技术基础,如二进制、自动计算及程序设计等,对以后计算机的发展产生了深远的影响。

其代表机型有:ENIAC、IBM650(小型机)、IBM709(大型机)等。

2. 第二代计算机(1958—1964)其主要特征是使用晶体管代替了电子管,内存储器采用了磁芯体,引入了变址寄存器和浮点运算部件,利用I/O处理机提高了输入输出能力。

这不仅使得计算机的体积缩小了很多,同时增加了机器的稳定性并提高了运算速度,而且计算机的功耗减小,价格降低。

在软件方面配置了子程序库和批处理管理程序,并且推出了Fortran、COBOL、ALGOL等高级程序设计语言及相应的编译程序,降低了程序设计的复杂性。

除应用于科学计算外,它还开始应用在数据处理和工业控制等方面。

其代表机型有IBM7090、IBM7094、CDC7600等。

3. 第三代计算机(1965—1972)其主要特征是用半导体中、小规模集成电路(Integrated Circuit,IC)作为元器件代替晶体管等分立元件,用半导体存储器代替磁芯存储器,使用微程序设计技术简化处理机的结构,这使得计算机的体积和耗电量显著减小,而计算速度和存储容量却有较大提高,可靠性也大大加强。

计算机导论第4章课后答案

操作系统:有效地组织和管理计算机系统中的硬件和软件资源,合理地组织计算机工作流程,控制程序的执行,并提供多种服务功能及友好界面,方便用户使用计算机的系统软件。

简单地说就是管理计算机资源、控制程序执行、提供多种服务、方便用户使用。

批处理操作系统:指操作员将用户提供的若干个作业以“成批”方式,同时交给计算机系统。

分时操作系统:把计算机与许多终端用户连接起来,分时操作系统将系统处理机时间与内存空间按一定的时间间隔,轮流地切换给各终端用户的程序使用。

实时操作系统:一种能在限定时间内对外部事件作出响应和处理的计算机系统,可以分为实时控制系统和实时信息系统。

通用操作系统:同时具有分时、实时和批处理功能的操作系统。

单用户单任务操作系统:只允许一个用户使用计算机,且只允许该用户运行一个程序。

单用户多任务操作系统:只允许一个用户使用计算机,但只允许该用户提交多个程序并发执行,即可以同时完成多个任务,从而有效地改善系统的性能。

多用户多任务操作系统:允许多个用户通过各自的终端,使用同一台主机,共享主机系统中的各类资源,而每个用户又可以提交几个程序,使它们并发执行,从而进一步提高资源利用率和增加系统吞吐量。

GUI:又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。

与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。

API:API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

虚拟内存:虚拟内存是计算机系统内存管理的一种技术。

它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。

虚拟设备:指通过某种方法(如分时方法)把一台独占型物理设备改造成能供多个用户共享使用的逻辑设备。

2023年计算机科学考试各章节练习题及答案

2023年计算机科学考试各章节练习题及答案一、章节一:程序设计基础1. 编写一个程序,实现将两个整数相加并输出结果的功能。

include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:\n");scanf("%d%d", &num1, &num2);sum = num1 + num2;printf("两个整数的和为:%d\n", sum);return 0;}2. 请解释什么是变量和常量。

变量是在程序中用于存储数据的一块内存空间,其值可以在程序执行过程中改变。

常量是程序中的固定值,其值在定义后不能被修改。

二、章节二:数据结构1. 请说明什么是链表,并展示一个简单的链表节点的定义。

链表是一种数据结构,由多个节点组成,每个节点包含数据和指向下一个节点的指针。

链表节点的定义示例:struct Node {int data; // 节点数据struct Node* next; // 指向下一个节点的指针};2. 解释什么是栈和队列,并给出它们的特点。

栈是一种线性数据结构,具有后进先出(LIFO)的特点。

新增和删除操作只能在栈顶进行。

队列是一种线性数据结构,具有先进先出(FIFO)的特点。

新增操作只能在队尾进行,删除操作只能在队头进行。

三、章节三:算法分析1. 请简要解释什么是时间复杂度。

时间复杂度是衡量算法执行时间随输入规模增长的增长速度。

一般使用大O符号(O(n))进行表示,其中n表示输入规模。

2. 对于以下代码片段,请给出其时间复杂度。

for i in range(n):for j in range(n):print(i, j)该代码片段的时间复杂度为O(n^2),其中n为输入规模。

以上为2023年计算机科学考试各章节练习题及答案的一部分内容。

更多内容请参考教材或相关备考资料。

计算机科学导论(第4版)习题答案-第3、4章

第3章程序设计语言习题一、选择题1. A2. A3. D4. A5. AB6. C7.D8.C9.D 10. D11.ABCD 12.B 13.A 14.A二、简答题1.简述程序的概念。

答:一个程序就是能够实现特定功能的一组指令序列的集合。

或者程序=算法+数据结构。

2. 简述程序设计语言的发展阶段。

经历了机器语言、汇编语言和高级语言三个发展阶段。

机器语言又称面向机器的语言,是特定的计算机硬件系统所固有的语言,是CPU唯一能够真正不经过翻译而直接识别和执行的语言。

相比而言,其他任何语言编写的程序都必须最终转换成机器语言以后才能在CPU上执行。

由于二进制编码形式的机器指令不便于记忆和使用,人们很快引入了便于记忆、易于阅读和理解、由英文单词或其缩写符号表示的指令,称为汇编指令,又称符号指令或助记符。

利用汇编指令编写得到的程序称为汇编语言程序。

通过引入汇编语言,在一定程度上解决了低级语言程序设计的问题,之后又出现了程序的“可移植性”问题,即程序员编写的源程序如何从一台计算机方便地转移到另一台计算机上执行。

为了解决这个问题,人们引入了高级语言。

高级语言是一种利用意义比较直观的各种“单词”和“公式”,按照一定的“语法规则”来编写程序的语言,又称为程序设计语言或算法语言。

高级语言之所以“高级”,是因为高级语言把很多硬件上复杂费解的概念抽象化了,从而使得程序员可以绕开复杂的计算机硬件的问题、无需了解计算机的指令系统,就能完成程序设计的工作。

3. 简述程序设计过程的一般步骤。

程序设计的过程一般有四个步骤。

(1)分析问题在着手解决问题之前,应该通过分析,充分理解问题,明确原始数据、解题要求、需要输出的数据及形式等。

(2)设计算法算法是解题的过程。

首先集中精力于算法的总体规划,然后逐层降低问题的抽象性,逐步充实细节,直到最终把抽象的问题具体化成可用程序语句表达的算法。

这是一个自上而下、逐步细化的过程。

(3)编码利用程序设计语言表示算法的过程称为编码。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第4章程序设计基础
习题
一、选择题
1. A
2.D
3.C
4. A
5. B
6.D
7.A
8.B
9.C 10. B
11. D 12. A 13.B 14.D 15.C
二、简答题
1.结构化程序设计的思想是什么?
答:结构化程序设计的基本思想就是采用自顶向下、逐步求精的设计方法和单入口单出口的控制结构。

2.结构化程序设计的原则是什么?
答:结构化程序设计的原则是:
(1) 使用顺序、选择、循环3种基本控制结构表示程序逻辑。

(2)程序语句组织成容易识别的语句模块,每个模块都是单入口、单出口。

(3)严格控制GOTO语句的使用。

3.结构化程序设计语言采用自顶向下的方法进行程序设计的特点是什么?
答:利用结构化程序设计语言采用自顶向下的方法进行程序设计的特点是:
(1) 问题分解成子问题的结构必须与3种基本程序结构之一相对应。

(2) 问题的划分决定了程序的结构。

一方面,子问题的划分决定了这一层次的程序是3种基本结构中的哪一种结构;另一方面,一个问题该如何划分成子问题是灵活的,并不是只有一种分解方法。

分解的好坏就决定了设计的质量,也决定了程序的不同结构。

(3) 问题的边界应该清晰明确。

只有这样才能精确地解决这些子问题,否则就会模棱两可,无从下手。

4.简述面向对象和结构化程序设计的区别。

答:面向对象是从本质上区别于传统的结构化方法的一种新方法、新思路。

它吸收了结构化程序设计的全部优点,同时又考虑到现实世界与计算机之间的关系,认为现实世界是由一系列彼此相关并且能够相互通信的实体组成,这些实体就是面向对象方法中的对象,每个对象都有自己的自然属性和行为特征,而一类相似对象的共性的抽象描述,就是面向对象方法中的核心——类。

5. 从互联网上面搜索选择结构的使用方式。

答案略。

6.简述模块化方法的原理。

模块化方法是一种传统的软件开发方法,该方法通常是将待开发软件划分为一些功能相对独立的模块,模块与模块之间定义相应的接口,各个模块是可以分别单独开发、调试、运行和测试的,然后,再将多个模块组合起来,进行软件的整体测试,从而完成整个软件的开发。

在自上而下、逐步细化的过程中,把复杂问题分解成一个个简单问题的最基本的方法就是模块化,按照功能或层次结构把一个问题划分为几个模块,然后对每个模块做进一步细化。

一个复杂的问题可以划分为多个简单问题的组合,这样的划分包括两个方面:一方面是把问题细化为若干模块组成的层次结构;另一方面是把每一个模块的功能进一步细化,分解成为一个个更小的子模块,直到分解成一个个程序语句为止。

模块化便于问题的分析,同时也有利于程序设计以及软件工程中的组织与合作,按照模块作为工作划分的依据,各个模块可以独立地进行开发、测试和修改。

7.什么是数据结构?数据的物理结构有哪些?
答:数据结构是指数据元素之间的相互关系的集合,包括了数据的逻辑结构、物理结构以及数据的运算。

数据的物理结构主要有四种,分别是顺序结构、链表结构、索引结构及散列结构。

(1) 顺序结构:是把所有元素存放在一片连续的存储单元中,逻辑上相邻的元素存储在物理位置相邻的存储单元中,由此得到的存储表示称为顺序存储结构。

(2) 链表结构:对逻辑上相邻的元素不要求其物理位置相邻,元素间的逻辑关系通过附设的指针域来表示,由此得到的存储表示称为链式存储结构。

(3) 索引结构:每个数据结构建立索引表,每个数据元素占用表中的一项,每个表项通常包含关键字和地址指针。

其中的关键字是能够惟一标志一个数据元素的数据项。

(4) 散列结构:通过构造相应的散列函数,由散列函数的值来确定元素存放的地址。

8.简述冒泡排序的过程。

设有数组A[n+1](n为序列中元素个数),第一趟在序列(A[0]~A[n])中从前往后进行两个元素的比较,如后者小,则交换,比较n-1次;第一趟排序结束,最大元素被交换到A[n]中(即沉底),下一趟排序只要在子序列(A[0]~A[n-1])中进行;如果在某一趟排序中未交换元素,说明子序列已经有序,则不再进行下一趟排序。

三、讨论题
1.在进行程序设计时,语言的选择尤为重要,根据你对程序设计语言的了解,谈谈你对程序设计的认识。

答案略。

2.如何才能选择一个好的数据结构进行程序设计。

答案略。

相关文档
最新文档