一、选择题
1、下列叙述中正确的是______。
A.数据的存储结构会影响算法的效率
B.算法设计只需考虑结果的可靠性
C.算法复杂度是指算法控制结构的复杂程度
D.算法复杂度是用算法中指令的条数来度量的
2、设数据集合为D={1,2,3,4,5}。下列数据结构B=(D,R)中为非线性结构的是______。
A.R={(1,2),(2,3),(3,4),(4,5)} B.R={(1,2),(2,3),(4,3),(3,5)}
C.R={(5,4),(4,3),(3,2),(2,1)} D.R={(2,5),(5,4),(3,2),(4,3)}
3、某二叉树共有150个结点,其中有50个度为1的结点,则______。
A.不存在这样的二叉树 B.该二叉树有49个叶子结点
C.该二叉树有50个叶子结点 &nb ……此处隐藏37080个字…… >
(3)主要考查考生对字符串库函数调用的掌握,使用strlen获取str的长度,判断下标i是否越界。
(4)如果下标i越界,根据题意返回第一个元素str[0]。
四、综合应用题
43、int i=atoi(num);
int j=atoi(n.GetNum());
return Number(i+j);
答案考生文件夹
[解析] 本题考查的是Number类,其中涉及C语言的库函数、构造函数的使用、成员函数的使用。
主要考查考生对库函数、对象成员和构造函数使用的掌握情况,函数Add的功能是将函数参数n与自身相加,返回相加后的Number对象,Number类中成员字符串num是用来表示十进制的整数,所以将两个Number相加需要首先将字符串num转化为整数,这里需要使用库函数atoi,将调用对象的num和对象n的num转化为十进制整数i,j,在转化对象n的num成员时,由于num是Number类的私有成员,所以不能直接使用,而应该通过成员函数GetNum()返回num;得到十进制数i、j后,再用i与j的和构造成Number对象,所以需要使用Number的参数为整数的构造函数,即Number(int i),构造Number对象后返回。