ImageVerifierCode 换一换
格式:DOCX , 页数:30 ,大小:684.24KB ,
资源ID:9499940      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9499940.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机软件基础一真题和答案 及重点解析.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算机软件基础一真题和答案 及重点解析.docx

1、计算机软件基础一真题和答案 及重点解析2012年4月一、单项选1在绘制程序流程图时,表示“条件判断”的符号是【 】 A B C D 2下列运算符中优先级别最高的是【 】 Ayear B.d.day C.p-month D.*p).year 7在下列时间复杂度中,最大的是【 】 A.O(n) B.O(n log2 n) C.O() D. O()8在长度为n的链表的第i个节点后插入一个新节点,需要移动的节点数是【 】 A.O B.i C.n-i D.n-i+19下列关于循环队列的叙述中,正确的是【 】 A队头指针固定不变,队尾指针随队列长度变化 B队尾指针固定不变,队头指针随队列长度变化 C队头指

2、针可以大于队尾指针,也可以小于队尾指针 D队头指针只能小于等于队尾指针,两者的差值为队长10下列关于哈夫曼树的叙述中,错误的是【 】 A哈夫曼树中没有度为1的节点 B哈夫曼树是带权路径长度最小的二叉树 c一组互不相同的权值可唯一确定一棵哈夫曼树 D哈夫曼树的节点总数等于叶节点数的2倍减l1 1下图中不同的最小生成树的个数是【 】A2 B.3 C4 D5 题1 1图12. F列关于折半查找算法的叙述中,正确的是【 】 A可以用于有序的顺序表,也可以用于有序的链表 B可以用于有序的顺序表,但不能用于有序的链表 c可以用于无序的顺序表,也可以用于无序的链表 D可以用于无序的顺序表,但不能用于无序的链

3、表13如果说一个排序算法是稳定的,则它的含义是【 】 A待排序记录的关键字均互不相同 B关键字相同的记录在排序前后的相对位置不变 c该排序算法既可用于内排序,也可用于外排序 D该排序算法既可用于顺序存储,也可用于链式存储1 4在绘制数据流图时,表示“加工的符号是【 】 A矩形 B圆形 C平行线 D带箭头的弧线15对模块内部的处理流程进行具体设计,属于【 】 A需求分析 B总体设计 C详细设计 D编码二、填空题(本大题共1 0小题,每小题2分,共20分)1 6已知int a=5,b=8,c;表达式C=a/b*b的值是_。17 .语言中强制退出当前循环可使用的语句是_。1 8已知char a=A;

4、语句printf(%c,a+3);的输出结果是_。19已知char sl20=Good, *s2=Luck!;函教strlen(strcat (sl, s2)的值是_。20如下图所示的循环单链表中,指针p指向链表中任一节点。要判断指针p是否指向头节点,可使用的表达式是_。2 1对以下二叉树进行后序遍历,得到的序列是_。 题21图22具有n个顶点的完全无向图,其顶点的度之和是_。23直接选择排序的时间复杂度为_。24在软件工程中,软件=呈序+数据+_。25如果不考虑程序的内部实现细节,只从功能上对程序进行检测,考察其是否能够达到预期的要求,这种测试方法称为_。三、解答题(本大题共4小题j每小题4

5、分,共16分)26-用N-S图描述下列函数的程序流程。28已知有向图如下: 请写出该图的全部拓扑排序序列。29.已知序列(20, 15, 18, 30, 25, 70, 80, 65),按给定顺序构造一棵二叉排序树,并给出成功查找时的平均查找长度。30.请写出下列程序的输出结果。31.请写出下列程序的输出结果。32.下列程序的功能是输出高度为h的三角形。下图是h等于4时的输出。33.五、程序设计题(本大题共2小题,每小题9分,共1 8分)34编写程序:从键盘输入一个浮点数a(ao),利用迭代公式计算x=。迭代公式如下:要求:当的绝对值小于是迭代结束,输出结果。35.35设二叉树以二叉链表进行存

6、储,节点结构如F:其中data的数据类型为int ,要求:(1)请给出该二叉树节点类型的C语言描述;(2)编写一个递归函数count2计算给定二叉树中度为2的节点。2012年4月答案一、单项选择题(本大题共15小题,每小题2分,共30分) 1D 2B 3D 4A 5C 6A 7D 8A 9C 10.C 11.A 12.B 13.B 14.B 15.C二、填空题(本大题共10小题,每小题2分,共20分) 16.0 17. break(或goto) 18.D 19.9 20.p!=head(或phead) 21. d b e g f c a 22. n(n-1) 23. O(n2) 24.文档 2

7、5.黑盒测试(或黑盒法,或功能测试)三、解答题(本大题共4小题,每小题4分,共16分) 【评分参考】正确画出while循环给1分;正确画出if语句给1分;正确画出do-while 循环给1分;其他部分正确给1分?27.【参考答案1】 (1)栈空的判断条件是:stop=-1;(2)void pop(s,x) if( s.top=-1)下溢; else x=s.datas.top-;【参考答案2】(1) 栈空的判断条件是:s.top=0;(2)void pop(s,x) if( s.topO)下溢; else s.top一; x= s.datas.top; 28序列1:a b c d e f 序列

8、2:a b c e d f 序列3:a c b d e f 序列4:a c b e d f29. 平均查找长度=(1+2*2+3 *3+2*4)8=228=2.75 (1分)四、程序分析题(本大题共4小题,每小题4分,共16分) 30.结果输出为:156,89,55,72 (每个输出1分) 31.结果输出为:64,79,15,180 (每个输出1分) 32.&h (1分) h (1分) h-k (1分)2*k-l (1分)计算机软件基础(一)重点解析一、填空题1程序设计的关键在于设计出一个好的算法 。2数据、数据节点和数据项构成了数据组织的三个层次。其中数据项 是具有独立含义的最小标识单位。3

9、数据的逻辑结构和物理结构之间的相互运算是通过算法 来实现的。4所有节点按1对1的邻接关系构成的整体就是线性 结构。5表长为0的线性表称为 空 表。6直接插入排序最好情况的时间复杂度为 O(n) 。7程序段“i=l;while(i=n)i=i*2”的时间复杂度为 O(log2n) 。8c语言属于计算机高级语言,既可以用来写系统软件,也可以用来写应用软件 。9算法是有穷的,而程序可以是 无穷的 。10实型常量在一般微型机中占用 4 个字节。11char型和int型的运算结果为int 型。12Getchar()和putchar()函数只能输入、输出 1 个字符。13源程序必须翻译成机器指令即机器语言

10、,这一工作由编译系统 来完成。14字符串的长度为串中字符的个数,但在内存中所占的字节数应比长度多1 。15执行:a=3,b=4,a=a+b,b=a+b后,则a和b的值分别为 7 和11。16对于scanf(“2d3d4d”,&a,&b,&c)语句,若键入:l 23456789,则变量b的值为345 。17设intx=10,y,z;执行y=z=x;x=y=-Z后,变量x的结果是 1 。18若有说明:Int a5=1,2,3,4,5,6,7,8,9,10),则数组第一维的大小为2 。19在函数定义中,若没有返回值,其类型定义为 空类型 。20c语言规定不能嵌套定义函数,但可以嵌套调用 函数。21程

11、序中出现的/*.*表示注释,可以出现在程序的任何 地方。22c语言的数据结构是以 数据类型 的形式描述出来的。23运算符的运算对象就为 整数 。24getchar()函数只能出现在 表达式 的位置,接收该函数的值时可以用字符型或整型变量。25请将xa,写成一个逻辑表达式: x=-a 。26在结构化程序的三种基本结构是指 顺序结构 、选择结构和循环结构。27在c语言中,二维数组在内存中的排列顺序是按 行 存入。28一个完整的c程序可由1个主函数或由1个主函数和 若干个 子函数组成。29在c语言中,变量的使用一般遵守 “先定义,而使用 ”的原则。30c语言中有两个专门的指针运算符*和&,它们都是

12、单 目运算符。31在计算机的数据处理中,将字符、声音、 光 、图形和图像均称为数据。32在线性表的顺序存储结构中,其相邻的数据节点在物理位置上也是 相邻 的。33若在数据处理中,需要经常对数据进行插入、删除运算,则宜将该数据设置为 链式 存储。34二叉树的遍历方法有:先序遍历、后序遍历和 中序遍历 。35单链表表示法的基本思想是用指针 表示结点间的逻辑关系。36C语言规定,数组元素的下标从 0 开始,最大值为长度减1。37在C语言中,引用数组元素时,其数组下标的数据类型允许是整型常量或整型 表达式。38一个变量的作用域是指该变量在程序中的有效范围,局部变量的作用域就是其所在的 函数 。39C语

13、言中访问地址的方式有两种即直接存取方式和 间接存取 方式。40运行下列语句:int*p,*q,x5;p=x;q=p+3;则q指向数值元素 x3 。41若某问题的空间复杂度为o(1),则认为该问题所耗空间与问题的 规模 无关。42在线性表的链式存储结构中,单链表中每个节点是一个 结构类型 。43在三对角阵的压缩存储中,已知Aij=Bk,试建立k与i,j之间的关系为: k=2i+j 。44在软件的开发模型中,螺旋模型是一种 风险驱动 模型,它将瀑布模型和原型模型结合起来。45设有100个元素,用折半查找法进行查找时,最大比较次数是7 。二、选择题1下列是C语言正确的标识符的是【 D 】A? a B

14、a=2 Ca.3 Da_32下列表达式中,值为1的表达式是 【 D 】 A35 B3/5.0 C3/5 D3=a&a=0 B (10=a)ll(a=0) C0=a=10 D(!a10)5在C语言中,main()函数的位置 【 C 】 A必须作为第一个函数 B必须作为最后一个函数C可以任意,但必须要在函数之外 D必须放在它所调用的函数之后6对于输入语句“scanf(“d,d”,&a,&b)”,下面正确的输入方法是【 A 】 A1,2回车 B12回车 C1回车2回车 D1;2回车7下列程序段“int i=j=10;printf(“&d,dn”,-I,j-);”的输出结果是【 B 】 A11,10

15、B9,10 C11,9 D10,98下面有关for循环正确的描述是【 D 】 Afor循环只能用语句循环次数已经确定的情况 Bfor循环是先执行循环体语句,后判定表达式 C在for循环中,不能用break语句跳出循环体 Dfor语句的循环体中,可以包含多条语句,但要用花括号括起来9设有定义“int x5=l,2,3);”,则数组x占用的内存字节数是【 D 】 A3 B5 C6 D1010若有定义语句“int m, n=2, *p=&m;”,则能完成m=n功能的语句为 【 B 】 Am=*p; B*p=*&n; Cm=&n Dm=&p11数据在计算机存储器内表示时,物理地址与逻辑地址不相同的,称

16、之为【 C 】 A存储结构 B逻辑结构 C链式存储结构 D顺序存储结构12单链表的一个存储结点包含 【 D 】 A数据域或指针域 B指针域或链域 C指针域和链域 D数据域和链域13循环队列的队满条件为【 C 】 Asq.rear+1)maxsize=(sq.front+1)maxsize B(sq.rear+1)maxsize=sq.front+l C(sq.rear+1)maxsize=sq.front Dsq.rear=sq.front14深度为6的二叉树最多有( )个结点【 B 】 A64 B63 C32 D3115用顺序查找法对具有n个结点的线性表查找的时间复杂性量级为【 C 】 AO

17、(n2) BO(nlog2n) CO(n) DO(log2n)16设有语句“intx6=5,4,3,2,1,0),*p=x;”,则值2的表达式为【 A 】 A*(p+4) B*(p+5) C*p+4 D*p+517算法分析的两个主要方面是【 A 】 A空间复杂度和时间复杂度 B正确性和简明性 C可读性和文档性 D数据复杂性和程序复杂性18带头结点的单链表Head为空的判定条件是【 B 】 AHead=NULL; BHead-next=NULL: CHead-next=Head; D均不正确;19一个队列的输入列序为1,2,3,4,则该队列的输出序列是【 B 】 A4,3,2,l B1,2,3,

18、4 C1,4,3,2 D3,2,4,120堆(Heap)是 【 B 】 A完全二叉树 B线性表 C满二叉树 D都不正确21在表长为n的顺序表中,实施顺序查找,在查找不成功时,与关键字比较的次数为【 C 】 An B1 Cn+1 Dn-122下列选项中,合法的C语言保留字是【 C 】 AAUTO BSWIT Celse Dinteger23下列选项中非法的实型常数是【 A 】 A3E1.0 B1.0E3 C.3E-2 D3E-224设有定义“float a=5.0,b=2.5;”,则表达式(int)b+a/b的值是 【 D 】 A3 B4 C3.0 D4.025设int a=10,b=20,c=

19、30;条件表达式a6)sprintf(“*”)后的输出结果是【 A 】 A* B* C* D*38设有定义语句:int a=l,b=2,c=3,d=4;执行下列程序段后x的值是 【 A 】 if(ab)if(cd)x=10; else if(ac)if(bd)x=20; else x=30; else x=40; else x=50; A10 B 20 C 30 D 4039C语言中【 C 】 A不能使用dowhile语句构成循环体。Bdo-while语句构成的循环必须用break语句才能退出。 Cdo-while语句构成的循环,当while语句中的表达式值为零时结束循环。 Ddowhile语

20、句构成的循环,当while语句中的表达式值为非零时结束循环。40以下数组语句中,正确的是【 C 】 Aint a3; Bint b3=0,l,2,3; Cint c1010= 0; Dint d3=l,2, 1,3,0), l;41设有语句“int x8=5,4,3,2,1,*p=x;”,则*(p+3)的值为【 C 】 A5 B4 C3 D242计算机内部数据处理的基本单位是【 B 】 A数据 B数据元素 C数据项 D数据库43在一个具有n个结点的有序顺序表中插入一个新结点并仍然有序的时间复杂度是【 B 】AO(1) BO(n2) CO(n) DO(nlog2n)44设C语言数组Datam+1

21、作为循环队列SQ的存储空间,front为队头指针,real为队尾指针,则执行出队操作的语句为【 D 】 Afrint=front+1;, Bfront=(front+1)m: Crear=(rear+1)m; Dfront= (front+1)(m+1);45树最适合用( )来表示【 C 】 A有序数据元素 B无序数据元素 C元素之间具有分支层次关系的数据 D元素之间无联系的数据46长度为12的有序表:Apt, Aug, Dec, Feb, Jan, Jul, Jun, Mar, May, Nov, Oct, Sep,按对半查找法对该表进行查找。在表内各元素等概率情况下查找成功所需要的平均比较

22、次数为 【 B 】A 35/12 B 37/12 C 39/12 D 43/12三、简答题1软件维护工作可分为哪几类维护工作? 答:软件维护工作可分如下四类维护工作:1)改正性维护;2)适应性维护;3)完善性维护;4)预防性维护。2良好的程序设计风格除了将程序文档化和格式化以外,还需要遵循哪些准则?答:良好的程序设计风格除了将程序文档化和格式化以外,还需要遵循以下准则:1)节俭化;2)模块化;3)简单化;4)结构化3用文字简述数据x进栈和退栈操作的基本步骤。答:进栈操作的基本步骤为:1)先判断栈是否已满,若满,则进行上溢处理,否则进行2)。2)栈项指针上移1个节点。3)将x加入到top所指位置

23、。 退栈操作的基本步骤为:1)检查栈是否为空,若栈空,则进行下溢处理,否则进行2)。2)保留被删除元素到变量x中(若不需要保存,则舍去这一步)。3)栈顶指针下移1个节点。4软件测试时,程序中尚未发现的错误的数量往往与在该段程序中己发现的错误的数量成正比。所以软件测试时,除尽早地、不断地进行软件测试外,还应遵循的其它基本原则是什么?答:软件测试时,还应遵循的其它基本原则是:1)设计测试用例时,要给出测试的预期结果。2)开发小组和测试小组分开。3)要设计非法输入的测试用例。4)在对程序修改之后要进行回归测试。5简述哈夫曼树的性质。答:由哈夫曼树的生成过程可得如下性质:1)给定权值的哈夫曼树不唯一,

24、但是WPL,为定值。2)权值越大的节点离根节点就越近。3)哈夫曼树中无度为l的节点。4)哈夫曼树节点总个数刀=2叶子节点个数一1=2权值个数1=2n,一1。6用文字简述将内容为x节点加入顺序队列和出队操作的基本步骤。答:将内容为x节点加入顺序队列的基本步骤为:1)先判断队列是否已满,若满则退出,否则进行2)。2)队尾指针下移1个节点位置。3)在队尾指针位置加入x。出队操作的基本步骤为:1)先判断队列是否己空,若空则退出,否则进行2)。2)保留队头元素到x变量中。3)队头指针下移1个节点位置。四、程序分析题1下列程序运行后的输出结果是 m=3 Main() int k,m=0; for(k=0;k2;k+) m+; if(m/2)continue; m+: printf(/m=%dn/,m);2下列程序运行后的输出结果是 1,6 #inlcude Main() int a=l,2,3,4,5,6, *p; p=a; *(p+3)+=2; printf(/d, %dn/, *p,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1