答案解析
一、选择题
(1)C
【解析】所谓数据的逻辑结构,是指反映数据元素之间逻辑关系的数据结构。
所谓数据的存储结构,是指数据的逻辑结构在计算机存储空间中的存放形式。与数据元素本身的形式、内容、相对位置、个数有关。
逻辑结构与物理存储无关。 因此本题的正确答案为 C。
(2)C
【解析】A项中:链式存储结构由于有指针域的存在,其比顺序存储结构的存储密度要小,即相同存储空间下存的数据少。选项中的叙述是正确的。
B项中:链式存储结构可通过指针访问下一个结点,此结点可能与上一结点相邻, 也可能不相邻。选项中的叙述是正确的。
C项中:链式存储结构如果要计算第I个结点的存储地址,不能直接从首结点直接计算,而必须通过指针域来顺序查找,最后再定位。选项中的叙述是错误的。
D项中:链式存储结构在插入、删除结点时,可通过修改指针域的值来完成,而不必移动其他结点,操作方便。选项中的叙述是正确的。
因此本题的正确答案为C 。
(3)A
【解析】快速排序的基本方法:在待排序的序列中任取一个记录,以它为基准用交换的方法将所有的记录分成两个部分--关键码比它小的一个部分和关键码比它大的另一个部分,再分别对两个部分实施上述过程,一直重复到排序完成为止。最坏的情况指的是对已经排好序的记录进行完全相反的排序。因此本题的正确答案是A。
(4)B
【解析】耦合性与内聚性是模块独立性的两个定性标准。在程序结构中,各模块的内聚性越强,则耦合性越弱。一般较优秀的软件设计,应尽量做到高内聚、低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。故本题答案为B。
(5)C
【解析】总体设计过程通常由两个主要阶段组成:系统设计,确定系统的具体实现方案;结构设计,确定软件结构。为确定软件结构,首先需要从实现角度把复杂的功能进一步分解。分析员结合算法描述仔细分析数据流图中的每个处理,如果一个处理的功能过分复杂,必须把它的功能适当地分解成一系列比较简单的功能。
(6)D
【解析】 面向对象的世界是通过对象与对象间彼此的相互合作来推动的,对象间的这种相互合作需要一个机制协助进行,这样的机制称为消息。消息是一个实例与另一个实例之间传递的信息,它请求对象执行某一处理或回答某一要求的信息,它统一了数据流和控制流。
(7)C
【解析】本题考查的是数据模型。层次模型是最早发展起来的数据库模型,它的基本结构是树形结构。故本题答案为C。
(8)A
【解析】 E-R图中用矩形表示实体集,用椭圆形表示属性,用菱形表示联系。
(9)A
【解析】数据库设计可分为概念设计与逻辑设计。
数据库概念设计的目的是分析数据间内在语义关联,在此基础上建立一个数据的抽象模型。
数据库逻辑设计的主要工作是将E-R图转换为指定的RDBMS中的关系模型。
(10)A
【解析】从关系中找出满足给定条件的元组的操作称为选择。选择是从行的角度进行的运算,即从水平方向抽取记录。由图可知关系R通过运算得到关系T,关系T与关系R相比,属性的个数没有发生变化,记录的条数发生了变化。因此所使用的运算应该是选择。故本题答案为A。
(11)D
【解析】Access数据库由数据库对象和组两部分组成。其中对象又分为7种,包括:表、查询、窗体、报表、数据访问页、宏、模块。这些对象都存放在扩展名为.mdb的数据库文件中。所以本题答案为D。
(12)A
【解析】一个关系就是一个二维表,每个关系有一个关系名。在Access中,一个关系存储为一个表,具有一个表名。所以本题答案为A。
(13)B
【解析】一个关系数据库的表中有多条记录,记录之间的前后顺序并不会对库中的数据关系产生影响。所以本题答案为B。
(14)A
【解析】随机数函数Rnd(<数值表达式>)用于产生一个小于1但大于或等于0的值,该数值为单精度类型。实际操作时,先要使用无参数的Randomize语句初始化随机数生成器,以产生不同的随机数序列。Int(数值表达式)是对表达式进行取整操作,它并不做"四舍五入"运算,只是取出"数值表达式"的整数部分。所以本题答案为A。
(15)D
【解析】若要求当文本框用来接收用户输入的密码信息时,不显示输入的具体密码值而以"*"号显示,可以将文本框的"输入掩码"属性设置为"密码"。所以本题答案为D。
(16)D
【解析】SELECT语句的语法包括几个主要子句,分别是:FROM、WHERE和ORDER BY子句。在语句中WHERE后跟条件表达式,用于实现选择运算。所以本题答案为D。
(17)A
【解析】在Access的查询设计器中,同一行条件表示与的关系,不同行间的条件表示或的关系,由设计器界面可知,该查询是查找身高在160以上的女性和所有的男性。所以本题答案为A。
(18)C
【解析】生成表查询就是从多个表中提取数据组合起来生成一个新表永久保存;删除查询可以从一个或多个表中删除一组记录,删除查询将删除整个记录,而不只是记录中所选择的字段;更新查询对一个或多个表中的一组记录作全部更新;追加查询从一个或多个表中将一组记录添加到一个或多个表的尾部。使用生成表查询可以覆盖原来的表。所以本题答案为C。
(19)C
【解析】要使x和y都是奇数,则x和y除以2的余数都必须是1。所以本题答案为C。
(20)D
【解析】题目要求在对文本框进行操作后,命令按钮上的标题改变,所以选项A和C可以排除。选项B"tText_Click()"是在鼠标单击文本框后,不需要输入字符,命令按钮上的标题就发生改变,所以选项B也不对。所以本题答案为D。
(21)A
【解析】Mid(<字符串表达式>,,[N2]):从字符串左边第N1个字符起截取N2个字符。Left(<字符串表达式>,):从字符串左边起截取N个字符。Right(<字符串表达式>,):从字符串右边起截取N个字符。本题从字符串s中的第2个字符开始获得4个字符,故为Mid$(s,2,4)。所以本题答案为A。
(22)A
【解析】RunApp操作是启动另一个Microsoft Windows或MS-DOS应用程序;RunCode操作是执行Visual Basic函数;RunMacro操作是执行一个宏;RunSQL操作是执行指定的SQL语句以完成操作查询。所以本题答案为A。
(23)D
【解析】在VBA中,如果没有显式声明或用符号来定义变量的数据类型,变量的默认数据类型为Variant。所以本题答案为D。
(24)C
【解析】SetValue命令可以对Access窗体、窗体数据表或报表上的字段、控件、属性的值进行设置。SetValue命令有两个参数,第一个参数是项目(Item),作用是存放要设置值的字段、控件或属性的名称。本题要设置的属性是标签的Caption([Label0].[Caption])。第二个参数是表达式(Expression),使用该表达式来对项的值进行设置,本题的表达式是文本框的内容([Text0]),所以对Text0更新后运行的结果是文本框的内容复制给了标签的标题。所以本题答案为C。
(25)D
【解析】在报表的页面页脚节中一般包含页码或控制项的合计内容,数据显示安排在文本框和其他一些类型的控件中。设置控件的控件来源属性关键要有"=",在报表每页底部显示格式为"页码/总页数"的页码,所以应当设置文本框控件的控件来源属性为"=Page& "/"&Pages"。所以本题答案为D。
(26)A
【解析】"On Error Goto 标号"语句在遇到错误发生时程序转移到标号所指位置代码执行,一般标号之后都是安排错误处理程序。"On Error Resume Next"语句在遇到错误发生时不会考虑错误,并继续执行下一条语句。"On Error Goto 0"语句用于取消错误处理。所以本题答案是A。
(27)C
【解析】消息框用于在对话框中显示信息,其使用格式为:MsgBox(prompt[, buttons] [,title] [, helpfile] [, context])。其中,第一个参数是显示在对话框上的内容;第二个参数用于指定显示按钮的数目及形式,使用的图标样式等;第三个参数是对话框标题栏显示的内容。本题中,显示的内容为"AAAA",标题为"BBBB",而vbOKCancel表示对话框中显示"确定"和"取消"两个按钮,vbQuestion表示显示问号图标。所以本题答案为C。
(28)C
【解析】第一次循环后,s=s+1=1,i = i * 2=1*2=2;第二次循环后,s=s+1=2,i = i * 2=(2+2)*2=8;第三次循环后,s=s+1=3,i = i * 2=(8+2)*2=20;由于Next i,所以i=i+2=20+2=22,此时22>10,循环结束,所以i的值为22,s的值为3。所以本题答案是C。
(29)A
【解析】VBA常用的验证函数为:IsNumeric、IsDate、IsNull、IsEmpty、IsArray、IsError、IsObject。所以本题答案是A。
(30)D
【解析】Day函数是返回日期表达式日期的整数。Year函数是返回日期表达式年份的整数。Month函数是返回日期表达式月份的整数。DateSerial函数是返回指定年月日的日期。格式为DateSerial(表达式1、表达式2、表达式3),如果表达式3为0,则DateSerial返回表达式2所写前一个月的最后一天的日期。要返回当月的最后一天的日期,表达式2就要等于Month(DD)+1。所以本题答案是D。
(31)B
【解析】过程定义时,如果形式参数被说明为传值(ByVal项),则过程调用只是相应位置实参的值"单向"传送给形参处理,而被调用过程内部对形参的任何操作引起的形参值的变化均不会反馈、影响实参的值。由于这个过程,数据的传递只是单向性,故称为"传值调用"的"单向"作用形式。反之,如果形式参数被说明为传址(ByRef项),则过程调用是将相应位置实参的地址传送给形参处理,而被调用过程内部对形参的任何操作引起的形参值的变化又会反向影响实参的值。在这个过程中,数据的传递具有双向性,故称为"传址调用"的"双向"作用形式。在过程定义时,如果未做参数说明,则默认为传址调用。本题过程S1采用的是传值的方式,当然无法实现交换两个变量的值的操作。过程S2形式参数未说明,则默认采用的是传址的方式,可以实现两个变量的值的交换操作。所以本题答案是B。
(32)B
【解析】首先看程序中的Function P函数,在该函数中,首先定义了整型变量Sum,并为变量Sum赋初值0,然后设置了一个For循环,将函数参数作为For循环的控制条件,通过语句"Sum = Sum + i",将循环次数累计相加。在按钮单击事件"Command1_Click()"通过语句"s=p(1)+p(2)+p(3)+p(4)"调用函数并将函数结果用于计算,下面就来分析一下程序运行过程:
P(1),带入函数P的参数N=1,For循环运行1次:i=1:Sum=0+1=1,所以P(1)=1;
P(2),带入函数P的参数N=2,For循环运行2次:i=1:Sum=0+1=1,i=2:Sum=1+2=3,所以P(2)=3;
P(3),带入函数P的参数N=3,For循环运行3次:i=1:Sum=0+1=1,i=2:Sum=1+2=3,i=3:Sum=3+3=6,所以P(3)=6;
P(4)带入函数P的参数N=3,For循环运行4次:i=1:Sum=0+1=1,i=2:Sum=1+2=3,i=3:Sum=3+3=6,i=4:Sum=6+4=10,所以P(4)=10;那么,s = P(1)+P(2) +P(3) +P(4)= 1+3+6+10=20,所以输出结果为20。所以本题答案为B。
(33)D
【解析】首先看一下程序结构,本程序有三个For循环,赋值语句"x = 3"在第一层循环语句"For I=1 To 4"内,也就是说,无论I的值是1还是4,循环的结果都一样,因为在第一轮循环执行结束,第二轮循环开始时,变量x的值都会恢复为3,所以可以将"For I=1 To 4"看作只执行了一次。根据"For j = 1 To 3"和"For k = 1 To 2"这个嵌套循环,我们可以推算出语句"x = x + 3"执行了6次,循环过程如下:j=1时:k=1,x=3+3=6,k=2,x=6+3=9;j=2时:k=1,x=9+3=12,k=2,x=12+3=15;j=3时:k=1,x=15+3=18,k=2,x=18+3=21。所以程序通过语句"Text1.value = Str(x)",在文本框中输出的结果为21。所以本题答案为D。
(34)D
【解析】取整函数Int(<数值表达式>):返回数值表达式的整数部分。本题中当输入的数num除2取整等于num除2的值时,即num为偶数时,变量a加1;当输入的数为奇数时变量b加1。变量a用来统计偶数的个数,变量b用来统计奇数的个数。所以本题答案为D。
(35)D
【解析】由于消息"AA"和"CC"都没有设置条件,而消息"BB"设置的条件为[tt]>1。所以,打开窗体"fTest"运行后,在窗体上名为"tt"的文本框内输入数字1,不符合消息"BB"的条件,因此不会显示消息"BB",而显示没有设置条件的消息"AA"和"CC"。故本题答案选D。
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |