选择题
公共知识
【1】下列叙述中正确的是
程序执行的效率与数据的存储结构、数据的逻辑结构、程序的控制结构、所处理的数据量等有关。
【2】下列与队列结构有关联的是
队列的修改是依先进先出的原则进行的, D正确。
【3】对下列二叉树
进行前序遍历的结果为
进行前序遍历的结果为
前序遍历是指在访问根结点、遍历左子树与遍历右子树这三者中, 首先访问根结点, 然后遍历左子树, 最后遍历右子树;
并且, 在遍历左右子树时, 仍然先访问根结点, 然后遍历左子树, 最后遍历右子树。
前序遍历描述为:若二叉树为空, 则执行空操作。
否则:①访问根结点; ②前序遍历左子树; ③前序遍历右子树, C正确。
前序遍历描述为:若二叉树为空, 则执行空操作。
否则:①访问根结点; ②前序遍历左子树; ③前序遍历右子树, C正确。
【4】一个栈的初始状态为空。现将元素1, 2, 3, A, B, C依次入栈, 然后再依次出栈, 则元素出栈的顺序是
栈的修改是按后进先出的原则进行的, 所以顺序应与入栈顺序相反, 故选C。
【5】下面属于白盒测试方法的是
白盒测试法主要有逻辑覆盖、基本路径测试等。
逻辑覆盖测试包括语句覆盖、路径覆盖、判定覆盖、条件覆盖、判断-条件覆盖, 选择B。
其余三项为黑盒测试法。
逻辑覆盖测试包括语句覆盖、路径覆盖、判定覆盖、条件覆盖、判断-条件覆盖, 选择B。
其余三项为黑盒测试法。
【6】下面对对象概念描述正确的是
对象之间进行通信的构造叫做消息, A正确。
多态性是指同一个操作可以是不同对象的行为, D错误。
对象不一定必须有继承性, C错误。
封装性是指从外面看只能看到对象的外部特征, 而不知道也无须知道数据的具体结构以及实现操作, B错误。
多态性是指同一个操作可以是不同对象的行为, D错误。
对象不一定必须有继承性, C错误。
封装性是指从外面看只能看到对象的外部特征, 而不知道也无须知道数据的具体结构以及实现操作, B错误。
【7】软件设计中模块划分应遵循的准则是
根据软件设计原理提出如下优化准则:①划分模块时, 尽量做到高内聚、低耦合, 保持模块相对独立性, 并以此原则优化初始的软件结构。
②一个模块的作用范围应在其控制范围之内, 且判定所在的模块应与受其影响的模块在层次上尽量靠近。
③软件结构的深度、宽度、扇入、扇出应适当。
④模块的大小要适中。
故C项正确。
【8】下面描述中不属于数据库系统特点的是
数据库系统的特点为高共享、低冗余、独立性高、具有完整性等, C错误。
【9】数据库设计过程不包括
数据库设计过程主要包括需求分析、、概念结构设计、逻辑结构分析、数据库物理设计、数据库实施、数据库运行和维护阶段。
答案为D选项。
答案为D选项。
【10】有三个关系R、S和T如下:
则由关系R和S得到关系T的操作是
则由关系R和S得到关系T的操作是
关系R和关系S有公共域, 关系T是通过公共域的等值进行连接的结果, 符合自然连接, 选A。
专业知识
【11】下列叙述中正确的是
C程序中主函数不能被其他函数调用, 所以A选项错误。
main函数可以放在程序开始, 也可以放在中间, 也可以放在最后, 位置不固定, 但程序执行时必须从main函数开始, 所以B选项错误。
在C程序的函数中不能定义另一个函数, 可以声明或调用另一个函数, 所以C选项正确。
每个C程序中必须包含一个main函数, 但不一定是每个C程序文件中必须有, 用户单独编写的某个函数也可以存储为一个C程序文件, 所以D选项错误。
main函数可以放在程序开始, 也可以放在中间, 也可以放在最后, 位置不固定, 但程序执行时必须从main函数开始, 所以B选项错误。
在C程序的函数中不能定义另一个函数, 可以声明或调用另一个函数, 所以C选项正确。
每个C程序中必须包含一个main函数, 但不一定是每个C程序文件中必须有, 用户单独编写的某个函数也可以存储为一个C程序文件, 所以D选项错误。
【12】以下叙述正确的是
C语言程序是由函数组成的, 所以B错误。
C语言函数可以单独进行编译, 所以C错误。
每个C程序中必须包含一个main函数, 但不一定是每个C程序文件中必须有, 用户单独编写的某个函数也可以存储为一个C程序文件, 所以D错误。
C语言函数可以单独进行编译, 所以C错误。
每个C程序中必须包含一个main函数, 但不一定是每个C程序文件中必须有, 用户单独编写的某个函数也可以存储为一个C程序文件, 所以D错误。
【13】以下选项中合法的标识符是
C语言中的标识符由下划线、字母和数字组成, 且必须以下划线或字母开始, 所以只有D选项正确。
【14】表达式3.6 - 5 / 2 + 1.2 + 5 % 2的值是
计算5 / 2, 结果取整数值2。
计算3.6 - 2, 结果与高精度数据保持一致, 即为1.6。
计算1.6 + 1.2, 结果为2.8。
计算5 % 2, 结果为1。
计算2.8 + 1结果为3.8。
所以选择D选项。
计算3.6 - 2, 结果与高精度数据保持一致, 即为1.6。
计算1.6 + 1.2, 结果为2.8。
计算5 % 2, 结果为1。
计算2.8 + 1结果为3.8。
所以选择D选项。
【15】有以下定义:
int a;
long b;
double x, y;
则以下选项中正确的表达式是
C语言中没有"< >"运算符, 所以A选项错误。
"%"运算符的两个操作值必须为整型数据, 所以B选项正确。
a * y的结果为double型, 所以C选项错误。
不能将值赋给像x + y这样的表达式, 所以D选项错误。
"%"运算符的两个操作值必须为整型数据, 所以B选项正确。
a * y的结果为double型, 所以C选项错误。
不能将值赋给像x + y这样的表达式, 所以D选项错误。
【16】有以下程序
#include <stdio.h>
void main() {
int a = 0, b = 0;
/*给a赋值 a = 10;
b = 20;
给b赋值*/
printf("a+b=%d
", a + b);
/*输出计算结果*/
}
程序运行后的输出结果是
注释语句可以在一行也可以在多行, 用/*……*/
或//表示, 。
它不参与程序的运行, 所以a与b的值仍然为0, 所以打印的结果为a + b = 0。
它不参与程序的运行, 所以a与b的值仍然为0, 所以打印的结果为a + b = 0。
【17】以下选项中, 值为1的表达式是