A、 必须是逻辑表达式
B、 必须是关系表达式
C、 必须是逻辑表达式或关系表达式
D、 可以是任意合法的表达式
答案:D
解析:【解析】if中的表达式一般是关系表达式或逻辑表达式,用于描述选择结构的条件,但也可以是其他类型表达式,在其值非零时为真,所以任意合法的表达式都可以做if语句的判断条件。答案选择D选项。
A、 必须是逻辑表达式
B、 必须是关系表达式
C、 必须是逻辑表达式或关系表达式
D、 可以是任意合法的表达式
答案:D
解析:【解析】if中的表达式一般是关系表达式或逻辑表达式,用于描述选择结构的条件,但也可以是其他类型表达式,在其值非零时为真,所以任意合法的表达式都可以做if语句的判断条件。答案选择D选项。
解析:【解析】对N个数进行排序的算法很多,其中最简单的排序算法是冒泡算法。利用双层for循环嵌套和一个if判断语句来实现,外层循环用来控制需比较的轮数,内层循环用来控制两两比较。全国计算机等级考试《二级C语言程序设计》真题及详解(五)测试程序,按照题目上的内容进行答题。作答选择题时键盘被封锁,使用键盘无效,考生须使用鼠标答题。选择题部分只能进入一次,退出后不能再次进入。选择题部分不单独计时。)
A. 算法的执行时间
B. 算法所处理的数据量
C. 算法程序中的语句或指令条数
D. 算法在执行过程中所需要的基本运算次数
解析:【解析】算法的复杂度主要包括时间复杂度和空间复杂度。算法的时间复杂度,是指执行算法所需要的计算工作量,即基本运算次数;算法的空间复杂度,一般是指执行这个算法所需要的内存空间。答案选择D选项。
A. -1
B. 0
C. 1
D. 7
解析:【解析】“++”和“—”运算,当以前缀形式出现时,则先进行加一或减一操作,再取值,当以后缀形式出现时,则先取值,再进行加一或减一操作。程序中执行a--,直到while判断为0时才跳出循环,执行下条语句,即a为0时再执行a--,此时跳出while循环,最终输出的结果为-1。答案选择A选项。
A. 边界值分析法
B. 基本路径测试
C. 等价类划分法
D. 错误推测法
解析:【解析】白盒测试是把程序看成装在一只透明的白盒子里,测试者完全了解程序的结构和处理过程。它根据程序的内部逻辑来设计测试用例,检查程序中的逻辑通路是否都按预定的要求正确地工作。白盒测试的主要技术有逻辑覆盖测试、基本路径测试等,B选项正确。常用的黑盒测试方法和技术有:等价类划分法、边界值分析法、错误推测法和因果图等,ACD三项错误。答案选择B选项。
A. 笛卡儿积
B. 交
C. 并
D. 自然连接
解析:【解析】交和并运算要求关系R和S具有相同的属性,BC两项错误。R与S的笛卡儿积是一个4元关系,有4个元素,A项错误。R与S有公共的属性B,可通过公共属性的相等值进行连接,这种连接称之为自然连接。答案选择D选项。
A. if(a>b){printf("x=%d,",x);j++}else{printf("y=%d,",y);i++}
B. if(a>b){printf("x=%d,",x);i++}else{printf("y=%d,",y);j++}
C. if(a<=b){printf("x=%d,",x);i++}else{printf("y=%d,",y);j++}
D. if(a>=b){printf("x=%d,",x);i++}else{printf("y=%d,",y);j++}
解析:【解析】程序段执行过程为:如果a>b,输出x,否则输出y;如果a否则j加1。A项如果a>b,输出x且j加1,否则输出y且i加1,与题目中功能相同,A项正确。B项如果a>b,输出x且i加1,否则输出y且j加1,与题目中功能不相同,B项错误。C项如果a<=b,输出x且i加1,否则输出y且j加1,与题目中功能不相同,C项错误。D项判断条件为a>=b,多了a=b,D项错误。答案选择A选项。
A. 提高模块独立性
B. 使模块的作用域在该模块的控制域中
C. 设计成多入口、多出口模块
D. 设计功能可预测的模块
解析:【解析】优秀的设计准则可以对软件结构图进行优化,包括:①设计功能可预测的模块;②设计成单入口、单出口的模块;③应减少模块的接口和界面的复杂性;④使模块的作用域在该模块的控制域中;⑤深度、宽度、扇出和扇入适当;⑥模块规模适中;⑦模块独立性好。答案选择
A. 30
B. 20
C. m-19
D. m-20
解析:【解析】初始状态为栈顶指针指向高地址,top=m+1,每次入栈top-1。那么当第x个元素入栈时,top=m+1-x=20,解得x=m+1-20=m-19。答案选择C选项。