A、 a+b=0
B、 a+b=30
C、 a+b=10
D、 出错
答案:A
解析:【解析】注释/*和*/之间的代码不参与编译,所以a、b的值仍为0。答案选择A选项。
A、 a+b=0
B、 a+b=30
C、 a+b=10
D、 出错
答案:A
解析:【解析】注释/*和*/之间的代码不参与编译,所以a、b的值仍为0。答案选择A选项。
A. BCA
B. CBA
C. ABC
D. CAB
解析:【解析】因为前序遍历为ABC,所以A为根结点;因为中序遍历为CBA,所以C和B均为左子树结点,且B是C的父结点,由此可知整棵树结点的关系,得后序遍历为CBA。答案选择B选项。
A. 详细设计
B. 需求分析
C. 总体设计
D. 编程调试
解析:【解析】总体设计过程通常由两个主要阶段组成:①系统设计,确定系统的具体实现方案;②结构设计,确定软件结构。为确定软件结构,首先需要从实现角度把复杂的功能进一步分解。分析员结合算法描述仔细分析数据流图中的每个处理,如果一个处理的功能过分复杂,必须把它的功能适当地分解成一系列比较简单的功能。答案选择C选项。
A. a=(b=3)=1;
B. a=(b=2)+c;
C. a=b=c+10;
D. a=1+(b=c=2);
解析:【解析】赋值运算结合性为由右向左结合,赋值运算符左值为变量,右值为变量或常量或表达式,且左右两边数据类型相同才能实现赋值。A项中,赋值运算(b=3)=1,左值为表达式,不是变量不能被赋值,A项错误。B项运算过程为,先赋值b=2,再计算b+c,将结果赋给a,是正确的赋值语句。C项运算过程为,先计算c+10将结果赋给b,再将b赋给a,是正确的赋值语句。D项运算过程为,先将2赋给c,再将c赋给b,然后计算1+b,将结果赋给a,是正确的赋值语句。答案选择A选项。
A. *3#4*5
B. #3*4#5
C. *3*4#5
D. *3#4#5
解析:【解析】若满足x%2!=0,输出*x,否则,输出#。答案选择A选项。
A. 64
B. 66
C. 436
D. 434
解析:【解析】在树结构中,一个结点所拥有的后件个数称为该结点的度。对于任何有435个,则度为2的结点为434。答案选择D选项。
A. 1,2
B. 0,2
C. 1,3
D. 2,3
解析:【解析】while(a++)是先判定a是否等于0,如果a等于0,跳出循环;否则进入循环;但是不管判定是否成功,判定结束后都要执行a++操作。第一次循环,a等于-2,满足条件,执行a++,++b,a变成-1,b变成1;第二次循环,a等于-1,满足条件,执行a++,++b,a变成0,b变成2;第三次循环,a等于0,不满足条件,执行a++,a变成1,b仍然是2。答案选择A选项。
A. if(strcmp(a,b)==0)
B. if(strcpy(a,b))
C. if(a==b)
D. if(a=b)
解析:【解析】
A. 算法的效率只与问题的规模有关,而与数据的存储结构无关
B. 算法的时间复杂度是指执行算法所需要的计算工作量
C. 数据的逻辑结构与存储结构是一一对应的
D. 算法的时间复杂度与空间复杂度一定相关
解析:【解析】采用不同的存储结构,数据处理效率是不同的,A项错误;算法的时间复杂度是指算法在计算机内执行时所需时间的度量,空间复杂度是指算法在计算机内执行时所需存储空间的度量,二者不一定相关,B项正确,D项错误;数据的逻辑结构在计算机存储空间的存放形式称为数据的存储结构,二者并非一一对应,C项错误。答案选B选项。
A. y=sqrt(x); if(x<0)y=sqrt(-x);
B. if(x>=0)y=sqrt(x); else y=sqrt(-x);
C. if(x>=0)y=sqrt(x); if(x<0)y=sqrt(-x);
D. y=sqrt(x>=0?x:-x);
解析:【解析】sqrt函数是math.h文件中用来计算平方根的库函数。A项错误,当x小于零时,A项会出现运行时错误。B项使用if-else语句实现功能;C项使用两条if语句实现;D项使用三目运算符实现,结果等价于BC两项。
A. 2
B. 3
C. 4
D. 5
解析:【解析】简单选择排序的算法可以描述为:将整个待排序序列分为有序和无序两部分,初始时有序部分为空;每一趟排序时扫描无序序列,找到最小的元素,将它与无序序列的首元素交换位置,直到无序序列为空。所以第一趟排序后,将选出的最小元素9与15交换,15被放在第3个位置。答案选择B选项。