第一章自测题
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8.设计一个算法,用以求出两个正整数m和n的最大公约数和最小公倍数。
解答:用自然语言描述如下。
(1)保存原始数据mm0,nn0;
(2)取m和n中大者m,作为被除数;小者n,作为除数;相除后得余数r;
(3)若r≠0,则进行辗转赋值:nm,rn,相除得到新的余数r;
(4)重复(3),直到r==0,最后的n就是最大公约数;
不满足上述条件之一的年份不是闰年。
试设计一个算法,输出2000~2050年中的所有闰年。
解答:
用自然语言描述如下:
(1)将年份2000赋给y;
(2)若y能被4整除且不能被100整除,则输出y值,然后转到(4);
(3)若y能被100整除并且能被400整除,则输出y值;
(4)y值增1;
(5)当y<=2050时转到(2),否则算法结束。
C)可读性和文档性D)数据复杂性和程序复杂性
()14.计算机算法指的是:
A)计算方法B)排序方法C)解决问题的有限运算序列D)调度方法
()15.计算机算法必须具备输入、输出和等5个特性。
A)可行性、可移植性和可扩充性B)可行性、确定性和有穷性
C)确定性、有穷性和稳定性D)易读性、稳定性和安全性
三、简答题(每小题3分,共9分)
(2)程序中的每一条指令必须是机器可执行的,而对于算法则无此限制。故选项B错误。
(3)算法的5个基本特征之一“有穷性”就是要求算法应该在有限时间内完成。故C正确。
(4)一个算法可以没有输入,这时算法中涉及的操作数可以是常数,或通过赋值获得;但一个算法必须有输出,用以表明运算结果,否则就没有存在的价值。故D错误。
解释:
分析题目所描述的计算机过程可发现以下问题。
(1)执行完第(3)步后,顺序执行第(4)步,而第(4)步是无条件转去执行第(3)步,从而形成了死循环。显然不具备“有穷性”。
(2)有整个计算过程中,没有任何结果被输出,不符合算法对“一个或多个输出”的要求。
故C正确。
5.试分析以下4个简单程序段的时间复杂度。
3.以下关于存储结构的叙述中正确的是()。
A.数据的存储结构是数据之间关系的抽象描述。
B.数据的存储结构对数据运算的具体实现没有影响。
C.数据的存储结构是逻辑结构在计算机存储器中的实现。
D.数据的存储结构分为线性结构和非线性结构。
解释:
(1)描述数据之间抽象关系的是数据的逻辑结构而非存储结构。故A错误。
(2)对数据运算的实现是建立在一定的逻辑结构和存储结构之上的。例如:采用顺序存储结构的线性表和采用链式存储结构的线性表,无论是插入、删除,还是查找、输出,其操作都是截然不同的。故B错误。
(3)数据的存储结构是其逻辑结构在计算机内存中的映像,它既要保证存储数据本身,又要保证能正确反映数据之间的逻辑关系。故C正确。
(1) t=a; a=b; b=t;
(2)for (i=1;iLeabharlann Baidun;i++)
k=k+1;
(3)for (i=1;i<n;i++)
x[i]=0;
for (i=1;i<n;i++)
for (j=1;j<n;j++)
x[j]++;
(4)for (i=1;i<n;i++)
for (j=1;j<m;j++)
x=x+1;
if(x>20) y=x;
else if (x>10) y=2*x;
if (x>0&&x<30)printf(“x=%d,y=%d”,x,y);
else printf(“输入数据错!”);
试写出当x分别为18,8时的执行结果。
五、分析下面各程序段的时间复杂度(每小题5分,共20分)
六、设有数据逻辑结构S=(D,R),试按各小题所给条件画出这些逻辑结构的图示,并确定相对于关系R,哪些结点是开始结点,哪些结点是终端结点?(每小题5分,共15分)
补充题目
1.以下有关数据的叙述错误的是()。
A.计算机能够处理的数据包括整数、实数、字符、声音、图像等。
B.数据的逻辑结构是从逻辑关系上描述数据,它取决于数据的存储方式。
C.数据存储结构的实现依赖于计算机语言。
D.数据的运算是定义在数据的逻辑结构上的。
解释:
(1)计算机能够处理的数据包括整数、实数和字符是显而易见的。随着计算机应用领域的拓宽,声音和图像也可以按照一定的编码方式达到数字化,交由计算机处理。故选项A是正确的。
解答:
(1)在程序段(1)中只有3条独立的语句,它们的执行频度都是1。这表明该程序段的执行时间是一个与问题的规模n无关的常数。所以其时间复杂度为常数阶T(n)=O(1)。
(2)程序段(2)是一个单循环,核心语句k=k+1要执行n-1次,其执行时间与问题的规模n成正比,故算法的时间复杂度为T(n)=O(n)。
(3)程序段(3)包括一个单循环和一个双重循环,其执行频度最高的核心语句是双重循环中的x[j]++,它的执行时间与n2成正比,故算法的时间复杂度为T(n)=O(n2)。
(4)程序段(4)由一个双重循环组成,循环涉及了问题的规模n和m,核心语句的执行时间与n*m成正比,故算法的时间复杂度为T(n)=O(n*m)。
12.在图形结构中,每个结点的前驱结点数和后续结点数可以。
13.数据的存储结构可用四种基本的存储方法表示,它们分别是。
14.数据的运算最常用的有5种,它们分别是。
15.一个算法的效率可分为效率和效率。
16.任何一个C程序都由和若干个被调用的其它函数组成。
17.变量一经说明,就确定该变量的取值范围及。
A)所有能够使用的软件B)能被各应用单位共同使用的某种软件
C)所有微机上都应使用的基本软件D)专门为某一应用目的而编制的软件
()6.C语言中的常量可分为整型常量、实型常量、字符型常量及四种。
(A)符号常量(B)长整型常量(C)逻辑常量(D)二进制整数
()7.编译程序的功能是∶
A)发现源程序中的语法错误B)改正源程序中的语法错误
9.线性结构中元素之间存在关系,树形结构中元素之间存在关系,图形结构中元素之间存在关系。
10.在线性结构中,第一个结点前驱结点,其余每个结点有且只有1个前驱结点;最后一个结
点后续结点,其余每个结点有且只有1个后续结点。
11.在树形结构中,树根结点没有结点,其余每个结点有且只有个前驱结点;叶子结点没有结点,其余每个结点的后续结点数可以。
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.算法分析的两个主要方面是:
A)空间复杂性和时间复杂性B)正确性和简明性
2.以下关于算法的叙述中正确的是()。
A.算法是指用计算机语言编写的程序。
B.算法中的指令必须是机器可执行的。
C.一个正确的算法必须在有限时间内完成。
D.一个算法允许有零个输入和零个输出。
解释:
(1)算法可用自然语言描述,也可用流程图来表示,也可用程序设计语言来体现。但算法和程序在概念上是有区别的。算法必须满足有穷性,程序则不然。典型的例子就是计算机中的操作系统,只要接通电源,操作系统就一直在运行,除非出现故障。因此,作为程序的操作系统就不是一个算法。故选项A是不正确。
(5)计算:最小公倍数=(m0*n0)/最大公约数;
(6)输出最大公约数和最小公倍数。
第一章概论自测题姓名班级
题号
一
二
三
四
五
六
总分
题分
33
15
9
8
20
15
100
得分
一、填空题(每空1分,共33分)
1.一个计算机系统包括和两大部分。
2.一台计算机中全部程序的集合,称为这台计算机的。
3.计算机软件可以分为软件和软件两大类。科学计算程序包属于,诊断程序属于。
(4)线性结构和非线性结构是针对数据的逻辑结构而言的,故D错误。
4.请看以下用自然语言描述的一个计算过程:
(1)开始
(2)0sum
(3)sum+1sum
(4)重复(3)
(5)结束
以上不是一个正确的算法,它违背了算法的()。
A.确定性和输入特性B.输入和输出特性
C.有穷性和输出特性D.可行性和输出特性
(2)数据的逻辑结构是从抽象的逻辑关系上描述数据,是独立于计算机的。所以与数据的存储方式无关。故选项B是错误的。
(3)数据的存储结构是逻辑结构在计算机中的实现,它依赖于计算机语言。例如:链式存储结构的实现就要借助于计算机语言中的指针类型。故选项C正确。
(4)每种不同的逻辑结构都有各自的一个运算集合。例如,对线性表可以实施的操作种类与对树可以实施的操作种类是不同的,也就是说数据的运算是定义在其逻辑结构上的。故D正确。
4.一种用助忆符号来表示机器指令的操作符和操作数的语言是。
5.数据结构是一门研究非数值计算的程序设计问题中计算机的以及它们之间的
和运算等的学科。
6.数据结构被形式地定义为(D, R),其中D是的有限集合,R是D上的有限集合。
7.数据结构包括数据的、数据的和数据的这三个方面的内容。
8.数据结构按逻辑结构可分为两大类,它们分别是和。
6.以下叙述中错误的是()。
A.数据类型是在编码级上对数据结构的具体实现。
B.数据类型依赖于计算机语言。
C.数据结构独立于计算机语言。
D.数据类型与对数据施加的操作无关。
7.已各判断闰年的条件是:
(1)能被4整除,但不能被100整除的年份是闰年;
(2)能被100整除,同时又能被400整除的年份是闰年。
1.我们知道计算机只能执行机器指令,为什么它能运行用汇编语言和高级语言编写的程序?
2.数据结构和数据类型两个概念之间有区别吗?
3.简述线性结构与非线性结构的不同点。
四、阅读下列C程序段,写出相应的执行结果(每小题4分,共8分)
1. printf(“Input x”);
scanf(“%d”,&x);
if (x<=30)
B)程序是用户自己编写的,而软件是由厂家提供的;
C)程序是用高级语言编写的,而软件是由机器语言编写的;
D)软件是程序以及开发、使用和维护所需要的所有文档的总称,而程序只是软件的一部分。
()4.所谓“裸机”是指∶
A)单片机B)单板机C)不装备任何软件的计算机D)只装备操作系统的计算机
()5.应用软件是指∶
1.D={d1,d2,d3,d4}R={(d1,d2),(d2,d3),(d3,d4)}
2.D={d1,d2,…,d9}
R={(d1,d2),(d1,d3),(d3,d4),(d3,d6),(d6,d8),(d4,d5),(d6,d7),(d8,d9)}
3.D={d1,d2,…,d9}
R={(d1,d3),(d1,d8),(d2,d3),(d2,d4),(d2,d5),(d3,d9),(d5,d6),(d8,d9),(d9,d7),(d4,d7),(d4,d6)}
二、单项选择题(每小题1分,共15分)
()1.通常所说的主机是指∶
A) CPUB) CPU和内存C) CPU、内存与外存D) CPU、内存与硬盘
()2.在计算机内部,一切信息的存取、处理和传送的形式是∶
A)ACSII码B) BCD码C)二进制D)十六进制
()3.软件与程序的区别是∶
A)程序价格便宜、软件价格昂贵;
解答:用自然语言描述如下。
(1)保存原始数据mm0,nn0;
(2)取m和n中大者m,作为被除数;小者n,作为除数;相除后得余数r;
(3)若r≠0,则进行辗转赋值:nm,rn,相除得到新的余数r;
(4)重复(3),直到r==0,最后的n就是最大公约数;
不满足上述条件之一的年份不是闰年。
试设计一个算法,输出2000~2050年中的所有闰年。
解答:
用自然语言描述如下:
(1)将年份2000赋给y;
(2)若y能被4整除且不能被100整除,则输出y值,然后转到(4);
(3)若y能被100整除并且能被400整除,则输出y值;
(4)y值增1;
(5)当y<=2050时转到(2),否则算法结束。
C)可读性和文档性D)数据复杂性和程序复杂性
()14.计算机算法指的是:
A)计算方法B)排序方法C)解决问题的有限运算序列D)调度方法
()15.计算机算法必须具备输入、输出和等5个特性。
A)可行性、可移植性和可扩充性B)可行性、确定性和有穷性
C)确定性、有穷性和稳定性D)易读性、稳定性和安全性
三、简答题(每小题3分,共9分)
(2)程序中的每一条指令必须是机器可执行的,而对于算法则无此限制。故选项B错误。
(3)算法的5个基本特征之一“有穷性”就是要求算法应该在有限时间内完成。故C正确。
(4)一个算法可以没有输入,这时算法中涉及的操作数可以是常数,或通过赋值获得;但一个算法必须有输出,用以表明运算结果,否则就没有存在的价值。故D错误。
解释:
分析题目所描述的计算机过程可发现以下问题。
(1)执行完第(3)步后,顺序执行第(4)步,而第(4)步是无条件转去执行第(3)步,从而形成了死循环。显然不具备“有穷性”。
(2)有整个计算过程中,没有任何结果被输出,不符合算法对“一个或多个输出”的要求。
故C正确。
5.试分析以下4个简单程序段的时间复杂度。
3.以下关于存储结构的叙述中正确的是()。
A.数据的存储结构是数据之间关系的抽象描述。
B.数据的存储结构对数据运算的具体实现没有影响。
C.数据的存储结构是逻辑结构在计算机存储器中的实现。
D.数据的存储结构分为线性结构和非线性结构。
解释:
(1)描述数据之间抽象关系的是数据的逻辑结构而非存储结构。故A错误。
(2)对数据运算的实现是建立在一定的逻辑结构和存储结构之上的。例如:采用顺序存储结构的线性表和采用链式存储结构的线性表,无论是插入、删除,还是查找、输出,其操作都是截然不同的。故B错误。
(3)数据的存储结构是其逻辑结构在计算机内存中的映像,它既要保证存储数据本身,又要保证能正确反映数据之间的逻辑关系。故C正确。
(1) t=a; a=b; b=t;
(2)for (i=1;iLeabharlann Baidun;i++)
k=k+1;
(3)for (i=1;i<n;i++)
x[i]=0;
for (i=1;i<n;i++)
for (j=1;j<n;j++)
x[j]++;
(4)for (i=1;i<n;i++)
for (j=1;j<m;j++)
x=x+1;
if(x>20) y=x;
else if (x>10) y=2*x;
if (x>0&&x<30)printf(“x=%d,y=%d”,x,y);
else printf(“输入数据错!”);
试写出当x分别为18,8时的执行结果。
五、分析下面各程序段的时间复杂度(每小题5分,共20分)
六、设有数据逻辑结构S=(D,R),试按各小题所给条件画出这些逻辑结构的图示,并确定相对于关系R,哪些结点是开始结点,哪些结点是终端结点?(每小题5分,共15分)
补充题目
1.以下有关数据的叙述错误的是()。
A.计算机能够处理的数据包括整数、实数、字符、声音、图像等。
B.数据的逻辑结构是从逻辑关系上描述数据,它取决于数据的存储方式。
C.数据存储结构的实现依赖于计算机语言。
D.数据的运算是定义在数据的逻辑结构上的。
解释:
(1)计算机能够处理的数据包括整数、实数和字符是显而易见的。随着计算机应用领域的拓宽,声音和图像也可以按照一定的编码方式达到数字化,交由计算机处理。故选项A是正确的。
解答:
(1)在程序段(1)中只有3条独立的语句,它们的执行频度都是1。这表明该程序段的执行时间是一个与问题的规模n无关的常数。所以其时间复杂度为常数阶T(n)=O(1)。
(2)程序段(2)是一个单循环,核心语句k=k+1要执行n-1次,其执行时间与问题的规模n成正比,故算法的时间复杂度为T(n)=O(n)。
(3)程序段(3)包括一个单循环和一个双重循环,其执行频度最高的核心语句是双重循环中的x[j]++,它的执行时间与n2成正比,故算法的时间复杂度为T(n)=O(n2)。
(4)程序段(4)由一个双重循环组成,循环涉及了问题的规模n和m,核心语句的执行时间与n*m成正比,故算法的时间复杂度为T(n)=O(n*m)。
12.在图形结构中,每个结点的前驱结点数和后续结点数可以。
13.数据的存储结构可用四种基本的存储方法表示,它们分别是。
14.数据的运算最常用的有5种,它们分别是。
15.一个算法的效率可分为效率和效率。
16.任何一个C程序都由和若干个被调用的其它函数组成。
17.变量一经说明,就确定该变量的取值范围及。
A)所有能够使用的软件B)能被各应用单位共同使用的某种软件
C)所有微机上都应使用的基本软件D)专门为某一应用目的而编制的软件
()6.C语言中的常量可分为整型常量、实型常量、字符型常量及四种。
(A)符号常量(B)长整型常量(C)逻辑常量(D)二进制整数
()7.编译程序的功能是∶
A)发现源程序中的语法错误B)改正源程序中的语法错误
9.线性结构中元素之间存在关系,树形结构中元素之间存在关系,图形结构中元素之间存在关系。
10.在线性结构中,第一个结点前驱结点,其余每个结点有且只有1个前驱结点;最后一个结
点后续结点,其余每个结点有且只有1个后续结点。
11.在树形结构中,树根结点没有结点,其余每个结点有且只有个前驱结点;叶子结点没有结点,其余每个结点的后续结点数可以。
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.算法分析的两个主要方面是:
A)空间复杂性和时间复杂性B)正确性和简明性
2.以下关于算法的叙述中正确的是()。
A.算法是指用计算机语言编写的程序。
B.算法中的指令必须是机器可执行的。
C.一个正确的算法必须在有限时间内完成。
D.一个算法允许有零个输入和零个输出。
解释:
(1)算法可用自然语言描述,也可用流程图来表示,也可用程序设计语言来体现。但算法和程序在概念上是有区别的。算法必须满足有穷性,程序则不然。典型的例子就是计算机中的操作系统,只要接通电源,操作系统就一直在运行,除非出现故障。因此,作为程序的操作系统就不是一个算法。故选项A是不正确。
(5)计算:最小公倍数=(m0*n0)/最大公约数;
(6)输出最大公约数和最小公倍数。
第一章概论自测题姓名班级
题号
一
二
三
四
五
六
总分
题分
33
15
9
8
20
15
100
得分
一、填空题(每空1分,共33分)
1.一个计算机系统包括和两大部分。
2.一台计算机中全部程序的集合,称为这台计算机的。
3.计算机软件可以分为软件和软件两大类。科学计算程序包属于,诊断程序属于。
(4)线性结构和非线性结构是针对数据的逻辑结构而言的,故D错误。
4.请看以下用自然语言描述的一个计算过程:
(1)开始
(2)0sum
(3)sum+1sum
(4)重复(3)
(5)结束
以上不是一个正确的算法,它违背了算法的()。
A.确定性和输入特性B.输入和输出特性
C.有穷性和输出特性D.可行性和输出特性
(2)数据的逻辑结构是从抽象的逻辑关系上描述数据,是独立于计算机的。所以与数据的存储方式无关。故选项B是错误的。
(3)数据的存储结构是逻辑结构在计算机中的实现,它依赖于计算机语言。例如:链式存储结构的实现就要借助于计算机语言中的指针类型。故选项C正确。
(4)每种不同的逻辑结构都有各自的一个运算集合。例如,对线性表可以实施的操作种类与对树可以实施的操作种类是不同的,也就是说数据的运算是定义在其逻辑结构上的。故D正确。
4.一种用助忆符号来表示机器指令的操作符和操作数的语言是。
5.数据结构是一门研究非数值计算的程序设计问题中计算机的以及它们之间的
和运算等的学科。
6.数据结构被形式地定义为(D, R),其中D是的有限集合,R是D上的有限集合。
7.数据结构包括数据的、数据的和数据的这三个方面的内容。
8.数据结构按逻辑结构可分为两大类,它们分别是和。
6.以下叙述中错误的是()。
A.数据类型是在编码级上对数据结构的具体实现。
B.数据类型依赖于计算机语言。
C.数据结构独立于计算机语言。
D.数据类型与对数据施加的操作无关。
7.已各判断闰年的条件是:
(1)能被4整除,但不能被100整除的年份是闰年;
(2)能被100整除,同时又能被400整除的年份是闰年。
1.我们知道计算机只能执行机器指令,为什么它能运行用汇编语言和高级语言编写的程序?
2.数据结构和数据类型两个概念之间有区别吗?
3.简述线性结构与非线性结构的不同点。
四、阅读下列C程序段,写出相应的执行结果(每小题4分,共8分)
1. printf(“Input x”);
scanf(“%d”,&x);
if (x<=30)
B)程序是用户自己编写的,而软件是由厂家提供的;
C)程序是用高级语言编写的,而软件是由机器语言编写的;
D)软件是程序以及开发、使用和维护所需要的所有文档的总称,而程序只是软件的一部分。
()4.所谓“裸机”是指∶
A)单片机B)单板机C)不装备任何软件的计算机D)只装备操作系统的计算机
()5.应用软件是指∶
1.D={d1,d2,d3,d4}R={(d1,d2),(d2,d3),(d3,d4)}
2.D={d1,d2,…,d9}
R={(d1,d2),(d1,d3),(d3,d4),(d3,d6),(d6,d8),(d4,d5),(d6,d7),(d8,d9)}
3.D={d1,d2,…,d9}
R={(d1,d3),(d1,d8),(d2,d3),(d2,d4),(d2,d5),(d3,d9),(d5,d6),(d8,d9),(d9,d7),(d4,d7),(d4,d6)}
二、单项选择题(每小题1分,共15分)
()1.通常所说的主机是指∶
A) CPUB) CPU和内存C) CPU、内存与外存D) CPU、内存与硬盘
()2.在计算机内部,一切信息的存取、处理和传送的形式是∶
A)ACSII码B) BCD码C)二进制D)十六进制
()3.软件与程序的区别是∶
A)程序价格便宜、软件价格昂贵;