1、 s0=k;k=s1*10; ( ) A不定值 B33 C30 D10 5下列说明不正确的是 ( ) Achar a10= china”; Bchar a lO ,*p=a;p=china Cchar*a;a=”china”; Dchar alO,*p;p=a=6有如下程序: int a10=1,2,3,4,5,6,7,8,9,10); int*p=&a3,b;b=p5; 则b的值是 ( ) A5 B6 C9 D8 7下列程序执行后的输出结果是 void func(int*a,int b) b0=*a+6;) main() int a,b5; a=0:b0=3: func(&a,b);%dn”
2、,b0); ) ( ) A6 B7 C8 D9 8设有如下定义: struck,skmt a; float b;data;Int*p ;若要使P指向data中的a域,则正确的赋值语句是 ( )Ap= &a: Bp=dataa;Cp=&dataa; D*p=data9判断一个栈ST(最多元素为mO)为栈满的条件是 ( ) ASTtop!=O BSTtop=O CSTtop!=mO DSTtop=m010在一棵二叉树的二叉链表中,空指针域数等于非空指针域数加 ( ) A2 B 1 C0 D-l11如下图所示的4棵二叉树中,其中不是完全二叉树的是 ( )12在有向图中每个顶点的度等于该顶点的 ( )
3、 A入度 B出度 C入度与出度之和 D入度与出度之差13有一个有序表为1,2,3,9,12,32,41,62,75,77,82,95,lOO,当二分查找值82的节点时,次比较后查找成功。 ( ) A1 B.2 C4 D814对5个不同的数据元素进行直接选择排序,最多需要进行次比较。 ( ) A8 B10 C15 D2515大型软件系统的测试基本上由四个步骤组成,包括 ( ) A单元测试、集成测试、确认测试、结构测试 B单元测试、集成测试、确认测试、系统测试 c单元测试、集成测试、存储测试、系统测试 D单元测试、模块测试、确认测试、系统测试第二部分非选择题二、填空题(本大题共l0小题。共20分)
4、请在每小题的空格中填上正确答案。错填、不填均无分。16一维数组初始化int a5=1,2;则aO= _ ,a4= _ 。17设int i=2,j=1,k=3,则表达式i&(i+j)&k | i+j的值是_ 。18strlen(”Turbo C”)的值为 _ ;strcmp(”ABC”,”abe”) _0。19C语言中访问地址的方式有两种:_ 和 _ 。20算法分析的目的是 _ ,算法分析的两个主要方面是 _ 。21在循环双链表中,每个节点有两个指针域,一个指向 _ ,另一个指向_ 22下列程序段是一个已建立好的单链表(表头指针为head)计算节点个数的函数,请填空。 int length(no
5、de*head); int n=0; node*P; p=head; , while(p!=NULL) _ (1) ; n+;_ (2) ; )23设循环队列中数组的下标范围是1n,其头尾指针分别为f和r, 则其元素个数为 _ 。24判定一个队列QU(最多元素为 mO)为空的条件是_ 。25具有n个节点的完全二叉树的深度为_ 。三、解答题(本大题共4小题,每小题4分。共16分)26什么是软件危机?软件危机产生的原因是什么?27二维数组M的元素是4个字符(每个字符占一个存储单元)组成的串,行下标i的范围从0到4,列下标j的范围从0到5,求M按行存储时元素M35的起始地址与M按列存储时哪个元素的起
6、始地址相同?28分别画出此树的存储结构(双亲表示法、孩子链表表示法)。29画出下图的最小生成树。四、程序分析题(本大题共4小题,每小题4分,共16分)30写出下列程序的输出结果。31写出下列程序的输出结果。32写出下列程序的输出结果。33写出下列程序的输出结果。五、程序设计题(本大题共2小题,每小题9分,共18分)34输入20个实数存入一维数组,输出其中的最大值、最小值和平均值。要求用指向数组的指针变量来处理数组元素。35有两个带有头节点的单向循环链表hl和h2,编写一个算法,将h2链表接到hl链表之后,连接后的链表仍然是循环链表。计算机软件基础标准预测试卷(四)参考答案一、单项选择题1A【解
7、析】在一个整常量后面加一个字母1或L,则认为是long int型常量。2C【解析】a+是先使用a值再将a的值加1,b-是先使用b的值再将b的值减1,所以题中的逻辑运算表达式的值应当为真,即为1,而经过运算后,a和b的值已经分别变成0和3了。3D【解析】注意的是x+中X值的引用时,这里应当是先引用,后自加,具体执行过程如下:第一次while循环:条件为真,执行a=a+1=1;此时,X的值已为4,判断yx不成立,继续执行循环;第二次while循环:条件为假,此时X的值已为5,退出while循环,执行printf。4A【解析】s数组定义后,s1并未赋值,因此k的值并不能确定为何值。5D【解析】D选项
8、中a是数组名不能直接赋值。6C【解析】p指针指向aE3的地址,p5就是a8的位置。7A【解析】void func(int*a,int b)b0=*a+6;)*bO的值为0+6的和*main() 8C【解析】p是int型的指针,因此只能指向int型变量;正确引用a域的方法是dataa,将dataa的地址赋予指针P的方法为p=&dataa。9D【解析】top指向能存放最多元素的最高位置即表示栈满。10A【解析】具有n个节点的二叉树链式存储共有2n个链,其中只有n-1个用来存放该节点的左右孩子,其余的n+1个指针域为空;n+1-(n-1)=2。11C【解析】完全二叉树的节点在内存中存储是按由上至下、
9、由左至右排列的。12C 13C【解析】查找的次序依次是:41、77、95、82。14B【解析】直接选择排序算法的关键字的比较次数为n*(n-1)2。15B 二、填空题16 1 0171 【解析】本题表达式中优先级顺序从高到低为括号、+、&、|、& 。187 【解析】”Tucbo C”字符串的长度是7,A 的ASCII码为65而a的为97故strcmp()函数的结果小于0。19 直接存取方式 间接存取方式 20 分析算法的效率以求改进 空间复杂性和时间复杂性21前驱节点 后继节点 【解析】循环双链表中每个节点的定义如下: prior data next22(1)p=pnext(2)return(
10、n) 【解析】(1)当P不为空时,通过p=pnext;语句p指向下一个节点。 (2)n是记录节点个数的累加器,需要return返回。23 (rf+n) mod n24 QUfront=QUrear25三、解答题 26 软件危机是指软件开发和维护过程中遇到的一系列严重问题,主要包括两个方面: (1)如何高效地开发软件以满足日益增长的应用需求。 (2)如何维护数量不断膨胀的已有软件。 软件危机产生的原因有两点: (1)与软件自身的特点有关。 (2)与软件开发和维护的方法不正确有关。27M34 【解析】若考虑按行存储M35相对与M00的位置3*6+(5+1)为24,按列存储则为j*5+(i+1)的结果也为24(i为行下标,j为列下标),因此与M34的起始地址相同。28 双亲表示法: 序号 节点 双亲 O A -1 1 B 2 C 3 D 4 E 5 F 6 G孩子链表表示法: 29四、程序分析题3017 【解析】当x=15时,while条件为真,执行x+;,这时X的值为16,if条件为真执行x+;后跳出循环体,此时x的值为l7。31532O【解析】在函数fun()中,while(*n)-)是先引用
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1