搜索
您的当前位置:首页正文

程序设计基础期末复习题2004

来源:尚佳旅游分享网


《程序设计基础》期末复习

一、 单项选择题

1、 计算机发展的分代史中通常划分时代的标准是以计算机所采用的______。

A 逻辑元件 B 程序设计语言 C 操作系统发展 D 硬件运算速度

2、 当前广泛使用的微型计算机是______。

A 第一代 B 第二代 C 第三代 D 第四代

3、 我们将组成计算机系统的所有电子和机械装置称为______。

A 硬件 B 软件 C 系统 D 机器

4、 当代计算机的体系结构称为是______。

A 冯·诺依曼机 B 非冯·诺依曼机 C图灵机 D PASCAL机

5、 CPU主要包括______。

A 运算器、控制器和寄存器 B 运算器、控制器和存储器

C 控制器 D 运算器和存储器

6、 硬盘是______。

A 输入设备 B 输出设备 C 存储设备 D 计算设备

7、 系统软件的核心软件是______。

A 操作系统 B 编译程序 C 汇编程序 D 机器语言

8、 下面4句话中,最准确的表述是______。

A 程序=算法+数据结构 B 程序是使用编程语言实现算法

C 程序的开发方法决定算法设计 D 算法是程序设计中最关键的因素

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

A 结构化设计方法 B 模块化程序设计方法

C 面向对象的程序设计方法 D 数据结构优先原则

10、 计算机能直接执行的语言是______。

A 机器语言 B 汇编语言 C 高级语言 D 目标语言

11、 汇编程序的任务是______。

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

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

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

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

12、 世界上第一个高级语言是______。

A BASIC语言 B C语言 C FORTRAN语言 D PASCAL语言

13、 下面4种程序设计语言中,不是面向过程式语言的是______。

A FORTRAN B ALGOL C Ada D C++

14、 下面4种程序设计语言中,不是面向对象式语言的是______。

A JAVA B Object Pascal C Delphi D C

15、 C语言中,使用变量的要求是______。

A 要先定义后使用 B 要先使用后定义

C 不需要定义,可以直接使用 D 没有明确的要求

16、 不是C语言的基本数据类型是______。

A int B double C char D bool

17、 数据结构主要研究下面3方面的内容______。

A 数据的逻辑结构、存储结构和运算

B 数据的线性结构、树型结构和图结构

C 数据的顺序存储、链式存储和散列存储

D 数据的线性结构和非线性结构,以及相关运算

18、 数据的逻辑结构分为______。

A 线性结构和非线性结构 B 顺序结构和非顺序结构

C 树型结构和图型结构 D 链式结构和顺序结构

19、 数据的存储结构分为______。

A 线性存储结构和非线性存储结构 B 有序存储结构和非有序存储结构

C 树型存储结构和图型存储结构 D 链式存储结构和顺序存储结构

20、 线性表的典型特点是各个结点之间是______。

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、 队列的最主要特点是______。

A 先进先出 B 先进后出 C 两端进出 D 一端进一端出

26、 下面4句结论中只有一句是错误的,它是_____。

A 二叉树是树

B 二叉树的左右子树的位置可以颠倒

C 可以使用二叉树的思想对数值进行排序

D 可以采用链表方式存储二叉树

27、 采用链式存储的有序数据要进行查找,可以采用______。

A 顺序查找 B 折半查找 C 顺序索引查找 D 顺序或折半查找

28、 螺旋模型中包括需求定义、风险分析、工程实现和评审四个阶段,在开发过程中______。

A 每个周期都要包括这四个阶段 B 每个周期可以包括不同的阶段

C 在最后交付使用之前才进行评审 D 开项目开始时才需要进行风险分析

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

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

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

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

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

30、 在软件需求完全确定的情况下,应该采用的软件开发模型是______。

A 瀑布模型 B 渐进式开发模型 C 原型模型 D 螺旋模型

二、 填空题

1、 世界公认的第一台通用电子数字计算机是美国宾夕法尼亚大学莫尔学院的莫奇利和埃克特领导的科研小组建造的,取名为______。

2、 第一代电子计算机(1946~1958年)采用的基本逻辑元件是______。第二代电子计算机(1958~1964年)采用的基本逻辑元件是______。第三代电子计算机(1964~1974年)采用的基本逻辑元件是______。第四代电子计算机(1974年以后)采用的基本逻辑元件是______。

3、 世界上最早的高级程序设计语言是______。

4、 计算机按照工作原理进行分类可以分为______和______。

5、 当前计算机的最基本原理采用的是______。

6、 计算机存储器一般分为两级,它们是______和______。

7、 计算机系统中的软件包括______和______。

8、 计算机硬件通常由5大功能部件组成,它们是:______,______,______,______和______。

9、 计算机语言有3种类型,它们是______,______和______。

10、 高级语言源程序的翻译有两种方式,一种是______,另一种是______。

11、 微机中常用的高级语言主要有3类:t它们是______,______和______。

12、 程序设计过程的3个阶段是______,______和______。

13、 最基本的程序控制有三种,它们是______,______和______。这三种执行控制的任意组合和重复、嵌套就可以描述任意复杂的程序。

14、 C语言中分支语言是______语句和______语句。

15、 C语言中循环语言是______语句,______语句和______语句。

16、 C语言中自增运算符是______,求余数的运算符号是______。

17、 C语言中要改变循环语句的流程可以使用语句______,______和______。

18、 数据的______是指数据元素之间的逻辑关系,与数据的存储无关,它独立于计算机,如用户在电话号码表中的先后次序关系;数据的______是指数据元素在计算机存储设备中的存储方式。

19、 数据的存储结构可以用______和______。

20、 数据的逻辑结构可分为______和______两大类。

21、 常见的线性结构有______、______和______等,其主要特征为各个结点之间“先后”有序。

22、 常见的非线性结构包括______和______结构。

23、 树型结构的主要特征是结点之间存在着一种层次的关系,数据元素之间的关系是______的关系。在图型结构中,任何两个结点之间都可能存在着联系,数据元素之间存在着______的关系。

24、 对于一个线性表来说,如果它的表长为0,则我们称它为______表。

25、 若循环队列的头指针为front,尾指针为rear,rear指向队尾元素,front指向当前队头元素的前一个位置。则队空的条件是______,队满的条件是______,入队操作时队尾指针应进行的操作是______,出队时队头指针应进行的操作是______。

26、 在下树中:A结点度为______,B结点度为______,E结点的度为______,根结点为______,F结点的兄弟结点是______,F结点的双亲结点是______,树的深度为______。

27、 算法描述的常见方法是______,______和______。

28、 评价算法效率的主要指标是______和______。

29、 当前流行的程序设计方法是______和______。

30、 软件开发模型大体上可分为两种类型,第一种是______为前提的瀑布模型。第二种是在软件开发初始阶段______时采用的渐进式开发模型,如原型模型、螺旋模型等。

三、 简答题

1、名词解释:CAD,CAM,CAI,CPU,CASE。

2、简述计算机硬件与软件的关系。

3、简述计算机程序设计语言的分类和各类的特点。

4、冯·诺伊曼原理的主要思想是什么?

5、何谓算法?算法有什么性质?

6、执行高级语言编写的程序一般要经过怎样的编译过程?

7、高级语言解释执行的一般步骤是什么?解释执行有什么缺点?

8、请简要介绍面向过程式语言中的三种程序设计的基本结构。

9、什么是面向过程式语言?有什么特点?

10、结构化程序设计方法的主要技术是什么?

11、结构化程序设计的主要特征与风格是什么?

12、什么是软件?什么是软件工程?

13、在软件工程过程中围绕着工程设计、工程支持和工程管理应当遵循什么基本原则?

14、什么是软件的生存周期?如何划分软件的生存周期?

15、瀑布模型的主要思想和特点是什么?

16、快速原型法的主要思想和特点是什么?

四、程序设计

1、编写程序。小明有5本新书,要借给A、B、C三位小朋友,若每人每次只能借

一本,则可有多少种不同的借法?

2、编写程序。一辆卡车违犯交通规则,撞人后逃跑。现场有三人目击事件,但都没有记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两位不同;丙是位数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索求出车号。

3、编写程序。从键盘输入h值,输出h行用*号组成等腰三角形。例:输入 h=4,输出的图形如下:

*

* * *

* * * * *

* * * * * * *

4、编写程序。从键盘输入h值,输出h行用*号组成的菱形。例:输入h=4,输出的图形如下:

*

* * *

* * * * *

* * * * * * *

* * * * *

* * *

*

五、写出程序的运行结果

1、写出程序运行结果。

#include

main ( )

{ int a=3, b=7;

printf (\"%d\\n\ printf (\"%d\\n\ }

程序运行结果是:

/* ① */

/* ② */

2、阅读下面的程序并回答问题。

#include

main( )

{ int a,b,m,n;

scanf ( ”%d%d\

m = n = 1;

if (a>0) m = m+n;

if (aelse if(a==b) n = 5;

else n = m+n;

printf ( \"m=%d n=%d\\n\

}

为了输出 n=4,变量a和b应具备条件 。

3、阅读程序,写出程序的输出结果。

#include

main ( )

{ char i, j;

for ( i=’0’, j=’9’; iprintf(\"%c%c\

printf(\"\\n\");

}

运行结果是:

4、写出程序运行结果。

#include

main ( )

{ int a, b, c;

a=1; b=2; c=3;

if (a>b)

if (a>c)

printf(\"%d\

else printf (\"%d\

printf (\"%d\\n\

}

运行结果是:

5、阅读程序写出程序的输出结果。

#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++;

case 2: k=m++;

case 3: m++;

}

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

}

运行结果是:

6. #include

void main( )

{ int a=1,b=4,c=2;

a=(a+b)/c;

printf(“%d \\n”,--a);

}

运行结果:

7.

void main ( )

{ char c1=67; /*‘A’的ASCII码值为65 if (‘A’ <=c1 && c1<=’Z’)

printf(“%d,%c”,c1,c1+1);

else printf(“%c”,c1); }

运行结果:

8.

viod main ( )

{ int a=0, n=5;

*/

for ( ; ; )

{ a++; n--;

printf(“%d,”,a);

a=n;

if (n==0) break;

}

printf(“%d”,a);

}

运行结果:

9. main()

{ int k=10; char c=’b’;

do

swith(c++)

{ case ‘a’:k++;

case ‘b’:k--;

case ‘c’:k+=3;break;

case ‘d’:k=k%4;

}

while(c!=’c’);

printf(“%d\\n”,k );

}

运行结果:

10. #include

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

}

运行结果:

11、写出程序的运行结果。

#include

•• ••••main( )

•••• • { int a=2, b=-1, c=2;

•••••• if ( a•••••• if ( b<0 ) c=0;

•••••• else c+=1;

•• •••• printf (\"%d\\n\

•••• ••}

运行结果是:

12、阅读程序写出运行结果。

#include

main ( )

{ char ch;

ch = getchar ( );

switch ( ch )

{ case 65:

printf (”%c”, ’A’); case 66:

printf (”%c”, ’B’);

default:

printf (”%s\\n”, ”other”);

}

}

如程序可以正常运行,当从键盘输入字母A时,输出结果为 。

运行结果是:

因篇幅问题不能全部显示,请点此查看更多更全内容

Top