admin 管理员组文章数量: 1086019
2024年12月30日发(作者:java数据库根据id查询)
电大程序设计基础复习题
Last updated on the afternoon of January 3, 2021
《程序设计基础》题库
一、 填空题
1. 总线通常由3部分组成:(数据)总线、(地址)总线和控制总线。
2. (流程图)算法描述方法是用规定式样的几何图形、流程线及文字说明组合起
来表示算法的框图。
3. 在数据结构的指定位置上添加一个新结点称为(插入)运算操作。
4. while语句与do-while语句的区别是(while中的循环体可能一次也不执行,而
do-while中的循环体至少执行一次)。
5. 采用链式存储的有序数据要进行查找,可以采用(顺序查找)。
6. 队列的最主要特点是(先进先出)。
7. (过程式)语言是通过知名一系列可执行的运算及运算的次序来描述计算过程
的语言。
8. 软件系统按其功能可分为(系统)软件和(应用)软件两大部分。
9. 冯·诺依曼型计算机的两大特征是(程序存储)和(采用二进制)。
10. 计算机语言有三种类型:(机器)语言、(汇编)语言和(高级)语言。
11. (过程式)语言,也叫命令式语言或强制式语言。
12. (过程式)语言是通过知名一系列可执行的运算及运算的次序来描述计算过程
的语言。
13. 微机中常用的高级语言主要有三类:面向(过程)的程序设计语言、数据库语
言和面向(对象)的程序设计语言。
14. 高级语言程序翻译成机器语言程序一般有两种方法:(编译)方式和解释方
式。
15. 我们用(时间复杂度)和(空间复杂度)来度量算法的运行效率。
二、 选择题
1. 以下各标识符组中,合法的用户标识符是()。C
A.3A3?B.KEY%
C._ABC?D.char
1. 以下哪种类型语言的表达方式更接近人类自然语言()C
A. 汇编语言
B. 机器语言
C. 高级语言
D. 低级语言
2. 以下哪个系统是为了运行、管理、维护和使用计算机而编写的各种程序(包
括文档)的总和。()B
A. 硬件系统
B. 软件系统
C. 总线系统
D. 操作系统
3. C语言中,取地址采用运算符()C
A. &&
B. ||
C. &
D. !
4. 如果i的初值为3,则k=(++i)+(++i);结果k的值为()D
A.
B.
C.
D.
6
8
7
10
5. 下面结论中()是错误的。B
A. 二叉树是树
B. 二叉树的左右子树的位置可以颠倒
C. 可以使用二叉树的思想对数值进行排序
D. 可以采用链表方式存储二叉树
6. 计算机发展的分代史中通常划分时代的标准是以计算机所采用的_____。A
A逻辑元件B程序设计语言C操作系统发展D硬件运算速度
7. 世界上第一台电子数字计算机研制成功的时间是______。B
A1936年B1946年C1956年D1970年
8. CASE的含义是______。D
A计算机辅助设计
C计算机辅助教学
器
9. 硬盘是______。C
A输入设备B输出设备C存储设备D计算设备
10. 系统软件的核心软件是______。A
A操作系统B编译程序C汇编程序D机器语言
11. 下面4句话中,最准确的表述是______。A
A程序=算法+数据结构 B程序是使用编程语言实现算法
B计算机辅助制造
D计算机辅助软件工程
C程序的开发方法决定算法设计 D算法是程序设计中最关键的因素
12. 程序设计要遵循一定的开发方法及思想,以下有一个不是程序设计过程中应
该遵循的开发方法,它是______。D
A结构化设计方法
B模块化程序设计方法
D数据结构优先原则 C面向对象的程序设计方法
13. 计算机能直接执行的语言是______。A
A机器语言 B汇编语言 C高级语言 D目标语言
14. 世界上第一个高级语言是______。C
ABASIC语言
BC语言 CFORTRAN语言
DPASCAL语言
15. 下面4种程序设计语言中,不是面向过程式语言的是______。D
AFORTRAN BALGOL CAda DC++
16. 下面4种程序设计语言中,不是面向对象式语言的是______。D
AJAVA
DC
17. 栈的最主要特点是______。B
A先进先出
一端出
18. 队列的最主要特点是______。A
A先进先出
一端出
19. 下面4句结论中只有一句是错误的,它是_____。B
A二叉树是树
B先进后出 C两端进出 D一端进
B先进后出 C两端进出 D一端进
BObjectPascal CDelphi
B二叉树的左右子树的位置可以颠倒
C可以使用二叉树的思想对数值进行排序
D可以采用链表方式存储二叉树
20. 采用链式存储的有序数据要进行查找,可以采用______。A
A顺序查找
折半查找
21. 螺旋模型中包括需求定义、风险分析、工程实现和评审四个阶段,在开发过
程中______。A
A每个周期都要包括这四个阶段
C在最后交付使用之前才进行评审
险分析
22. 关于计算机程序的错误说法是______。B
B每个周期可以包括不同的阶段
D开项目开始时才需要进行风
B折半查找 C顺序索引查找 D顺序或
A程序是按照工作步骤事先编排好的、具有特殊功能的指令序列
B运行在硬件系统之上的软件应该采用高级语言编写
C在现代的计算机系统中程序采用二进制形式存储
D同一计算机系统可以完成不同的功能是因为执行了不同的程序
23. 程序设计过程中的三要素是______。A
A算法、数据结构和程序设计方法学
C输入、操作处理和输出
处理
24. JAVA语言的类别是______。C
B数据、算法和数据结构
D数据、数据结构和
A面向过程的程序设计语言 B面向问题的程序设计语言
C面向对象的程序设计语言 D面向硬件的程序设计语言
25. 在C语言中,字符串常量的定界符是______。C
A空格 B单引号 C双引号 D方括号
26. C语言中int变量能够表示的数值范围是______。B
A-32767~32768 B-32768~32767 C0~65535 D0~65536
27. C语言中的循环控制语句中属于“直到型”循环的语句是______。D
Agoto Bwhile Cfor Ddo-while
28. 数据的存储结构分为两种,它们是______。B
A线性存储和数组存储
C线性存储和树型存储
B顺序存储和链式存储
D数组存储和指针存储
29. 如果在内存中采用链式保存线性表,则元素之间的逻辑关系通过______。B
A元素在内存中的相对位置表示逻辑次序
B保存在元素中的指针表示先后次序
C设立单独的区域存储元素之间的逻辑次序
D元素本身的关键字来表示逻辑次序
30. 栈的逻辑结构是______。B
A集合
构
31. 若按照一定的顺序依次访问树中的每一个结点,而且每个结点只被访问一
次,则称这样的操作为______。C
A排序 B查找 C遍历 D建立
B线性结构 C树型结构 D图型结
32. 进行顺序查找的条件是______。D
A数据有序且采用顺序存储方式
C数据有序且采用链式存储方式
式
B数据不需要有序,但需要顺序存储
D数据不需要有序,也不限制存储方
33. 早期进行程序开发过程中存在不少问题,在下列问题中有一个并不是早期程
序员常见的问题,它是______。D
A程序员过分依赖技巧与天分,不太注重所编写程序的结构
B程序中的控制随意跳转,不加限制地使用goto语句
C无固定程序设计方法
D对问题的抽象层次不够深入
34. 如果在进行单元测试的时候发现错误,则针对该被发现的错误,可以判
断在整个软件开发过程最可能出现错误的阶段是______。C
A需求分析
三、 问答题
1. 下图是一种什么类型的数据结构A结点度为多少E结点的度为多少根结点是哪
个结点F结点的兄弟结点和双亲结点分别是哪些结点
一般的树,3,0,A,E,B
2. 用流程图描述求3个正整数中最大值的算法
B概要设计 C详细设计 D单元测试
开始
输入a,b,c
a值赋予max
b>max?
N
Y
b值赋予max
N
c>max?
Y
C值赋予max
输出max
结束
3. 简述计算机程序设计语言的分类和各类的特点。
一般分为三类:机器语言(也称机器指令集),汇编语言和高级语言。
机器语言是每台计算机出厂时,厂家都为它配备一套机器语言,不同的计算机,
其机器语言通常是不同的。由于机器语言是面向具体机器的,所以其程序缺乏通用
性,编写程序的过程繁琐复杂,易出错,错了又不易查找和修改,编出的程序可读性
极差。
汇编语言是机器语言的符号化形式。用汇编语言编写的程序(又称源程序)经汇
编器加工处理后,就转换成可由计算机直接执行的目标程序。汇编语言提高了程序设
计效率和计算机利用率。汇编语言仍属面向机器的一种低级语言,其程序的通用性和
可读性较差。
高级程序设计语言是指通用性好,不必对计算机的指令系统有深入的了解就可以
编写程序。采用高级语言编写的程序在不同型号的计算机上只需做某些微小的改动便
可运行,只要采用这些计算机上的编译程序重新编译即可。高级语言具有通用性,与
具体的机器无关
4. 请写出下面二叉树的先根遍历、中根遍历和后根遍历序列。
5. 请分别写出下面二叉树的先根遍历、中根遍历和后根遍历
A
B C
D
四、 完善程序
1. 用递归方法求1到10的阶乘
#include<>
longfactorial(intn)
{longresult;
if(n==0)
result=1;
else
result=;
returnresult;
}
voidmain()
{intj;
for(j=0;j<10;j++)
printf(“%d”,);
}
n*factorial(n-1),factorial(j+1)
E F
2. 输入一个整数,计算并显示其绝对值
#include<>
voidmain()
{intx;
printf(“Input:”);
scanf(“%d”,);
=(x>0?;-x);
printf(“Theabsofxis:%d”,x);
}
&x,x,x
3. 输入三个整数,然后按由小到大的次序输出
#include<>
Voidmain()
{inta,b,c,temp;
printf("pleaseinput:");
scanf("%d,%d,%d",&a,&b,&c);
if(a>b)
{temp=a;
a=b;
b=temp;
}
if(b>c)
{temp=b;
b=;
c=temp;
}
if()
{temp=a;
a=b;
b=temp;
}
printf("result:%d,%d,%d",);
}
}
c,a>b,a,b,c
4. 以下程序可以实现从键盘输入一串数字(要求输入的数要在长整型数值范围之
内),然后以相反的顺序将它们输出,例如,输入12345,输出54321,请填
空。
voidmain()
{
longintnum,n;
printf("请输入数字n");
scanf("%d",&num);
do
{
n=________;
printf("%d",n);
num=________;
}while(num!=0);
}
num%10num/10
a) 阅读程序,写出运行结果
1. 以下程序的输出结果是__________。
voidmain()
{
intx=17,y=26;
printf("%dn",y/=(x%6));
}
5
2. 以下程序的输出结果是。
voidmain()
{
intx=0,y=5,z=5;
if(x=y-z)
printf("0000");
else
printf("1111");
}
1111
3. 定义:intx=2,y=3;则下面表达式的值及运算后变量x、y和z的值是多少?
4.
(x++)*(--y)
表达式的值为:4
x=3
y=2
5. 定义:intx=2,y=3;则下面表达式的值及运算后变量x、y和z的值是多少?
6.
(++x)*(--y)
表达式的值为:6
x=3
y=2
五、 改错
1. 下列程序的功能是实现1+2+3+……+10。请改正错误(不能增减语句)。
voidmain()
{
inti,s;
for(i=1,i<=10);
{
s+=i;
i+1;
}
printf("s=%dn",s);
}
改:
voidmain()
{
inti,s=0;
for(i=1;i<=10;)
{
s+=i;
i++;
}
printf("s=%dn",s);
}
2. 请修改found提示下的一行代码(其他行不能动),使程序没有语法错误。
voidmain()
{
/************found****************/
intc,d;
scanf("%d,%d",c,d);
e=c+d;
printf("%d",e);
}
改:
voidmain()
{
/************found****************/
intc,d,e;
scanf("%d,%d",&c,&d);
e=c+d;
printf("%d",e);
}
3. 请修改found提示下的一行代码(其他行不能动),使程序没有语法错误。
voidmain()
{
inta=1,b=5;
/************found**************/
IFa
b=a+1;
else
b=1;
printf("%d,%dn",a,b);
}
改:
voidmain()
{
inta=1,b=5;
/************found**************/
if(a
b=a+1;
else
b=1;
printf("%d,%dn",a,b);
}
六、 编写程序
1. 从键盘输入三个不相等的数A、B、C,把它们按由大至小的顺序排列出来。
voidmain()
{
floata,b,c,m;
scanf("%f%f%f",&a,&b,&c);
if(a
{m=a;a=b;b=m;}
if(a {m=a;a=c;c=m;} if(b {m=b;b=c;c=m;} printf("%f>%f>%f",a,b,c); } 2. 将一个数组的元素首尾倒置(本题15分) #include<> voidmain() { floata[10]; intk,m; printf(“nInputarray:”); for(k=0;k<10;k++) scanf(“%f”,&a[k]); for(k=0,m=9;k { floattemp=a[k]; a[k]=a[m]; a[m]=temp; } for(k=0;k<10;k++) printf(“%f,”,a[k]); } 3. 一辆卡车违犯交通规则,撞人后逃跑。现场有三人目击事件,但都没有记住车 号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照 的后两位数字是相同的,但与前两位不同;丙是位数学家,他说:四位的车号 刚好是一个整数的平方。请根据以上线索求出车号。 #include”" main() {inti,j,k,m; for(i=1;i<=9;i++)/*i:车号前二位的取值*/ for(j=0;j<=9;j++)/*j:车号后二位的取值*/ if(i!=j){/*判断两位数字是否相异*/ k=i*1100+j*11; for(m=31;m*m /*判断是否为整数的平方*/ if(m*m==k) printf("%d.n",k); } } 4. 从键盘输入h值,输出h行用@号组成等腰三角形。例:输入h=4,输出 的图形如下: @ @@@ @@@@@ @@@@@@@ #include<> main() {inth,k,j; scanf(”%d”,&h); for(k=1;k<=h;k++)/*控制打印h行*/ {for(j=1;j<=h-k;j++)/*打印空格*/ printf(””); for(j=1;j<=2*k-1;j++)/*打印*号*/ printf(”@”); printf(”n”); } } 5. 从键盘输入h值,输出h行用#号组成等腰三角形。例:输入h=4,输出 的图形如下: # ### ##### ####### #include<> main() {inth,k,j; scanf(”%d”,&h); for(k=1;k<=h;k++)/*控制打印h行*/ {for(j=1;j<=h-k;j++)/*打印空格*/ printf(””); for(j=1;j<=2*k-1;j++)/*打印*号*/ printf(”#”); printf(”n”); } } 6. 请编程序打印出一张乘法“九九表”。表的样式如下: 9 141618 369 486 5045 6854 main() {inti,j; for(i=1;i<10;i++) {for(j=1;j<10;j++)printf("%4d",i*j); printf("n"); }
版权声明:本文标题:电大程序设计基础复习题 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1735641990a1682406.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论