1、32在线性表的顺序存储结构中,其相邻的数据节点在物理位置上也是 相邻 的。33若在数据处理中,需要经常对数据进行插入、删除运算,则宜将该数据设置为 链式 存储。34二叉树的遍历方法有:先序遍历、后序遍历和 中序遍历 。35单链表表示法的基本思想是用指针 表示结点间的逻辑关系。36C语言规定,数组元素的下标从 0 开始,最大值为长度减1。37在C语言中,引用数组元素时,其数组下标的数据类型允许是整型常量或整型 表达式。38一个变量的作用域是指该变量在程序中的有效范围,局部变量的作用域就是其所在的 函数 。39C语言中访问地址的方式有两种即直接存取方式和 间接存取 方式。40运行下列语句:int*
2、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 Ba=2 Ca.3 Da_32下列表达式中,值为1的表达式是 【 D 】 A35 B3
3、/5.0 C3/5 D3a=0 B (10=a)ll(a=0) C0=a=10 D(!anext=NULL: CHead-next=Head; D均不正确;19一个队列的输入列序为1,2,3,4,则该队列的输出序列是【 B 】 A4,3,2,l B1,2,3,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
4、下列选项中非法的实型常数是【 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=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; A
5、10 B 20 C 30 D 4039C语言中【 C 】 A不能使用dowhile语句构成循环体。Bdo-while语句构成的循环必须用break语句才能退出。 Cdo-while语句构成的循环,当while语句中的表达式值为零时结束循环。 Ddowhile语句构成的循环,当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
6、D242计算机内部数据处理的基本单位是【 B 】 A数据 B数据元素 C数据项 D数据库43在一个具有n个结点的有序顺序表中插入一个新结点并仍然有序的时间复杂度是【 B 】AO(1) BO(n2) CO(n) DO(nlog2n)44设C语言数组Datam+1作为循环队列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元素之间具有
7、分支层次关系的数据 D元素之间无联系的数据46长度为12的有序表:Apt, Aug, Dec, Feb, Jan, Jul, Jun, Mar, May, Nov, Oct, Sep,按对半查找法对该表进行查找。在表内各元素等概率情况下查找成功所需要的平均比较次数为 【 B 】A 35/12 B 37/12 C 39/12 D 43/12三、简答题1软件维护工作可分为哪几类维护工作? 答:软件维护工作可分如下四类维护工作:1)改正性维护;2)适应性维护;3)完善性维护;4)预防性维护。2良好的程序设计风格除了将程序文档化和格式化以外,还需要遵循哪些准则?良好的程序设计风格除了将程序文档化和格式
8、化以外,还需要遵循以下准则:1)节俭化;2)模块化;3)简单化;4)结构化3用文字简述数据x进栈和退栈操作的基本步骤。进栈操作的基本步骤为:1)先判断栈是否已满,若满,则进行上溢处理,否则进行2)。2)栈项指针上移1个节点。3)将x加入到top所指位置。 退栈操作的基本步骤为:1)检查栈是否为空,若栈空,则进行下溢处理,否则进行2)。2)保留被删除元素到变量x中(若不需要保存,则舍去这一步)。3)栈顶指针下移1个节点。4软件测试时,程序中尚未发现的错误的数量往往与在该段程序中己发现的错误的数量成正比。所以软件测试时,除尽早地、不断地进行软件测试外,还应遵循的其它基本原则是什么?软件测试时,还应
9、遵循的其它基本原则是:1)设计测试用例时,要给出测试的预期结果。2)开发小组和测试小组分开。3)要设计非法输入的测试用例。4)在对程序修改之后要进行回归测试。5简述哈夫曼树的性质。由哈夫曼树的生成过程可得如下性质:1)给定权值的哈夫曼树不唯一,但是WPL,为定值。2)权值越大的节点离根节点就越近。3)哈夫曼树中无度为l的节点。4)哈夫曼树节点总个数刀=2叶子节点个数一1=2权值个数1=2n,一1。6用文字简述将内容为x节点加入顺序队列和出队操作的基本步骤。将内容为x节点加入顺序队列的基本步骤为:1)先判断队列是否已满,若满则退出,否则进行2)。2)队尾指针下移1个节点位置。3)在队尾指针位置加
10、入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 int a=l,2,3,4,5,6, *p; p=a; *(p+3)+=2; printf(/d, %dn/, *p, *(p+3);3下列程序运行后的输出结果是s=55 int S, i=l,sum()
11、; for(; i=10;)i+,s=sum(i); printf(/S=%dn/,s); sum(int k)int x=0;return(x+=k); 4下列程序运行后的输出结果是abcd main() char sl()=/ abcdABCD/,s210; int k=0,j=0; while (s lk!=/A/)s2j+=s 1k+; s2j=0; printf(/sn”,s2);5下列程序运行后的输出结果是DCBAEF void fun(char*pl,int n) chart,*p2; p2=pl+n-1; while(p110&xnext!=NULL) p=p-next; j+
12、; return(j);10下列程序运行后的输出结果是 1,6,3,2,3 #include int j=1 j=3; printf(/%d,/,i+); int i=0; I+=j*2; printf(/d,d,/,i,j); printf(/d,d/,i,j);11下列程序运行后的输出结果是 10 int f(int n) if(n=1)return(1); else return(f(n-1)+1); int i,j=0; for(i=1;i while(p! Push(&ls,p-data);p=p-next;EmptyStaek(&JS) Pop(&ls,&p-data=x; 五、程
13、序填空题1下面程序是从输入3个数中找出最大数,并输出最大数。 int max(intx, int y, int z) int t; t=xy? x:y ); retum(tz? t:z ) int a,b,c; scanf(/d,d,d/,&b,&c); prinf(/max=dn,max( a,b,c );2以下为冒泡排序的算法,请分析算法,并在 处填充适当的语句。 void bubblesort(int n, list r) for(i=l;= n-1 ;i+) flag=1 ; for(j=l;j=n-1 ;j+) if(rj+1.keyrj.key)flag=0;p=rj;rj=rj+
14、1;rj+1=p;) if(flag)return; 3下列程序的功能是将输入的10个整型数存入一维数组中,并求其中所有素数之和并输出。 int x10,sum=0,flag,k,j;10;k+)scanf(/d /,&xk);l0; if(xk=1) continue ; flag=l; for(j=2;= xk/2 ; if(xkj= =0) flag=0 ;break; if(flag=1) sum+=xk; printf(/d n/,s);4下面程序的功能是输入10个字符和1个字符X,从10个字符中查找x,找到则输出其序号,找不到则输出0。 char str10,x,*p; int f
15、lag=0; for(p=str;pfron=sq-rear )error(/队空/);return(o); elsesq-front=(sq-front+1)maxsize ; *x=sq-datasq-front ; Return(1);6以下运算实现在链队上的入队列,请在 处用适当的语句予以填充。 void EnQueue(Queptr Tp*lq,data Type x) LqueueTp*p; p=(Lqueue Tp*)malloc(sizeof(Lqueue Tp); p-data =x; p-next=NULL; (1q-rear)-next= p ; lq-rear=p ; 六、编程题 1输入一个长整型正整数,将其转换成对应八进制整数的字符串,然后输出该字符串。要求用指向字符串的指
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1