程序设计基础1.docx
《程序设计基础1.docx》由会员分享,可在线阅读,更多相关《程序设计基础1.docx(17页珍藏版)》请在冰豆网上搜索。
程序设计基础1
程序设计基础1
一、选择题
1、世界上第一台电子数字计算机研制成功的时间是(1946)年。
2、计算机的发展阶段通常是按计算机所采用的(逻辑元件)来划分的。
3、从第一代电子计算机到第四代计算机的体系结构都是相同的,都是由运算器、控制器、存储器以及输入/输出设备组成的,称为(冯.诺依曼)体系结构。
4、一个完整的计算机系统应该包括(硬件系统和软件系统)
5、主要决定微机性能的是(CPU)
6、计算机应用广泛,而其应用最广泛的领域是(数据处理)
7、计算机硬件系统中最核心的部件是(CPU)
8、计算机的主存食品一般由(ROM和RAM)组成,主存储器比辅存储器(读写速度快)
9、解释程序的功能是(解释执行高级语言程序)
10、下述所列程序中哪种程序不属于语言处理程序?
(操作系统)
11、在下列计算机语言中,哪个依赖于具体的机器?
(机器语言、汇编语言)
12、解释程序和编译程序同属于语言处理程序,下列关于它们的叙述中哪一个是正确的?
(解释程序产生目标程序)
13、计算机硬件能直接执行的语言只有(机器语言)
14下述语言
(1)JAVA
(2)FORTRAN(3)C哪个一般是编译型语言?
(
(2)和(3))
15、在软件方面、第一代计算机主要使用(机器语言)
16、计算机软件是指:
(计算机程序及其有关文档)
17、用高级语言编写的程序:
(具有通用性和可移植性)
二、填空题
1、计算机的五大应用领域是(科学计算)、(数据处理)、(过程控制)、(计算机辅助系统)和(人工智能)
2、总线是连接(CPU)、(存储器)和(外部设备)的公共信息通道。
通常由三部分组成:
(数据总线)、(地址总线)、(控制总线)
3、计算机是一类智能机器,这是因为它除了完成自述运算外,还能完成某些(逻辑运算)。
4、世界上第一台计算机取名为(ENIAC)
5、个人计算机简称PC,这种计算机属于(微)型计算机
6、目前制造计算机所采用的电子器件是(超大规模集成电路)
7、CPU是(中央处理器)的英文缩写,它主要由(运算器)和(控制器)组成
8、计算机的系统组成部分是(硬件系统)和(软件系统 )
9、计算机的硬件系统一般可分为(运算器)、(控制器)、(存储器)和(输入/输出设备)等几个部分。
10、计算机的存储器分为(主存)和(辅存)两类(或内存外存)
11、随机存储器和只读存储器的英文缩写分别为(RAM)和(ROM)
12、按工作原理分类,电子计算机分为(电子数字计算机)和(电子模拟计算机)
13、(操作系统 )是管理计算机软、硬件资源,为用户提供方便、高效使用界面的最重要的一种系统软件。
14、(图灵机)是现代计算机的抽象数学模型,奠定了现代计算机的基础,则是现代计算机的一种物理实现。
15、高级语言源程序的翻译方式包括(编译方式)和(解释方式)
16、按照语言的级别,程序设计语言分为(低级语言)和(高级语言);按照应用范围则分为(通用语言)和(高级语言)
三、问答题
1、计算机的主要特点是什么?
答:
1.运算速度快2.计算精度高3.存储容量大4.具有逻辑判断功能5.自动化程度高,通用性强
2、什么是系统软件和应用软件?
它们的作用有何不同?
答:
系统软件是为有效利用计算机系统的资源、充分发挥计算机系统的工作潜力、正常运行、尽可能方便用户使用计算机而编制的软件。
应用软件是用户利用计算机及其提供的系统软件,为解决实际问题所开发的软件的总称。
没有系统软件,计算机将难以发挥其功能,甚至无法工作。
而应用软件的存在与否并不影响整个计算机系统的运转,但它必须在系统软件的支持下才能工作。
3、简述程序设计过程包括哪些步骤?
答:
程序设计过程一般包括以下几个步骤
1、确定要解决的问题;2、分析问题,建立数学模型;
3、选择计算方法;4、确定数据结构和算法;
5、绘制流程图;6、编写程序;
7、调试并测试程序;8、整理资料,交付使用。
程序设计基础2
一、选择题
1、(数据)是所有能输入到计算机中被计算机加工处理的信息集合,(数据元素)是的基本单位,它可以由基本单位,它可以由若干个(数据项)和(数据结构)是性质相同的(数据元素)集合。
2、用链表表示线性的优点是:
便于插入和删除操作
3、下述哪一条是顺序存储方式的优点?
存储密度大
4、线性表的顺序存储结构是一种(顺序存储)的相信结构,线性表的链式存储结构是一种(随机存储)的存储结构。
5、在一个长度为n的顺序表中删除第i(0
6、线性表L=(a1,a2…an),下列说法正确的是:
除第一个元素和最后一个元素外,其余每个元素都有一个且仅有一个直接前驱和直接后继。
7、一个队列的人队序是1,2,3,4,则队列的输出序列是:
1,2,3,4.
8、若进栈序列为1,2,3,4,进栈过程中可以出栈,则(3,1,4,2)不可能是一个出栈序列
9、队列是限制插入只能在表的一端,而删除在表的另一商进行的线性表,其特点是:
先进先出
10、以下哪一个不是队列的基本运算?
从队列中删除第I个元素
11、栈和队列是一种限制了插入和删除操作位置的线性表。
栈插入操作只能在栈(顶)进行,删除操作只能在栈(顶)进行:
队列的插入操作只能在队(尾)进行,删除操作只能在队(首)进行。
12、某二叉权的前序编历结点的访问顺序是ABCDEFG,中序编历结点的访问顺序是CBDAFGE,则其后序编历结点的访问顺序是:
CDBGFEA
13、有关二叉树的下列说法正确的是:
一颗二叉树的度可以小于2
14、在二叉树结点的先序序列、中序序列和后序序列中,所有叶子结点的先后顺序:
完全相同
15、在一棵二叉树上第5层的结点数最多为:
16
16、在一个图中,所有顶点的度数之和等于所有边数的
(2)倍,在一个有向图中,所有的顶点入度之和等于所有顶点的出度之和的
(1)倍。
17、一个具有n个顶点的无向图中,要连通全部顶点至少需要(n-1)条边。
18、对一个具有n个顶点的图,采用邻接接矩阵表示则该矩阵的大小为:
n2
19、已知一个图如下所示,则从顶点a出发按深度优先搜索遍历可以等到的一种顶点序列为:
a,e,d,f,b,c
20、从未排序的序列中依次取出元素与已排序列中的元素作比较,将其放已入排序序列中的正确位置上,此方法称为:
直接插入排序
填空题:
1、数据结构包括的三个方面的内容是:
数据的(逻辑结构),数据的(存储结构),数据的(运算)。
2、当向一个顺序表插入一个元素时,从插入位置开始后的所有元素均需(向后移动)一个位置,移动过程是从(最后一个元素开始)向(后)依次移动每一个元素。
3、要从一个顺序表删除一个元素时,被删除之后的所有元素均需(向前移动)一个位置,移动过程是从(删除元素后的第一个元素开始)向(前)依次移动每一个元素。
4、在线性表的顺序存储中,元素之间的逻辑关系是通过(相对位置)决定的。
顺序表中逻辑上相邻的元素,物理位置(也)相邻。
5、线性表、栈和队列是(线性)结构,可以在线性表的(任意)位置插入和删除元素,而栈只能在(栈顶)插入和删除元素;对于队列只能在(队尾)插入元素,在(队首)删除元素。
6、栈的插入和删除只能在栈的(栈顶)进行,队列的插入和删除分别在(两)端进行,进行插入的一端叫做(队尾),进行删除的一端叫做(队首)。
7、对于一个具有n个结点的二叉树,当它为一棵(完全)二叉树时具有最小高度,当它为一棵单支树时具有(最大)高度。
8、设无向图G的顶点数为n,图G最少有(n-1)条边,最多有(n(n-1)/2)
简答题:
1、二叉树与树之间有什么区别?
一棵度为2的树与二叉树有什么区别?
答:
二叉树的度最大为2,而树的度无此限制。
在二叉树中,一个结点的子树有左、右之分,不能互换位置。
而度为2的树则无此限制。
2、写出对如图所示二叉树进行先序遍历、中序遍历、后序遍历时得到的顶点序列。
答:
先序遍历序列:
ABDEC
中序遍历序列:
DEBAC
后序遍历序列:
EDBCA
程序设计基础3
选择题与填空题
1.结构化程序流程图中一般包括三种基本结构,下述结构中哪一种不属于其基本结构(镶嵌结构)
2.程序设计语言的选择是顺利实施编程的重要基础,评价语言的因素很多,而其重要的选择依据是(语言的应用领域)
3.在软件工程中,软件测试的目的是(发现软件错误)
4.软件危机是软件产业化过程中出现的一种现象,下述现象中,(软件需求难以满足、软件开发成本提高、软件开发进度难以控制、软件质量不易保证)
5.软件工程的出现主要是由于(软件危机的出现)
6.算法的四种基本操作是(逻辑运算、算数运算、数据比较、数据传送)
7.算法的控制结构给出了算法的执行框架,她决定了算法中各种操作的执行(次序)
8.算法的控制结构有三种基本形式:
(顺序结构、选择结构、循环结构)
9.评价算法的综合性能最主要的是算法的(正确性)和(运行效果)
10、算法的隐匿性效率包括两方面,算法的(时间)复杂度和算法的(空间)复杂度。
11、结构化程序设计方法的主要技术是(自顶而下)和(逐步求精)
12、软件生命周期包括软件的(定义)、软件的(开发)和(使用与维护)软件3个部分。
13、软件定义时期主要包括(可行性分析)和(要求分析)两个阶段。
14、软件开发时期是具体设计和实现在前一时期定义的软件,它由(软件设计阶段、实现阶段、测试阶段)3个阶段组成。
15、软件工程的目标是可概括为生产具有(正确)性、(可用)性,以及(开销合宜)的产品。
16、常见的软件开发模型由(瀑布模型、快速原型法模型、螺旋模型)
简答题:
1、什么是算法?
它有哪几个重要特性?
简述三种算法的描述形式和特点。
答:
算法是用于求解某个特定问题的一些指令的集合。
算法的特性:
1.有穷性2.确定性3.可行性4.输入性5.输出性
用自然语言描述的算法通俗易懂,而且容易掌握,但算法的表达与计算机的具体高级语言形式差距较大,通常是用于介绍求解问题的一般算法。
伪代码是一种介于自然语言与计算机语言之间的算法描述方法。
它结构性较强,比较容易书写和理解,修改起来也相对方便。
其特点是不拘泥于语言的语法结构,而着重以灵活的形式表现被描述对象。
它利用自然语言的功能和若干基本控制结构来描述算法。
流程图也叫框图,它是是用各种几何图形、流程线及文字说明来描述计算过程的框图。
用流程图描述算法的优点是:
直观,设计者的思路表达得清楚易懂,便于检查修改。
2、什么是软件工程?
软件工程的目标是什么?
答:
软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。
软件工程的目标可概括为“生产具有正确性、可用性以及开销合宜的产品”。
3、软件开发模型有哪两类?
瀑布模型和速成原型法各有什么特点?
答:
软件开发模型大体上可分为两种类型:
第一种是以软件需求完全确定为前提的瀑布模型。
第二种是在软件开发初始阶段只能提供基本需求时采用的渐进式开发模型,如原型模型、螺旋模型等。
瀑布模型的主要特点是:
阶段间的顺序性和依赖性。
开发过程是一个严格的下导式过程,即前一阶段的输出是后一阶段的输入,每一阶段工作的完成需要确认,而确认过程是严格的追溯式过程,后一阶段出现了问题要通过前一阶段的重新确认来解决。
因此,问题发现得越晚解决问题的代价就越高。
快速原型法的最大特点是快捷,且避免了许多由于不同理解而造成的错误。
程序设计基础4
1、阅读下列程序,写出运行结果
1、#include
Voidmain()
{inta=1,b=4,c=2;
a=(a+b)/c;
printf(“%d\n”,--a);
}
答:
运行结果:
1
2、voidmain()
{charc1=67;/*’A’的ASCII码值为65*/
If(‘A’<=c1&&c1<=’Z’)
printf(“%d,%c”,c1,c1+1);
elseprintf(“%c”,c1);}
答:
运行结果:
67,D
3、viodmain()
{inta=0,n=5;
for(;;)
{a++;n--;
printf(“%d,”,a);
a=n;
if(n==0)break;
}
printf(“%d”,a);
}
答:
运行结果:
1、5、4、3、2、0
4、main()
{
intx=20,y=8;
printf("x=%d;y=%d",x+1,--y);
}
运行结果:
x=21;y=7
5、#include"stdio.h"
main()
{
intk=1,j=0;
while(k+j<=4)
{if(k>j)j=j+2;
elsek=k+2;}
printf("%d%d\n",k,j);
}运行结果:
32
6、main()
{
intx=10,y=10;
x=x+1;
y=y%3;
printf("x=%d;y=%d",x++,y);
}
运行结果:
x=11;y=1
8、main()
{
intm=5;
if(m++>5)printf("%d\n",m);
elseprintf("%d\n",m--);
}
运行结果:
6
9、#include"stdio.h"
main()
{
intj;
for(j=0;j<10;j++)
{if(j%2==0)continue;
printf("%d",j);
}
}
运行结果:
13579
三、编程题
1、从键盘输入3个整数,输出其中最大数。
答:
main()
{
inta,b,c,max;
printf(“Pleaseinput3integers:
\n”);
scanf(“%d%d%d”,&a,&b,&c);
max=a;
if(b>a)max=b;
if(c>x)max=c;
printf(“Max=%d”,max);
}
2、由36块砖,共36人搬,成年男子一次搬4块砖,成年女子一次搬3块砖,儿童两个人抬1块砖,恰好一次全部搬完,编程求出成年男子、成年女子和儿童各有多少人?
答:
main()
{
intx,y,z;
for(x=0;x<=36/4;x++)
for(y=0;y<=36/3;y++)
{
z=36-x-y;
if(4*x+3*y+z/2==36&&z%2==0)
printf(“x=%d,y=%d,z=%d”,x,y,z);
}
}
3、编写一程序,从键盘输入10个实数,计算并输出算数平均数
答:
main()
{
floatx,s=0;
for(i=0;i<10;i++)
{
scanf(“%f”,&x);
s=s+x;
}
printf(“Theaverageis%f”,s/10);
}
4、求方程ax2+bx+c=0的根。
其中abc由键盘输入,设b2-4ac>0
#include"math.h"
main()
{
floata,b,c,disc,x1,x2,x3,p,q;
printf("pleaseinputfloata,b,c:
\n");
scanf("%f%f%f",&a,&b,&c);
disc=b*b-4*a*c;
p=-b/(2*a);
q=sqrt(disc)/(2*a);
x1=p+q;
x2=p-q;
printf("x1=%5.2f,x2=%5.2f\n",x1,x2);
}
5、编写程序。
从键盘输入h值,输出h行用*号组成的平行四边形。
例:
输入h=4,输出的图形如下:
****
****
****
****
答:
main()
{inth,k,j;
scanf("%d",&h);
for(k=1;k<=h;k++)
{for(j=1;j<=h-k;j++)
printf("");
for(j=1;j<=h;j++)
printf("*");
printf("\n");
}
}
7、利用穷举法编写一个算法判断给定的正整数n是否是素数,即判断n是否只能被1和自身整除。
答:
#include"math.h"
main()
{
intm,i,k;
scanf("%d",&m);
k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0)break;
if(i>=k+1)
printf("%disaprimenumber\n",m);
else
printf("%disnotaprimenumber\n",m);
}
“程序设计基础”练习题
一、单项选择题
1、计算机发展的分代史中通常划分时代的标准是以计算机所采用的______。
A逻辑元件B程序设计语言C操作系统发展D硬件运算速度
2、当前广泛使用的微型计算机是______。
A第一代B第二代C第三代D第四代
3、我们将组成计算机系统的所有电子和机械装置称为______。
A硬件B软件C系统D机器
4、当代计算机的体系结构称为是______。
A冯•诺依曼机B非冯•诺依曼机C图灵机DPASCAL机
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、世界上第一个高级语言是______。
ABASIC语言BC语言CFORTRAN语言DPASCAL语言
13、下面4种程序设计语言中,不是面向过程式语言的是______。
AFORTRANBALGOLCAdaDC++
14、下面4种程序设计语言中,不是面向对象式语言的是______。
AJAVABObjectPascalCDelphiDC
15、C语言中,使用变量的要求是______。
A要先定义后使用B要先使用后定义
C不需要定义,可以直接使用D没有明确的要求
16、不是C语言的基本数据类型是______。
AintBdoubleCcharDbool
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年)采用的基本逻辑元件是______。
第