A、 所有数据结构必须有根结点
B、 所有数据结构必须有终端结点(即叶子结点)
C、 只有一个根结点,且只有一个叶子结点的数据结构一定是线性结构
D、 没有根结点或没有叶子结点的数据结构一定是非线性结构
答案:D
解析:【解析】
A、 所有数据结构必须有根结点
B、 所有数据结构必须有终端结点(即叶子结点)
C、 只有一个根结点,且只有一个叶子结点的数据结构一定是线性结构
D、 没有根结点或没有叶子结点的数据结构一定是非线性结构
答案:D
解析:【解析】
A. a%(int)(x-y)
B. a==x!=y
C. (a*y)%b
D. y=x+y=a
解析:【解析】%运算是取两整数相除后余数的运算符,它只适用于整数的运算。A项正确,x-y结果为double型,但是通过强制类型转换将其转换为int型;B项错误,a==x!=y中==和!=是同一个优先级的,先运行a==x,而因为double是占8位的,不能自动转换,必须要强制类型转换,a==(double)x!=y才是正确的;C项错误,(a*y)%b中的(a*y)为double型;D项错误,x+y不能作为左值。答案选择A选项。
A. 快速排序
B. 冒泡排序
C. 直接插入排序
D. 堆排序
解析:【解析】在最坏情况下,冒泡排序、直接插入排序与简单选择排序法均需要比较n(n-1)/2次。希尔排序需要比较n1.5次,堆排序需要比较的次数最少,为nlog2n。答案选择D选项。
A. 566.0
B. 55566.0
C. 7777.0
D. 566777.0
解析:【解析】本题考查的是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中,其中的格式命令可以说明最大域宽。在百分号%与格式码之间的整数用于限制从对应域读入的最大字符数。因此j的值为55,y的值为566.0,字符数组name的值为7777123。答案选择A选项。
A. 115L
B. 0118
C. 1-5e1.5
D. o115
解析:【解析】
A. n(n+1)/2
B. nlog2n
C. n(n-1)/2
D. n/2
解析:【解析】对n个节点的线性表采用冒泡排序,冒泡排序的外循环最多执行n-1遍。第一遍最多执行n-1次比较,第二遍最多执行n-2次比较,以此类推,第n-1遍最多执行1次比较。因此,整个排序过程最多执行n(n-1)/2次比较。答案选择C选项。
A. 在scanf函数的格式串中,必须有与输入项一一对应的格式转换说明符
B. 只能在printf函数中指定输入数据的宽度,而不能在scanf函数中指定输入数据占的宽度
C. scanf函数中的字符串是提示程序员的,输入数据时不必管它
D. 复合语句也被称为语句块,它至少要包含两条语句
解析:【解析】在printf和scanf 函数中都可以指定数据的宽度,B项错误;scanf中的字符串在输入时可以使用其他非空字符,如逗号,但在输入时必须输入这些字符以保证匹配,C项错误;复合语句可以由任意多条语句构成,也可以一条没有,D项错误。答案选择A选项。
A. 数组s1的长度小于s2的长度
B. 数组s1和s2的长度相同
C. 数组s1的长度大于s2的长度
D. 数组s1和s2完全等价
解析:【解析】字符数组s1赋值字符串"0123",字符串中字符依次放入数组中,在最后一个字符后要添加一个结束字符'\0',数组s1长度为5。数组s2只需要
A. 10X20Y
B. 10uX20uY
C. 10uX20uY
D. 10uXu20uY
解析:【解析】scanf函数是C语言提供的标准输入函数,作用是接收在终端设备(或系统隐含指定的输入设备)上输入的数据。scanf函数的一般形式为:scanft(格式控制,输入项表);。本题中的格式控制字符串是“%d%c%d%c”,其中%d表示要输入的是整数;%c则表示输入的是字符,且各控制符之间无任何分隔字符,故要求输入的数据之间也不能分开。而BCD三项在10和X之间均插入空格,均不正确。答案选择A选项。
A. 一对一
B. 一对多
C. 多对一
D. 多对多
解析:【解析】实体之间通过联系来建立关系,两个实体集之间的联系分为:①一对名学生只能属于一个班级,所以“班级”与“学生”联系属于一对多关系。
A. 在栈中,栈中的元素随栈底指针与栈顶指针的变化而动态变化
B. 在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化
C. 在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化
D. 上述三种说法都不对
解析:【解析】栈中元素遵循“先进后出”的原则。入栈和出栈都是对栈顶指针操作,因此,栈底指针不变,栈中元素随栈顶指针的变化而动态变化。答案选择C选项。