文档介绍:该【电大程序设计基础复习题 】是由【雨林书屋】上传分享,文档一共【10】页,该文档可以免费在线阅读,需要了解更多关于【电大程序设计基础复习题 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。《程序设计基础》题库
一、填空题
:(数据)总线、(地址)总线和控制总线。
(流程图)算法描述方法是用规定式样的几何图形、流程线及文字说明组合起来表示算法的框图。
在数据结构的指定地址上增加一个新结点称为(插入)运算操作。
while语句与do-while语句的差别是(while中的循环体可能一次也不执行,而do-while
中的循环体最少执行一次)。
,可以采纳(次序查找)。
(先进先出)。
(过程式)语言是经过有名一系列可执行的运算及运算的次序来描述计算过程的语言。
软件系统按其功能可分为(系统)软件和(应用)软件两大部分。
冯·诺依曼型计算机的两大特色是(程序储存)和(采纳二进制)。
计算机语言有三各种类:(机器)语言、(汇编)语言和(高级)语言。
(过程式)语言,也叫命令式语言或强迫式语言。
(过程式)语言是经过有名一系列可执行的运算及运算的次序来描述计算过程的语言。
微机中常用的高级语言主要有三类:面向(过程)的程序设计语言、数据库语言和面向(对象)的程序设计语言。
高级语言程序翻译成机器语言程序一般有两种方法:(编译)方式和解说方式。
我们用(时间复杂度)和(空间复杂度)来胸襟算法的运转效率。
二、选择题
以下各表记符组中,合法的用户表记符是(?)。C
?%??
以下哪一各种类语言的表达方式更凑近人类自然语言()C
汇编语言
机器语言
高级语言
初级语言
以下哪个系统是为了运转、管理、保护和使用计算机而编写的各种程序(包含文档)的总
和。()B
硬件系统
软件系统
总线系统
操作系统
C语言中,取地址采纳运算符()C
&&
||
&
!
,则k=(++i)+(++i);结果k的值为()D
6
8
7
10
下边结论中()是错误的。B
本源于网络
二叉树是树
二叉树的左右子树的地址可以颠倒
可以使用二叉树的思想对数值进行排序
可以采纳链表方式储存二叉树
。A
A逻辑元件B程序设计语言C操作系统发展D硬件运算速度
世界上第一台电子数字计算机研制成功的时间是______。B
A1936年B1946年C1956年D1970年
CASE的含义是______。D
A计算机辅助设计B计算机辅助制造
C计算机辅助教课D计算机辅助软件工程
器
硬盘是______。C
A输入设备B输出设备C储存设备D计算设备
系统软件的核心软件是______。A
A操作系统B编译程序C汇编程序D机器语言
下边4句话中,最正确的表述是______。A
A程序=算法+数据结构B程序是使用编程语言实现算法
C程序的开发方法决定算法设计D算法是程序设计中最要点的因素
程序设计要依据必定的开发方法及思想,以下有一个不是程序设计过程中应该依据的开发方法,它是______。D
A结构化设计方法B模块化程序设计方法
C面向对象的程序设计方法D数据结构优先原则
计算机能直接执行的语言是______。A
A机器语言B汇编语言C高级语言D目口号言
世界上第一个高级语言是______。C
ABASIC语言
BC语言
CFORTRAN语言
DPASCAL语言
15.
下边4种程序设计语言中,不是面向过程式语言的是
______。D
AFORTRAN
BALGOL
CAda
DC++
16.
下边4种程序设计语言中,不是面向对象式语言的是
______。D
AJAVA
BObjectPascal
CDelphi
DC
栈的最主要特色是______。B
A先进先出B先进后出C两端进出D一端进一端出
队列的最主要特色是______。A
A先进先出B先进后出C两端进出D一端进一端出
,它是_____。B
二叉树是树
二叉树的左右子树的地址可以颠倒
可以使用二叉树的思想对数值进行排序
可以采纳链表方式储存二叉树
采纳链式储存的有序数据要进行查找,可以采纳______。A
A次序查找B折半查找C次序索引查找D次序或折半查找
、风险解析、工程实现和评审四个阶段,在开发过程中______。
A
A每个周期都要包含这四个阶段B每个周期可以包含不一样的阶段
C在最后交付使用从前才进行评审D开项目开始时才需要进行风险解析
本源于网络
关于计算机程序的错误说法是______。B
程序是依据工作步骤早先编排好的、拥有特别功能的指令序列
运转在硬件系统之上的软件应该采纳高级语言编写
在现代的计算机系统中程序采纳二进制形式储存
同一计算机系统可以完成不一样的功能是因为执行了不一样的程序
程序设计过程中的三因素是______。A
A算法、数据结构和程序设计方法学B数据、算法和数据结构
C输入、操作办理和输出D数据、数据结构和办理
JAVA语言的种类是______。C
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线性储存和数组储存
B次序储存和链式储存
C线性储存和树型储存
D数组储存和指针储存
29.
假如在内存中采纳链式保存线性表,则元素之间的逻辑关系经过
______。B
元素在内存中的相对地址表示逻辑次序
保存在元素中的指针表示先后次序
成立单独的地域储存元素之间的逻辑次序
元素自己的要点字来表示逻辑次序
栈的逻辑结构是______。B
A会集B线性结构C树型结构D图型结构
,并且每个结点只被接见一次,则称这样的操作为______。C
A排序B查找C遍历D成立
进行次序查找的条件是______。D
A数占有序且采纳次序储存方式B数据不需要有序,但需要次序储存
C数占有序且采纳链式储存方式D数据不需要有序,也不限制储存方式
,在以下问题中有一个其实不是初期程序员常有的问题,它是______。
D
程序员过分依赖技巧与天分,不太侧重所编写程序的结构
B程序中的控制随意跳转,不加限制地使用goto语句
无固定程序设计方法
对问题的抽象层次不够深入
假如在进行单元测试的时候发现错误,则针对该被发现的错误,可以判断在整个软件开发过程最可能出现错误的阶段是______。C
A需求解析B大纲设计C详细设计D单元测试
三、问答题
以下图是一种什么种类的数据结构?A结点度为多少?E结点的度为多少?根结点是哪个结点?F结点的兄弟结点和双亲结点分别是哪些结点?
一般的树,3,0,A,E,B
本源于网络
开始
输入a,b,c
a值给予max
N
b>max?
Y
b值给予max
N
c>max?
Y
C值给予max
输出max
结束
简述计算机程序设计语言的分类和各种的特色。
一般分为三类:机器语言(也称机器指令集),汇编语言和高级语言。
机器语言是每台计算机出厂时,厂家都为它装备一套机器语言,不一样的计算机,其机器语言通
常是不一样的。因为机器语言是面向详细机器的,因此其程序缺少通用性,编写程序的过程繁琐复杂,易出错,错了又不易查找和改正,编出的程序可读性极差。
汇编语言是机器语言的符号化形式。用汇编语言编写的程序(又称源程序)经汇编器加工办理后,就变换成可由计算机直接执行的目标程序。汇编语言提升了程序设计效率和计算机利用率。汇编语言仍属面向机器的一种初级语言,其程序的通用性和可读性较差。
高级程序设计语言是指通用性好,不用对计算机的指令系统有深入的认识就可以编写程序。采
用高级语言编写的程序在不一样型号的计算机上只要做某些细小的改动即可运转,只要采纳这些计算机上的编译程序重新编译即可。高级语言拥有通用性,与详细的机器没关
请写出下边二叉树的先根遍历、中根遍历和后根遍历序列。
请分别写出下边二叉树的先根遍历、中根遍历和后根遍历
A
BC
DEF
四、完美程序
用递归方法求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)
输入一个整数,计算并显示其绝对值
#include<>voidmain( )
{intx;
printf(“Input:”);
scanf(“%d”,);
=(x>0?;-x);
printf(“Theabsofxis:%d”,x);
}
&x,x,x
输入三个整数,而后按由小到大的次序输出
#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",);
本源于网络
}
}
,a>b,a,b,c
以下程序可以实现从键盘输入一串数字(要求输入的数要在长整型数值范围以内),而后以相反的次序将它们输出,比方,输入12345,输出54321,请填空。
voidmain( )
{
longintnum,n;
printf("请输入数字\n");
scanf("%d",&num);
do
{
?????n=________;
?????printf("%d",n);
?????num=________;
}while(num!=0);
}
num%10num/10
阅读程序,写出运转结果
以下程序的输出结果是__________。voidmain( )
{
intx=17,y=26;
printf("%d\n",y/=(x%6));
}
5
?。
voidmain( )
{
intx=0,y=5,z=5;
if(x=y-z)
?????printf("0000");
else
?????printf("1111");
}
1111
:intx=2,y=3;则下边表达式的值及运算后变量x、y和z的值是多少?
(x++)*(--y)
表达式的值为:4
x=3
y=2
:intx=2,y=3;则下边表达式的值及运算后变量x、y和z的值是多少?
(++x)*(--y)
表达式的值为:6
x=3
y=2
本源于网络
五、改错
以下程序的功能是实现1+2+3++10。请改正错误(不可以增减语句)。
voidmain( )
{
inti,s;
for(i=1,i<=10);
{
?????s+=i;
?????i+1;
}
printf("s=%d\n",s);
}
改:
voidmain( )
{
inti,s=0;
for(i=1;i<=10;)
{
?????s+=i;
?????i++;
}
printf("s=%d\n",s);
}
请改正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);
}
请改正found提示下的一行代码(其余行不可以动),使程序没有语法错误。voidmain( )
{
????inta=1,b=5;
本源于网络
/found/
IFa<b
?????b=a+1;
else
?????b=1;
printf("%d,%d\n",a,b);
}
改:
voidmain( )
{
inta=1,b=5;
/found/
if(a<b)
?????b=a+1;
else
?????b=1;
printf("%d,%d\n",a,b);
}
六、编写程序
从键盘输入三个不相等的数A、B、C,把它们按由大至小的次序摆列出来。voidmain( )
{
floata,b,c,m;
scanf("%f%f%f",&a,&b,&c);
if(a<b)
{m=a;a=b;b=m;}
if(a<c)
{m=a;a=c;c=m;}
if(b<c)
{m=b;b=c;c=m;}
printf("%f>%f>%f",a,b,c);
}
将一个数组的元素首尾倒置(本题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<m;k++,m--)
{
floattemp=a[k];
a[k]=a[m];
a[m]=temp;
本源于网络
}
for(k=0;k<10;k++)
printf(“%f,”,a[k]);
}
一辆卡车违反交通规则,撞人后逃跑。现场有三人目击事件,但都没有记住车号,只记下车号的一些特色。甲说:牌照的前两位数字是同样的;乙说:牌照的后两位数字是同样的,但与前两位不一样;丙是位数学家,他说:四位的车号恰巧是一个整数的平方。请依据以上线索
求出车号。
#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<k;m++);
/*判断能否为整数的平方*/
if(m*m==k)
printf("%d.\n",k);
}
}
,输出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”);
}
}
,输出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”);
}
}
请编程序打印出一张乘法“九九表”。表的款式以下:
123456789
24681012141618
{inti,j;
for(i=1;i<10;i++)
{for(j=1;j<10;j++)printf("%4d",i*j);printf("\n");
}
本源于网络