1[填空题] 下列给定程序中已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fun的功能是:把形参X的值放入一个新结点并插入链表中,使插入后各结点数据域中的数据仍保持递增有序。
请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
参考解析:
【参考答案】
(1)x (2)P (3)s
【考点分析】
本题考查:链表的基本操作。了解链表的基本思想和相关算法,理解有关链表插入及删除时指针移动的先后顺序问题,注意指针的保存和归位。
【解题思路】
填空l:将形参X赋值给结点的数据域。
填空2和填空3:将新的结点和原有链表中的结点进行比较。
2[单选题]若有以下程序
则程序的输出结果是
A.3,3.3,7.7,7B.3,7,7,7,7,7C.7.7,7,3,3,3D.7,7,7,3,7,7
参考答案:D
参考解析:在主函数中分别给整型变量i.指针型变量P和指向指针的指针变量r赋初值;调用f函数,并将实参变量r的值传递给形参变量s,在f函数中,通过prind("%d,%d,%d,",k,*t,**s);语句输出7,7,7;返回主函数,通过pfinff("%d,%d,%d\n",i,*P,**r);输出3,7,7。因此D选项正确。
3[单选题] 若有以下程序
则程序的输出结果是
A.6-5-4-3-2-1-B.6-5-4-3-2-1C.1-2-3-4-5-6D.1-2-3-4-5-6-
参考答案:D
参考解析:本题重点考查函数的递归调用,程序首先初始化整型变量z为123456,调用函数f。 f函数中首先通过if条件语句判断x是否大于等于l0,如果条件成立,求x除以10的余数并输出,同时将变量x做x/10运算,同时调用函数f。如果条件不成立,直接输出变量x。因此第l次调用函数,变量x为123456,条件成立,输出余数6;第2次调用函数,变量x为12345,条件成立,输出余数5;第3次调用函数,变量x为1234,条件成立,输出余数4;第4次调用函数,变量x为123,条件成立,输出余数3;第5次调用函数,变量x为12,条件成立,输出余数2;第6次调用函数,变量x为12345,条件不成立,输出1。因此B选项正确。
4[单选题] 若变量已正确定义,在if(W)埘ntf(”%d\n”,k);中,以下不可替代w的是( )。
A.a<>b+CB.ch=getcharC.a==b+CD.a++
参考答案:A
参考解析:选项A是非法的表达式,C语言中没有<>运算符。
5[简答题]请编写一个函数proc(),它的功能是:求出一个4×N整型二维数组中最大元素的值,并将此值返回调用函数。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc的花括号中填入所编写的若干语句。
试题程序:
参考解析:
【解析】要求出二维数组中最大元素的值,需要比较二维数组中每一个元素的值。首先,定义变量max用来存放最大元素的值,将其初始化为二维数组中第一个元素的值。然后将其与后面的每一个元素进行比较,将二维数组中最大元素的值放到变量max当中,并将其返回给主函数。
6[单选题]在深度为5的满二叉树叶中,叶子结点的个数为( )。
A.32B.31C.16D.15
参考答案:C
参考解析:根据二叉树的性质及定义,一棵深度为k且有2k-1个结点的二叉树为满二叉树。满二叉树的叶子结点为最后一层的结点数,又根据满二叉树的性质,在满二叉树的第i层上至多有2i-1个结点,因此深度为5的满二叉树的叶子结点数为25^1=16个。
7[单选题]下列叙述中正确的是( )。
A.栈是“先进先出”的线性表
B.队列是“先进后出”的线性表
C.循环队列是非线性结构
D.有序线性表既可以采用顺序存储结构,也可以采用链式存储结构
参考答案:D
参考解析:栈是先进后出的线性表,所以A错误:队列是先进先出的线性表,所以B错误;循环队列是线性结构的线性表,所以C错误。
8[单选题] 下列排序方法中,最坏情况下比较次数最少的是( )。
A.冒泡排序B.简单选择排序C.直接插入排序D.堆排序
参考答案:D
参考解析:冒泡排序与简单插入排序与简单选择排序法在最坏情况下均需要比较n(n-1)/2次,而堆挥序在最坏情况下需要比较的次数是nlog2n。
9[单选题] 软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于系统软件的是( ):
A.学生成绩管理系统B.ERP系统C.办公自动化系统D.UNIX系统
参考答案:D
参考解析:系统软件是管理计算机的资源,提高计算机的使用效率,为用户提供各种服务的软件。应用软件是为了应用于特定的领域而开发的软件。选项D属于系统软件。选项A、B、C属于应用软件。故选D选项。
10[单选题] 右以下程序.
程序运行后的输出结果是( )。
A.34B.35C.28D.59
参考答案:A
参考解析:fun()函数求矩阵反对角线的元素之和。根据fun()函数,当数组的行列下标相等时,对该行反对角线上的元素求和。故结果为4+7+11+13=34,答案为A选项。