admin 管理员组

文章数量: 1087135


2024年12月30日发(作者:淘宝详情页模板)

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

第一章 导论

一、选择题(每题12分,共60分)

1.当代计算机的最主要的体系结构称为是______。

A.非冯·诺依曼机

B.图灵机

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分)

语言的类别是______。

A.面向硬件的程序设计语言

B.面向问题的程序设计语言

C.面向过程的程序设计语言

D.面向对象的程序设计语言

2.汇编程序的任务是______。

A.将汇编语言编写的程序转换为目标程序

B.将汇编语言编写的程序转换为可执行程序

C.将高级语言编写的程序转换为可执行程序

D.将高级语言编写的程序转换为汇编语言程序

3.C语言是______。

A.高级语言

B.机器语言

C.目标语言

D.汇编语言

4.要保证程序在多次反复使用过程中不发生错误,关键应该提高程序的______。

A.可靠性

B.有效性

C.正确性

D.可维护性

5.汇编语言属于______。

A.非过程式语言

B.过程式语言

C.函数式语言

D.逻辑语言

6.要编写高质量的程序,判断程序质量的首要标准是程序的_____①______,要

保证程序在多次反复使用过程不发生错误,应该保证程序的_____②______。

A.①正确性

B.①可靠性

C.①有效性

②可靠性

②有效性

② 正确性

7.编译程序的实现算法较为复杂,但它可以产生高效运行的____①______程序,

因此更适合翻译那些规模较大、结构较复杂、需要较长运行时间的 _____②

______ 程序。

A.①目标 ②应用

B.①可执行代码 ②系统

C.①执行 ②复杂

8.高级语言源程序的翻译有两种方式,对程序逐句进行分析并立即执行的这种方

式为_____①_______,另一种是需要把程序先转化为目标代码再装入内存运行,

这种方式为______②______。

A.①翻译

B.①编译

C.①解释

②解释

②解释

②编译

二、判断题(1-6题每题6分,7、8每题8分)

9.汇编语言源程序可以在机器里直接执行。(×)

N语言是系统地体现结构程序设计思想的第一种语言,既适于描

述数值问题算法,又适于描述非数值问题算法。(×)

11.解释程序对源程序的解释过程有两种方式,一种是直接解释执行,另一

种是把源程序先转换成以词为单位的中间代码程序,然后对中间程序逐句解释执

行。后一种解释方式会产生目标程序。(×)

12.解释程序对源程序也要进行词法、语法分析,以检查源程序的语法结构

是否正确。(√)

13.软件由计算机程序、规程以及运行计算机系统可能需要的相关文档和数

据组成。(√)

14.编译程序的可以产生高效运行的目标程序,具有简单灵活,程序空间占

用也少的的特点。(×)

语言是系统地体现结构程序设计思想的第一种语言,既适于描述

数值问题算法,又适于描述非数值问题算法。(√)

16.源程序通过词法分析和语法分析只说明它在语义上是正确的。(×)

第三章 C语言基础

一、选择题(每题12分,共60分)

1.在C语言中,字符串常量的定界符是______。

A.空格

B.方括号

C.单引号

D.双引号

2.C语言中int变量能够表示的数值范围是______。

A.-32768~32767

B.0~65535

C.-32767~32768

D.0~65536

3.在C语言中,为了表示关系:x≥y≥z,应该使用表达式______。

A.x>=y && y>=z

B.x≥y≥z

C.x>=y>=z

D.x>=y & y>=z

4.实型常量在C语言中只能用____①______表示,表示方法有:____②_______。

A.①十进制

B.①小数形式

C.①二进制

②小数形式和指数形式

②十进制和二进制

②小数形式

5.在C语言中,不合法的int型常量是______。

A.32768L

B.0678

C.0XABC

D.32767

二、判断题(每题10分,共40分)

6.在C语言程序中,常量可以不经说明直接引用。(√)

7.字符a的ASCII码值为97,换算成二进制数为01100001。(√)

8.字符串常量是用一对单引号括起来的字符序列。(×)

9.在C语言中,关系表达式的运算结果只能为逻辑型“真”或“假”。(√)

第四章 C程序设计

一、选择题(选择题6道,1-4题每题15分,共60分;5-6题,每题20分,共

40分;)

1.关于C语言语句的正确概念是______。

语句可以从C语言中去除

语句可以替代if语句

和do-while都是直到型循环

D.在C语言中不能使用goto语句

2.C语言中的语句 #define R 20 用于定义 _____①_______ ,语句char r1; 则

用于定义_____②_____ 。

A.①符号变量R ②字符常量

B.①符号常量R   ②字符变量r1

C.①整型常量20

3.写出程序的运行结果。

#include

②字符串变量r1

main彩蛋

{ int a, b;

scanf ( ”%d%d", &a, &b);

if ( ++a >= b ) printf( ”Yes”);

printf ( " a+b =%dn", a+b );

}

如果输入:a=6,b=8,则输出结果是___________。

A.a+b=14

B.15

C." a+b =%dn", 14

D.a+b=15

4.写出程序的运行结果。

A.3

B.2

C.4

D.1

3.写出程序的运行结果。

#include

main彩蛋

{ int i=0,j=0,k=0,m;

for ( m=0;m<4;m++ )

switch ( m )

{ case 0:i=m++;

case 1:j=m++;

}

输出结果是___________。

main彩蛋

{ int a=0;

for ( a=0;a<3;a++ );

printf ( " %dn", a );

}

}

case 2:k=m++;

case 3:m++;

printf ("n%d,%d,%d,%d",i,j,k,m);

该程序的执行结果是______。

A.0,1,2,4

B.0,1,2,3

C.0,1,2,5

D.0,1,1,3

6.写出程序的运行结果。

{ int j;

for(j=0;j<10;j++)

}

该程序的执行结果是___________。

A.0 2 4 6 8

B.1 3 5 7

C.2 4 6 8

D.1 3 5 7 9

第五章 数据结构基础

一、选择题(每题10分,共80分)

1.数据的存储结构分为两种,它们是______。

A.线性存储和数组存储

{if (j%2==0) continue;

printf("%d",j);

}

#include

main()

B.线性存储和树型存储

C.数组存储和指针存储

D.顺序存储和链式存储

2.如果在内存中采用链式保存线性表,则元素之间的逻辑关系通过______。

A.元素本身的关键字来表示逻辑次序

B.保存在元素中的指针表示先后次序

C.元素在内存中的相对位置表示逻辑次序

D.设立单独的区域存储元素之间的逻辑次序

3.进行顺序查找的条件是______。

A.数据有序且采用顺序存储方式

B.数据不需要有序,但需要顺序存储

C.数据有序且采用链式存储方式

D.数据不需要有序,也不限制存储方式

4.队列的最主要特点是______。

A.先进后出

B.先进先出

C.一端进一端出

D.两端进出

5.如果在具有层次结构的一组元素中,存在着一对一的关系,我们可以认为这样

的数据的逻辑类型就是______。

A.集合

B.线性结构

C.图型结构

D.树型结构

6.在任意二叉树中,如有N个叶子结点,M个度为 _____①_______

则必有_____②_____。

A.① 2

B.① 2

C.① 1

②N=M+1

②N=M+2

②N=M+2

的节点,

7.若按照一定的顺序依次访问树中的每一个结点,而且每个结点只被访问一次,

则称这样的操作为______。

A.遍历

B.排序

C.查找

D.建立

8.对如图所示的二叉树进行先序遍历的顶点序列是 _____①_______,后序遍历

时得到的顶点序列是_____②_____。

A.①DEBAC ②ABDEC

B.①EDBCA  ②DEBAC

C.①ABDEC ②EDBCA

二、判断题(每题10分,共20分)

9.图是由一个可以为空的顶点集合和一个描述顶点之间的关系——边(或者

是弧)的集合组成,记为:G=(V,E)。(×)

10.二叉树是n(n≥1)个结点的有限集合,它或为空树(n=1),或由一个根

结点和两棵被分别称为左子树和右子树的互不相交的二叉树构成。(×)

第六章 算法和问题求解

一、选择题(共10道,每道6分)

1.下列叙述中正确的是_________________。

A.设计算法时只需要考虑结果的可靠性

B.设计算法时只需要考虑数据结构的设计

C.算法就是程序

D.以上三种说法都不对

2.当一个算法输入不合法的数据时,应当能够作适当处理,不致于引起严重后果,

这属于算法的( ) 。

A.高效性

B.可读性

C.正确性

D.健壮性

3.下列叙述中正确的是_________________。

A.以上三种说法都不对

B.一个算法的时间复杂度大,则其空间复杂度必定小

C.一个算法的空间复杂度大,则其时间复杂度也必定大

D.一个算法的空间复杂度大,则其时间复杂度必定小

4.一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误

的是( )。

A.有零个或多个输入

B.有零个或多个输出

C.可行性

D.有穷性

5.下面叙述正确的是( )。

A.数据的逻辑结构与存储结构是一一对应的

B.算法的时间复杂度是指执行算法所需要的计算工作量

C.算法的时间复杂度与空间复杂度一定相关

D.算法的效率只与问题的规模有关,而与数据的存储结构无关

6.根据问题条件估计答案的范围,在此范围内对所有可能情况逐一验证,直到全

部情况均通过验证为止。这种算法是( )。

A.回溯法

B.穷举法

C.分治法

D.递归法

7.算法的描述方法可以归结为( ) 。

A.图形描述

B.文字描述和图形描述

C.文字描述

D.口语描述

8.自然语言表示算法容易出现( ) 。

A.不够灵活

B.二义性

C.难于理解

D.不容易掌握

9.那一项不属于算法的四种基本的功能操作( ) 。

A.循环结构

B.数据比较

C.逻辑运算

D.算术运算

10.在求解规模较大的问题时,可以把它分解成若干个规模较小的子问题,求出

各个子问题的解之后,再把这些解合成原问题的解,这种方法是( ) 。

A.回溯法

B.分治法

C.穷举法

D.递归法

二、判断题(共8道,每道5分)

11.算法是为了解决一个特定问题而采取的特定的、有限的步骤。(√)

12.可行性指的是一个算法必须在执行了有穷(有限)的步骤之后结束。(×)

13.任何复杂的算法都可以用顺序、选择和循环这3种控制结构的组合来描

述。(√)

14.伪代码具有统一的标准,和程序设计语言类似,可以在计算机上执行。

(×)

15.用流程图表示的算法可以独立于任何特定的计算机,但是不能独立于计

算机程序设计语言。(×)

16.贪婪法是一种求得问题最优解的方法。(×)

17.一般说来,算法的时间耗用量随输入数据量(问题规模)的增大而增大。

(√)

18.算法设计的最主要要求是算法的正确性和算法的运行效率。(√)

第七章 程序设计基本方法与原则

一、选择题(每题10分,共40分)

1.下面关于测试的结论中只有一个是正确的,它是______。

A.测试工作量的弹性比较大,可以根据时间进度进行裁减

B.测试工作要贯穿于整个软件开发的全过程

C.测试工作是指在编程实现过程中进行的排错工作

D.测试工作是指在产品完成后用户的验收工作过程

2.软件开发模型着重研究的是______。

A.软件系统的模型和对应不同模型的开发方法

B.软件系统的基本架构和常见的软件系统模型

C.软件开发全部过程、活动和任务的结构框架

D.程序设计的方法和编程技巧

3.在软件系统进行组装测试的时候发现错误,则针对被发现的错误,可以判断在

整个软件开发过程最可能出现错误的阶段是______。

A.需求分析

B.单元测试

C.概要设计

D.详细设计

4.早期进行程序开发过程中存在不少问题,在下列问题中有一个并不是早期程序

员常见的问题,它是______。

A.无固定程序设计方法

B.对问题的抽象层次不够深入

C.程序员过分依赖技巧与天分,不太注重所编写程序的结构

D.程序中的控制随意跳转,不加限制地使用goto语句

5.程序设计要遵循一定的开发方法及思想,以下有一个不是程序设计过程中应该

遵循的开发方法,它是______。

A.数据结构优先原则

B.面向对象的程序设计方法

C.结构化设计方法

D.模块化程序设计方法

二、判断题(每题20分,共60分)

6.软件开发模型着重研究软件开发全部过程、活动和任务的结构框架。例如

瀑布模型、螺旋模型及喷泉模型等。(×)

7.验收测试的目的是检查模块是否正确地组合在一起,是否能够实现规格说

明文档对产品功能的要求。(×)

8.软件产品从形成概念开始,经过开发、使用和维护,直至最后退役的全过

程称为软件生存周期。(√)


本文标签: 算法 程序 问题 程序设计 语言