02243-2011年自考计算机软件基础(一)练习题和答案_第1页
02243-2011年自考计算机软件基础(一)练习题和答案_第2页
02243-2011年自考计算机软件基础(一)练习题和答案_第3页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

02243--201102243--2011(一练习题和答案PAGEPAGE12/1220117计算机软件基础(一)(课程代码:02243)一、单项选择题(15230)个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。能正确表示逻辑关系或a≤O”的C语言表达式是 ( )A.a>=100ra<=0C.a>=10&&a<=O

B.a>=0|a<=10D.a>=10||a<=O请读程序如下,若运行时从键盘上输入987654321↙(↙表示回车,则下列程序的输出结果( )#include<stdio.h>main(){inta;floatscanf(“%2d%3f%4f”,&a,&b,&e);print“na=%b=%,c=%\n,ab,;}A.a=98,b=765,c=4321 B.a=10,b=432,c=8765C.a=98,b=765.000000,c=4321.000000D.a=98,b=765.0,c=4321.0main(){floatx=2.0,y;if(x<0.0)y=0.0;elseif(x<10.0)y=l.0/x;elsey=l.0;printf(“%f\n”,y);}该程序输出结果是 ( A.O.000000C.0.500000main()

B.0.250000D.1.000000{inta[3][3]={1,2},{3,4},{5,6}},i,j,s=O;for(i=1;i<3;i++)for(j=0;j<=i;j++)s+=i]j;printf(“%d\n”,}该程序的输出结果是 ( )A.18 B.19C.20 D.21下列程序的输出结果是 ( intf(){staticinti=0;ints=1:s+=i;i++:returns;}main(){inti,a=O;for(i=O;i<5;i++)a+=f();printf(“%d\n”,a);}A.20 B.24C.25 D.15设有定义intn1=n*p=&n*q=&n,则以下赋值语句中与n2=n;语句等价的( A.*p=*q; B.p=q;C.*p=&n1; 7.若有以下程序:#include<stdio.h>voidf(intn);main(){voidf(intn);f(5);}voidf(intn){printf“%\n,n)}则以下说法中不正确的是 ( )若只在主函数中对函数ff若在主函数前对函数f进行说明,则在主函数和其后的其他函数中都可以正确调用函 数f对于以上函数程序,编译时系统会提示出错信息;提示对f函数重复说明D.函数fvoidmain(){inta[]={2,4,6,8,10},y=0,x,*p;p=&a[1];for(x=1;x<3;x++)y+=p[x];printf(“%d\n”,y);}则程序运行后的输出结果是()A.10B.11C.14D.15非空的循环单链表head的尾节点(由p所指向)满足 ( )p→next=NULL B.p=NULLC.p→next=head D.p=headA3个字节,行下标i18,j110,SA开始连续存放在存储器内,该数组按行存放时,元素A[8][5]的起始地址为( )A.SA+141C.SA+222

B.SA+144D.SA+225具有5层节点的完全二叉树至少有 个节点。 ( )A.16 B.12C.15 D.17如下图所示的t2是由树t1转换而来的二叉树,那么树t1有 个叶子节点。 ( )A.4 B.5C.6 D.7有一个长度为12功所需的平均比较次数( )A.35/12 B.37/12C.39/12 D.43/12程序的三种基本控制结构的共同特点( )不能嵌套使用C

只能用来写简单程序D.为了提高测试的效率,应该 ( )A.随机地选取测试数据B.取一切可能的输入数据作为测试数据C.在完成编码以后制定软件的测试计划D.选择发现错误可能性大的数据作为测试数第二部分非选择题二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。若已定义x和y为double类型,则表达式x=1,y=x+3/2的值。下列函数值的类型fun(floatx){floaty;y=3*x—4;returny;}char[l00,d[1OO;intj=,i=s中已赋字符串,请填空以实现复(注:不使用逗号表达式)while(s[i]){d[= d[j]struct{intx;char*y;}a[2]={{1,“abc”},{2,“def”}},*则p→y的;(++p)→y的。在一个单链表中,若删除p所指节点的后继节点,则执。若已知一个栈的入栈序列是其输出序列为若pl=n,则pi为 。设n,m为一棵二叉树上的两个节点,在中序遍历时在m前的条件。对于一个具有n个顶点的无向图,若采用邻接矩阵表示,则该矩阵的大小。数组51000单元中,则元素A[5][5]的地址。对于长度为n的线性表,若进行顺序查找,则时间复杂度;若采用二分法查找,则其ASL为 。三、解答题(本大题共4小题,每小题4分,共16分)充完整。typedefintdatatype;structnode{datatypedata;structnode*;typedefstructnodeLinkList;voidsearch(LinkList*h){List*q,*pmax,pmax=h→next;q=pmax→next;while( )pmax=q=}printf(“最大值是%d”,pmax→data);}V={v1,v2,v3,v4)E={<v1,v2>,<v1,v3>,<v4,v1>,<v4,v2>,<v4,v3>}对于下图,分别写出按深度优先和广度优先搜索的结果。ACBCCACBCCDCBABCD2,3,8,1。要求画出由此得到的哈夫曼树及其编码。四、程序分析题(本大题共4小题,每小题4分,共16分)

的次数main(){inta[4][5]={{1,2,3,4,0},{2,3,O,O,O},{3,4,5,O,0},{6,0,O,O,O;intj,k;for(j=O;j<4;j++)for(k=0;k<5;k++){if(a[j][k]==0)break;printf“%,a[j][k]}printf“n}}main(){int*p1,*p2,*p,a=5,b=8;p1=&a;p2=&b;if(a<b);printf(“%d,%d,”,*p1,*p2);printf“%d,%”,a,b}32voidsort(inta[],intn){inti,j,t;for(i=O;i<n-1;i++)for(j=i+1;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10),i;sort(&aa[3],5);for(i=0;i<lO;i++)printf(“printf(“\n”);}阅读程序段,若串spcs389%+-areverse(bufbufcharbuf[]reverse(char*s){intc,k;char*pk=strlen(s);for(p=s+k-1;s<p;s++,p--){c=*s;*s=*p;*p=c;}}五、程序设计题(本大题共2小题,每小题9分,共18分)输入三个整数,按由小到大的顺序输出(要求用指针处理。假设二叉树采用链接存储方式存储,编写一个后序遍历二叉树的非递归函数。20117计算机软件基础(一)答案(课程代码:02243)一、单项选择题1.D【解析】c语言中的“或”关系用“‖”表示,其他相关逻辑运算符“与”用“&&”表示;运算符“非”用“!”来表示2.CC解析if…elsex=2.oIF所以执行y=1.0/xy=l.0/2.0=0.500000。A解析2笫1次:a[1][O]=3,a[1][1]=4,所以s=7;第2次:a[2][0]=5,a[2][1]=6,a[2][2]=0,所以s=7+5+6+0=18。D【解析的值是1,返叫值11的值保持了上次调用结束时的值,再执行自加,值变成了s的值不具备iA解析*p=*qqpC【解析可以正确调用在当前函数之前声明的函数。对于本题来说,如果有一个新的函数fNew()是在f()函数之后说明的,那么即使主函数tp没有对函数f进行说明,在fNew()中同样可以正确调用函数f()。解析】执行p=&a[1p指向了a[1[p[268,经过累加后y的值为14。9.C解析A[8][5A[1][1A[8][5]的地址为SA+74*3=SA。A解析424-1=15AA【解析叶子节点。B解析121245个节点,则ASL=(1*1+2*2+3*4+4*14.D解析】程序的特点就是从一个入口开始,最终以一个出口结束15.D【解析】为了提高测试的效率,测试用例应该选择发现错误可能性大的部分,这样的测试结果才符合软件测试的目的。二、填空题16.2.O【解析】这是一个逗号表达式,它的值应为表达式y=x+3/2的值,而前一个表达式已给x赋值l,在没有进行类型转换的t留下,3/2的值为1,所以x+3/2的值应为2.0。17.int【解析】c语言中如果函数前不加任何数据类型时,缺省函数的类型为整型,函数的类型就是函数返回值的类型。18.s[i++]【解析】本题中为了能实现字符串的复制,需要使字符数组s从头到尾依次遍历其所有元素。本题应使用i的自增后置来实现。abc def解析*p=a因此p指向了a数组,即[0;py则是a[O.y++pp指向了a[l]。p→next=p→next→next【解析】通过p→next=p→next→next可将p的后继节点断开了p→next的链接。21.n-i+l【解析】当pl=n,即n是最先出栈的,根据栈的原理,n必定是最后入栈的,那么输入顺序必定是1,2,3,……,n,则出栈的序列是n,……,3,2,1。22.nm【解析】中序遍历的规则是先遍历左子树后访问根节点再遍历右子树;因此n在m左方才能保证先访问n。23.n224.1140【解析】A[5][5]相对于A[0][0]的位置是4*6+14=28,则A[5][5]的地址为1000+28*5=1140。25.O(n) log(n1)-12三、解答题26.q!=NULL【解析】当q指针不为空作为循环的条件。typedefintdatatype;structnode{datatypestruct};typedefstructnodeLinkList;voidsearch(LinkList*h){List*q,*pmax,*s;pmax=h→next;/*让pmax指针指向第一个节点*/q=pmax→next;/*qpmaxwhile(q!=NULL){if(q→data>pmax→data)/*.若q指针的数据域大于pmax的数据域,则将pmax指向q指针指向的节接*/pmax=q;q=q→next;/*q指针后移*/}printfpma→data}27.28.深度优先遍历结果:VVVVVVV1235167广度优先遍历结果:VVVVVVV1263475解析编码:A000011D001四、程序分析题30.1234233456【解析】在循环语句中break语句的功能是退出最内层循环,而不是多层。31.8,5,5,8【解析】pl与p2交换后,达到所指向的变量发生r变化,而a和b的值并没有变化。32.1,2,3,8,7,6,5,4,9,10,【解析】函数sort的功能是由大到小排序,实参是aa[3]和5,即由aa[3]开始对5个元素进行排序。33.ca-+%983scp【解析】reverse函数功能是将字符串s的字符全部首尾颠倒过来。五、程序设计题解析main(){intnl,n2,n3;int*pointer1,*pointer2,*printfpointer1指向变量pointer2=&n2;pointer3=&n3;if(n1>n2)swap(pointerl,pointer2);/*调用swap()交换函数*/if(n1>n3)swap(pointerl,pointer3);if(n2>n3)swap(pointer2,pointer3);printf,%,%\,nn2n3}swap(int*pl,int*p2){intp;p=*p1;*p1=*p2;*p2=p;/*交换。P1与*p2的值*/}voidpostorder(btree*b){btree*stack[mO],*p;i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论