练习4
考试规则:点击你认为正确的选项
1.对长度为n的线性表作快速排序, 在最坏情况下,比较次数为()。
A.n
回答错误 ✕
B.n-1
回答错误 ✕
C.n(n-1)
回答错误 ✕
D.n(n-1)/2
回答正确 √
试题解析
快速排序最坏情况就是每次选的基准数都和其他数做过比较,共需比较(n-1)+(n-2)+..+1=n(n-1)/2,选D。
点击答题丨点击选项查看对错丨展开动画
2.对于while(!E)s; ,若要执行循环体s,则E的取值应为:()。
A.E等于1
回答错误 ✕
B.E不等于0
回答错误 ✕
C.E不等于1
回答错误 ✕
D.E等于0
回答正确 √
试题解析
若要让循环"while(!E) s;' 执行循环体s,则循环条件"!E"为真,即表达式E需为假,而C语言中用非0表示真,0表示假,所以E需要等于0,答案选D。
点击答题丨点击选项查看对错丨展开动画
3.下面不能作为软件设计工具的是( )。
A.程序流程图
回答错误 ✕
B.PAD图
回答错误 ✕
C.总体结构图
回答错误 ✕
D.数据流程图(DFD图)
回答正确 √
试题解析
软件概要设计的常用工具是结构图(系统结构图),结构图是描述软件结构的图形工具。软件详细设计的工具包括:图形工具(程序流程图、N-S图、PAD图、HIPO图),表格工具(判定表),语言工具(PDL)。故本题答案为D。
点击答题丨点击选项查看对错丨展开动画
4.有如下程序
#include
main()
{
int i= 1;
for (printf("%d", i); i<4; i++)
print("%d", i);
printf("\n");
程序运行后的输出结果是( )。
A.0123
回答错误 ✕
B.123
回答错误 ✕
C.1123
回答正确 √
试题解析
for语句的- -般形式为"for(表达式1;表达式2;表达式3 ) {循环体语句}",其执行流程是先计算表达式1,之后计算表达式2,根据表达式2的值来判定是否进行循环,若为真,则执行循环体,循环体执行完毕之后再计算表达式3的值。整个循环过程中,表达式的值只会执行-次,而表达式2、3以及循环体每次循环都会执行,所以答案选C。
D.001
回答错误 ✕
点击答题丨点击选项查看对错丨展开动画
5.下面属于 黑盒测试方法的是()。
A.边界值分析法
回答正确 √
试题解析
白盒测试的主要方法有逻辑覆盖测试(语句覆盖、路径覆盖、判断覆盖、条件覆盖、判断-条件覆盖)、 基本路径测试等。黑盒测试的主要方法有:等价类划分法、边界值分析法、错误推测法和因果图等。故本题答案为A。
B.基本路径测试
回答错误 ✕
C.条件覆盖
回答错误 ✕
D.条件-分支覆盖
回答错误 ✕
点击答题丨点击选项查看对错丨展开动画
6.以下叙述中正确的是()。
A.continue语句使得整个循环终止
回答错误 ✕
B.break语句不能用于提前结束for语句的本层循环
回答错误 ✕
C.使用break语句可以使流程跳出switch语句体
回答正确 √
试题解析
break语句通常用在循环语句和开关语句中。当break用于开关语句switch中时,可使程序跳出switch而执行switch以后的语句;当break语句用于do-while. for. while循环语句中时,可使程序终止循环而执行循环后面的语句,即满足条件时便跳出循环。continue语句的作用是跳过循环体中剩余的语句而强行执行下一-次循环。A、B和D三个选项中均有错误。因此C选项正确。
D.在for语句中,continue与break的效果是一样的,可以互换
回答错误 ✕
点击答题丨点击选项查看对错丨展开动画