1、二级 VISUAL+FOXPRO笔试-334 及答案解析(总分:98.00,做题时间:90 分钟)一、选择题(总题数:21,分数:70.00)(11)(13)题使用下图,表单名为 Form1,表单中有两个命令按钮(Command1 和 Command2)、两个标签、两个文本框(Text1 和 Text2)。(分数:6.00)(1).如果在运行表单时,要使表单的标题栏显示“登录窗口”,则可以在 Form1的 Load事件中加入语句( )。(分数:2.00)A.THSFORM. CAPTION=“登录窗口”B.FORM1. CAPTION=“登录窗口”C.THISFORM. NAME=“登录窗口”
2、D.FORM1. NAME=“登录窗口”(2).如果想在运行表单时,向 Text2中输入字符,回显字符显示的是“*”号,则可以在 Form1的 Init事件中加入语句( )。(分数:2.00)A.FORM1. TEXT2. PASSWORDCHAR=“*“B.FORM1. TEXT2. PASSWORD=“*“C.THSFORM. TEXT2. PASSWORD=“*“D.THISFORM. TEXT2. PASSWORDCHAR=“*“(3).假设用户名和口令存储在自由表“口令表”中,当用户输入用户名和口令并单击“登录”按钮时,若用户名输入错误,则提示“用户名错误”:若用户名输入正确,而口令
3、输入错误,则提示“口令错误”。若命令按钮“登录”的 Click事件中的代码如下:USE 口令表GO TOPflag=0DO WHILE.not. EOF()IF Alltrim(用户名)=Alltrim(Thisform. Text1. Value)IF Alltrim(口令)=Alltrim(Thisform. Text2. Value)WAIT“欢迎使用” WINDOW TIMEOUT2ELSEWAIT“口令错误” WINDOW TIMEOUT2ENDIFflag=1EXITENDIFSKIPENDDOIF _WAIT“用户名错误” WINDOW TIMEOUT2END IF则在横线处应填
4、写的代码是( )。(分数:2.00)A.flag=1B.flag=0C.flag=1D.flag=21.如果学生表 STUDENT是使用下面的 SQL语句创建的:CREATE TABLE STUDENT(SNO C(4) PRIMARY KEY NOT NULL,;SN C(8),;SEX C(2),;AGE N(2) CHECK(AGE15 AND AGE30)下面的 SQL语句中可以正确执行的是( )。(分数:2.00)A.INSERT INTO STUDENT(SNO, SEX, AGE) VALUES(“S9”,“男”,17)B.INSERT INTO STUDENT(SN, SEX,
5、 AGE) VALUES (“李安琦”,“男”,20)C.INSERT INTO STUDENT(SEX, AGE) VALUES (“男”,20)D.INSERT INTO STUDENT(SNO, SN) VALUES (“S9”,“安琦”,16)2.在面向对象方法中,实现信息隐蔽是依靠( )。(分数:2.00)A.对象的继承B.对象的多态C.对象的封装D.对象的分类3.程序设计方法要求在程序设计过程中,( )。(分数:2.00)A.先编制出程序,经调试使程序运行结果正确后再画出程序的流程图B.先编制出程序,经调试使程序运行结果正确后再在程序中的适当位置处加注释C.先画出流程图,再根据流程
6、图编制出程序,最后经调试便程序运行结果正确后再在程序中的适当位置处加注释D.以上 3种说法都不对4.设有学生表 S(学号,姓名,性别,年龄),查询所有年龄小于等于 18岁的女同学、并按年龄进行降序排序生成新的表 WS,正确的 SQL命令是( )。(分数:2.00)A.SELECT* FROM SWHERE 性别=女 AND 年龄=18 ORDER BY 4 DESC INTO TABLE WSB.SELECT* FROM SWHERE 性别=女 AND 年龄=18 ORDER BY 年龄 INTO TABLE WSC.SELECT* FROM SWHERE 性别=女 AND 年龄=18 ORD
7、ER BY 年龄 DESC INTO TABLE WSD.SELECT* FROM SWHERE 性别=女 OR 年龄=18 ORDER BY 年龄 ASC INTO TABLE WS5.在面向对象的程序设计中,下列叙述中错误的是( )。(分数:2.00)A.对象是面向对象软件的基本模块B.对象不是独立存在的实体,各个对象之间有关联,彼此依赖C.下一层次的对象可以继承上一层次对象的某些属性D.同样的消息被不同对象接受时,可导致完全不同的行动6.以下程序求 1!+2!+ 3!+. +10!的累加和,请为下面的程序选择正确的答案( )。s=0FOR i=1 TO 10t=1FOR j=1 TO _
8、t=t*jNEXTs=s+ tNEXT? S(分数:2.00)A.10B.jC.9D.i7.下列数据结构中,能用二分法进行查找的是( )。(分数:2.00)A.顺序存储的有序线性表B.线性链表C.二叉链表D.有序线性链表8.将 Student. dbf表中 jg字段的名称改为籍贯,如下选项中正确的 SQL语句是( )。(分数:2.00)A.ALTER TABLE student ALTER COLUMN jg TO 籍贯B.ALTER TABLE student ADD 籍贯 C(10)C.ALTER TABLE student RENAME jg TO 籍贯D.ALTER TABLE stu
9、dent RENAME jg 籍贯9.冒泡排序在最坏情况下的比较次数是( )。(分数:2.00)A.n(n+1)/2B.nlog2nC.n(n-1)/2D.n/210.在“项目管理器”下为项目建立一个新报丧,应该使用的选项卡是( )。(分数:2.00)A.数据B.文档C.类D.代码11.下列叙述中正确的是( )。(分数:2.00)A.数据的逻辑结构与存储结构必定一一对应B.由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C.程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构D.以上 3种说法都不对12.让控件获得焦点,使其成为活动对象的方法是( )。
10、(分数:2.00)A.ShowB.ReleaseC.SetFocusD.GotFocus13.对于长度为 n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是( )。(分数:2.00)A.冒泡排序为 n/2B.冒泡排序为 nC.快速排序为 nD.快速排序为 n(n-1)/214.下列实体的联系中,属于多对多联系的是( )。(分数:2.00)A.学生与课程B.学校与校长C.住院的病人与病床D.职工与工资15.设有关系 R1和 R2,经过关系运算得到结果 S,则 S是( )。(分数:2.00)A.一个关系B.一个表单C.一个数据库D.一个数组16.下面对控件的描述正确的是( )。(分数
11、:2.00)A.用户可以在组合框中进行多重选择B.用户可以在列表框中进行多重选择C.用户可以在一个选项组中选中多个选项按钮D.用户对一个表单内的一组复选框只能选中其中一个17.下列关于 E-R图的描述中正确的是( )。(分数:2.00)A.E-R图只能表示实体之间的联系B.E-R图只能表示实体和实体之间的联系C.E-R图只能表示实体和属性D.E-R图能表示实体、属性和实体之间的联系18.在表单运行中,当结果发生变化时,应刷新表单,刷新表单所用的命令是( )。(分数:2.00)A.RELEASEB.DELETEC.REFRESHD.PACK19.下列描述中正确的是( )。(分数:2.00)A.软
12、件工程只是解决软件项目的管理问题B.软件工程主要解决软件产品的生产率问题C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D.软件工程只是解决软件开发中的技术问题(15)(27)题使用的数据如下:当前盘当前目录下有数据库 db_ stock,其中有数据库表 stock dbf,该数据库表的内容是:股票代码 股票名称 单价 交易所600600 青岛啤酒 7.48 上海600601 方正科技 15.20 上海600602 广电电子 10.40 上海600603 兴业房产 12.76 上海600604 二纺机 9.96 上海600605 轻工机械 14.59 上海000001 深发展 7
13、.48 深圳000002 深万科 12.50 深圳(分数:26.00)(1).执行如下 SQL语句后( )。SELECT* FROM stock INTO DBF stock ORDER BY 单价(分数:2.00)A.系统会提示出错信息B.会生成一个按“单价”升序排序的表文件,将原来的 stock. dbf文件覆盖C.会生成一个按“单价”降序排序的表文件,将原来的 stock. dbf文件覆盖D.不会生成排序文件,只在屏幕上显示一个按“单价”升序排序的结果(2).执行下列程序段以后,内存变量 a的内容是( )。CLOSE DATABASEa=0USE stockGO TOPDO WHILE.
14、 NOT. EOF()IF单价10a=a+1ENDIFSKIPENDDO(分数:2.00)A.1B.3C.5D.7(3).有如下 SQL SELECT语句:SELECT* FROM stock WHERE 单价 BETWEEN 12.76 AND 15.20与该语句等价的是( )。(分数:2.00)A.SELECT *FROM stock WHERE 单价=15.20.AND.单价=12.76B.SELECT *FROM stock WHERE 单价15.20.AND.单价12.76C.SELECT *FROM stock WHERE 单价=15.20 .AND. 单价=12.76D.SELE
15、CT *FROM stock WHERE 单价15.20.AND.单价12.76(4).如果在建立数据库表 stock. dbf时,将单价字段的有效性规则设为“单价0”,通过该设置,能保证数据的( )。(分数:2.00)A.实体完整性B.域完整性C.参照完整性D.表完整性(5).在当前盘当前目录下删除表 stock的命令是( )。(分数:2.00)A.DROP stockB.DELETE TABLE stockC.DROP TABLE stockD.DELETE stock(6).有如下 SQL语句:SELECT max (单价) INTO ARRAY a FROM stock执行该语句后(
16、)。(分数:2.00)A.a1的内容为 15.20B.a1的内容为 6C.a0的内容为 15.20D.s0的内容为 6(7).有如下 SQL语句:SELECT 股票代码,avg(单价)as 均价 FROM stock;GROUP BY交易所 INTO DBF temp执行该语句后,temp 表中第二条记录的“均价”字段的内容是( )。(分数:2.00)A.7.48B.9.99C.11.73D.15.20(8).将 stock表的股票名称字段的宽度由 8改为 10,应使用 SQL语句( )。(分数:2.00)A.ALTER TABLE stock股票名称 WITH c(10)B.AITER TA
17、BLE stock股票名称 c(10)C.ALTER TABLE stock ALTER股票名称 c(10)D.ALTER stock ALTER股票名称 c(1O)(9).有如下 SQL语句:CREATE VIEW stock view AS SELECT* FROM stock WHERE 交易所=“深圳”执行该语句后产生的视图包含的记录个数是( )。(分数:2.00)A.1B.2C.3D.4(10).有如下 SQL语句:CREATE VIEW view_ stock AS SELECT 股票名称 AS 名称,单价 FROM stock执行该语句后产生的视图含有的字段名是( )。(分数:2
18、.00)A.股票名称、单价B.名称、单价C.名称、单价、交易所D.股票名称、单价、交易所(11).下面有关对视图的描述正确的是( )。(分数:2.00)A.可以使用 MODIFY STRUCTURE命令修改视图的结构B.视图不能删除,否则影响原来的数据文件C.视图是对表的复制产生的D.使用 SQL对视图进行查询时,必须事先打开该视图所在的数据库(12).执行如下 SQL 语句后:SELECT DISTINCT 单价 FROM stock;WHERE 单价=(SELECT min(单价)FROM stock)INTO DBF stock_ x表 stock_ x中的记录个数是( )。(分数:2.
19、00)A.1B.2C.3D.4(13).求每个交易所的平均单价的 SQL语句是( )。(分数:2.00)A.SELECT 交易所,avg (单价)FROM stock GROUP BY 单价B.SELECT 交易所,avg (单价)FROM stock ORDER BY 单价C.SELECT 交易所,avg (单价)FROM stock ORDER BY 交易所D.SELECT 交易所,avg (单价)FROM stock GROUP BY 交易所二、填空题(总题数:14,分数:28.00)20.数据管理技术发展过程经过人工管理、文件系统和数据库系统这 3个阶段,其中数据独立性最高的阶段是 【
20、1】 。(分数:2.00)填空项 1:_21.在面向对象方法中,允许作用于某个对象上的操作称为 【2】 。(分数:2.00)填空项 1:_22.软件生命周期包括 8个阶段。为了使各时期的任务更明确,又可分为 3个时期:软件定义期、软件开发期、软件维护期。编码和测试属于 【3】 期。(分数:2.00)填空项 1:_23.在关系运算中, 【4】 运算是对两个具有公共属性的关系所进行的运算。(分数:2.00)填空项 1:_24.实体之间的联系可以归结为一对一的联系。一对多的联系与多对多的联系。如果一个学校有许多学生,而个学生只归属于一个学校,则实体集学校与实体集学生之间的联系属于 【5】 的联系。(
21、分数:2.00)填空项 1:_25.打开数据库设计器的命令是 【6】 DATABASE。(分数:2.00)填空项 1:_26.?AT (“EN“, RIGHT(“STUDENT“ ,4)的执行结果是 【7】 。(分数:2.00)填空项 1:_27.SQL插入记录的命令是 INSERT,删除记录的命令是 【8】 ,修改记录的命令是 【9】 。(分数:2.00)填空项 1:_28.Visual FoxPro中数据库文件的扩展名(后缀)是 【10】 。(分数:2.00)填空项 1:_29.如果想为表单换一个标题,可以在属性窗口中选取 【11】 属性。(分数:2.00)填空项 1:_30.在将设计好的
22、表单存盘时,系统将生成扩展名分别是 SCX和 【12】 的两个文件。(分数:2.00)填空项 1:_31.在 Visual FoxPro中,使用 SQL的 CREATE TABLE语句建立数据库表时,使用 【13】 子句说明有效性规则(域完整性规则或字段取值范围)。(分数:2.00)填空项 1:_32.说明公共变量的命令关键字是 【14】 (关键字必须拼写完整)。(分数:2.00)填空项 1:_33.在使用 SELECT 语句中,使用 【15】 子句指定查询所用的表。(分数:2.00)填空项 1:_二级 VISUAL+FOXPRO笔试-334 答案解析(总分:98.00,做题时间:90 分钟)
23、一、选择题(总题数:21,分数:70.00)(11)(13)题使用下图,表单名为 Form1,表单中有两个命令按钮(Command1 和 Command2)、两个标签、两个文本框(Text1 和 Text2)。(分数:6.00)(1).如果在运行表单时,要使表单的标题栏显示“登录窗口”,则可以在 Form1的 Load事件中加入语句( )。(分数:2.00)A.THSFORM. CAPTION=“登录窗口” B.FORM1. CAPTION=“登录窗口”C.THISFORM. NAME=“登录窗口”D.FORM1. NAME=“登录窗口”解析:解析 表单的 CAPTION属性用来设置表单的标题
24、,因此正确答案为选项 A。(2).如果想在运行表单时,向 Text2中输入字符,回显字符显示的是“*”号,则可以在 Form1的 Init事件中加入语句( )。(分数:2.00)A.FORM1. TEXT2. PASSWORDCHAR=“*“B.FORM1. TEXT2. PASSWORD=“*“C.THSFORM. TEXT2. PASSWORD=“*“D.THISFORM. TEXT2. PASSWORDCHAR=“*“ 解析:解析 文本框控件的 PasswordChar属性用来指定文本框控件内是显示用户输入的字符、占位符,还是用来指定用作占位符的字符。本题所要指定口令文本框的占位符为“*
25、”,因此可以写成 THISFORM. TEXT2. PASSWORDCHAR=“*”。(3).假设用户名和口令存储在自由表“口令表”中,当用户输入用户名和口令并单击“登录”按钮时,若用户名输入错误,则提示“用户名错误”:若用户名输入正确,而口令输入错误,则提示“口令错误”。若命令按钮“登录”的 Click事件中的代码如下:USE 口令表GO TOPflag=0DO WHILE.not. EOF()IF Alltrim(用户名)=Alltrim(Thisform. Text1. Value)IF Alltrim(口令)=Alltrim(Thisform. Text2. Value)WAIT“欢迎
26、使用” WINDOW TIMEOUT2ELSEWAIT“口令错误” WINDOW TIMEOUT2ENDIFflag=1EXITENDIFSKIPENDDOIF _WAIT“用户名错误” WINDOW TIMEOUT2END IF则在横线处应填写的代码是( )。(分数:2.00)A.flag=1B.flag=0 C.flag=1D.flag=2解析:解析 从题干中的程序段中可以看出,flag 变量起到了标志用户名是否输入的作用,用于标识用户是否正确地输入了用户名,当用户名被正确输入的时候,会将变量 flag的值置为 1,否则为 0。程序使用用 flag的值来判断是否用户名被正确输入。对 fla
27、g的值进行判断,如果 flag的值为 0,就是用户名没有被正确输入的情况。1.如果学生表 STUDENT是使用下面的 SQL语句创建的:CREATE TABLE STUDENT(SNO C(4) PRIMARY KEY NOT NULL,;SN C(8),;SEX C(2),;AGE N(2) CHECK(AGE15 AND AGE30)下面的 SQL语句中可以正确执行的是( )。(分数:2.00)A.INSERT INTO STUDENT(SNO, SEX, AGE) VALUES(“S9”,“男”,17) B.INSERT INTO STUDENT(SN, SEX, AGE) VALUES
28、 (“李安琦”,“男”,20)C.INSERT INTO STUDENT(SEX, AGE) VALUES (“男”,20)D.INSERT INTO STUDENT(SNO, SN) VALUES (“S9”,“安琦”,16)解析:解析 题干中创建表的 SQL语句使用了短语 PRIMARY KEY,将 SNO字段规定为主索引字段,同时使用短语 NOT NULL来规定在该字段中不允许出现空值,因此选项 B、C 都是错误的;而选项 D的错误在于,语句中的 VALUES后面所描述的插入记录值,与题干中所创建的字段不符。2.在面向对象方法中,实现信息隐蔽是依靠( )。(分数:2.00)A.对象的继承
29、B.对象的多态C.对象的封装 D.对象的分类解析:解析 通常认为,面向对象方法具有封装性、继承性、多态性几大特点。所谓封装就是将相关的信息、操作与处理融合在一个内含的部件中 (对象中)。简单地说,封装就是隐藏信息。3.程序设计方法要求在程序设计过程中,( )。(分数:2.00)A.先编制出程序,经调试使程序运行结果正确后再画出程序的流程图B.先编制出程序,经调试使程序运行结果正确后再在程序中的适当位置处加注释C.先画出流程图,再根据流程图编制出程序,最后经调试便程序运行结果正确后再在程序中的适当位置处加注释D.以上 3种说法都不对 解析:解析 程序设计的过程应是先画出流程图,然后根据流程图编制
30、出程序,所以选项 A错误。程序中的注释是为了提高程序的可读性,注释必须在编制程序的同时加入,所以,选项 B和选项 C错误。综上所述,本题的正确答案为选项 D。4.设有学生表 S(学号,姓名,性别,年龄),查询所有年龄小于等于 18岁的女同学、并按年龄进行降序排序生成新的表 WS,正确的 SQL命令是( )。(分数:2.00)A.SELECT* FROM SWHERE 性别=女 AND 年龄=18 ORDER BY 4 DESC INTO TABLE WS B.SELECT* FROM SWHERE 性别=女 AND 年龄=18 ORDER BY 年龄 INTO TABLE WSC.SELECT
31、* FROM SWHERE 性别=女 AND 年龄=18 ORDER BY 年龄 DESC INTO TABLE WSD.SELECT* FROM SWHERE 性别=女 OR 年龄=18 ORDER BY 年龄 ASC INTO TABLE WS解析:解析 选项 B中没有指定 DESC关键字,则所生成的新表是默认的升序排列,所以错误。选项 B与选项 C的 Order By子句后面, “年龄”以字符串形式给出,没有正确的表达题意。5.在面向对象的程序设计中,下列叙述中错误的是( )。(分数:2.00)A.对象是面向对象软件的基本模块B.对象不是独立存在的实体,各个对象之间有关联,彼此依赖 C.
32、下一层次的对象可以继承上一层次对象的某些属性D.同样的消息被不同对象接受时,可导致完全不同的行动解析:解析 在面向对象的程序设计中,一个对象是一个可以独立存在的实体。各个对象之间相对独立,相互依赖性小。所以,选项 B应为本题的正确答案。6.以下程序求 1!+2!+ 3!+. +10!的累加和,请为下面的程序选择正确的答案( )。s=0FOR i=1 TO 10t=1FOR j=1 TO _t=t*jNEXTs=s+ tNEXT? S(分数:2.00)A.10B.jC.9D.i 解析:解析 本题难点在于循环语句的嵌套使用。请注意程序中外层的循环是求 10个数的累加和,内层循环是求当外层循环循环到
33、第 i次时求 i!,因而内层循环语句应写成 FOR j=1 TO i。7.下列数据结构中,能用二分法进行查找的是( )。(分数:2.00)A.顺序存储的有序线性表 B.线性链表C.二叉链表D.有序线性链表解析:解析 二分查找从适用于顺序存储的有序表。8.将 Student. dbf表中 jg字段的名称改为籍贯,如下选项中正确的 SQL语句是( )。(分数:2.00)A.ALTER TABLE student ALTER COLUMN jg TO 籍贯B.ALTER TABLE student ADD 籍贯 C(10)C.ALTER TABLE student RENAME jg TO 籍贯 D
34、.ALTER TABLE student RENAME jg 籍贯解析:解析 ALTER TABLE 语句中,ALTER 子句不能修改字段名。ADD 子句用于增加字段。修改字段名称只能使用 RENAME子句。9.冒泡排序在最坏情况下的比较次数是( )。(分数:2.00)A.n(n+1)/2B.nlog2nC.n(n-1)/2 D.n/2解析:解析 冒泡排序的基本思想是:将相邻的两个元素进行比较,如果反序,则交换;对于一个待排序的序列,经一趟排序后,最大值的元素移动到最后的位置,其它值较大的元素也向最终位置移动,此过程称为一道冒泡。对于有 n个数据的序列,共需 n-1趟排序,第 i趟对从 1到
35、n-i个数据进行比较、交换。冒泡排序的最坏情况是待排序序列逆序,第 1趟比较 n-1次,第 2趟比较 n-2次,依此类推,最后一趟比较 1次,一共进行 n-1趟排序。因此,冒泡排序在最坏情况下的比较次数是(n-1)+(n-2)+1,结果为n(n-1)/2。10.在“项目管理器”下为项目建立一个新报丧,应该使用的选项卡是( )。(分数:2.00)A.数据B.文档 C.类D.代码解析:解析 在 Visual FoxPro的项目管理器中,共有“数据”、“文档”、“类”、“代码”、“其他”和“全部”几个选项卡,其中新建报表的操作应当在“文档”选项卡或是“全部”选项卡中完成,具体到此题目中,则只有选项
36、B(“文档”选项卡)为正确答案。11.下列叙述中正确的是( )。(分数:2.00)A.数据的逻辑结构与存储结构必定一一对应B.由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C.程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构D.以上 3种说法都不对 解析:解析 一种数据的逻辑结构根据需要可以表示成多种存储结构,数据的逻辑结构与存储结构不一定一一对应,选项 A错误。计算机的存储空间是向量式的存储结构,但一种数据的逻辑结构根据需要可以表示成多种存储结构,如线性链表是线性表的链式存储结构,数据的存储结构不一定是线性结构,因此选项 B错误。数组一般是顺序
37、存储结构,但利用数组也能处理非线性结构。选项 C错误。由此可知,只有选项 D的说法正确。12.让控件获得焦点,使其成为活动对象的方法是( )。(分数:2.00)A.ShowB.ReleaseC.SetFocus D.GotFocus解析:解析 SetFocus 方法使控件获得焦点,使其成为活动对象。13.对于长度为 n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是( )。(分数:2.00)A.冒泡排序为 n/2B.冒泡排序为 nC.快速排序为 nD.快速排序为 n(n-1)/2 解析:解析 假设线性表的长度为 n,在最坏情况下,冒泡排序和快速排序需要的比较次数为 n(n-1)/
38、2。14.下列实体的联系中,属于多对多联系的是( )。(分数:2.00)A.学生与课程 B.学校与校长C.住院的病人与病床D.职工与工资解析:解析 只有选项 A符合多对多联系的条件,因为一个学生可以选修多门课程,而一门课程又可以由多个学生来选修,所以学生与课程之间的联系是多对多联系。15.设有关系 R1和 R2,经过关系运算得到结果 S,则 S是( )。(分数:2.00)A.一个关系 B.一个表单C.一个数据库D.一个数组解析:解析 关系运算得到的结果还是一个关系。16.下面对控件的描述正确的是( )。(分数:2.00)A.用户可以在组合框中进行多重选择B.用户可以在列表框中进行多重选择 C.
39、用户可以在一个选项组中选中多个选项按钮D.用户对一个表单内的一组复选框只能选中其中一个解析:解析 列表框可以在其中进行多重选定,而组合框不能进行此项操作,对于一个选项组来说只能选择一个选项,而复选框可以选择多个选项。17.下列关于 E-R图的描述中正确的是( )。(分数:2.00)A.E-R图只能表示实体之间的联系B.E-R图只能表示实体和实体之间的联系C.E-R图只能表示实体和属性D.E-R图能表示实体、属性和实体之间的联系 解析:解析 E-R 图中,用图框表示实体、属性和实体之间的联系。用 E-R图不仅可以简单明了地描述实体及其相互之间的联系,还可以方便地描述多个实体集之间的联系和个实体集
40、内部实体之间的联系。选项 A、选项 B和选项 C的说法都错误,正确答案是选项 D。18.在表单运行中,当结果发生变化时,应刷新表单,刷新表单所用的命令是( )。(分数:2.00)A.RELEASEB.DELETEC.REFRESH D.PACK解析:解析 刷新表单用到的命令是 REFRESH。19.下列描述中正确的是( )。(分数:2.00)A.软件工程只是解决软件项目的管理问题B.软件工程主要解决软件产品的生产率问题C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则 D.软件工程只是解决软件开发中的技术问题解析:解析 软件工程学是研究软件开发和维护的普遍原理与技术的一门工程节科,
41、选项 A说法错误。软件工程是指采用工程的概念、原理、技术和方法指导软件的开发与维护,软件工程学的主要研究对象包括软件开发与维护的技术、方法、工具和管理等方面,选项 B和选项 D的说法均过于片面,选项 C正确。(15)(27)题使用的数据如下:当前盘当前目录下有数据库 db_ stock,其中有数据库表 stock dbf,该数据库表的内容是:股票代码 股票名称 单价 交易所600600 青岛啤酒 7.48 上海600601 方正科技 15.20 上海600602 广电电子 10.40 上海600603 兴业房产 12.76 上海600604 二纺机 9.96 上海600605 轻工机械 14.
42、59 上海000001 深发展 7.48 深圳000002 深万科 12.50 深圳(分数:26.00)(1).执行如下 SQL语句后( )。SELECT* FROM stock INTO DBF stock ORDER BY 单价(分数:2.00)A.系统会提示出错信息 B.会生成一个按“单价”升序排序的表文件,将原来的 stock. dbf文件覆盖C.会生成一个按“单价”降序排序的表文件,将原来的 stock. dbf文件覆盖D.不会生成排序文件,只在屏幕上显示一个按“单价”升序排序的结果解析:解析 使用 SELECT语句的 INTO DBFTABLE TableName 短语,系统会将查
43、询结果存放到永久表中,但此题目中,选择的源表与生成的目标表名称相同,执行后会出现“不能创建文件”的错误提示对话框。(2).执行下列程序段以后,内存变量 a的内容是( )。CLOSE DATABASEa=0USE stockGO TOPDO WHILE. NOT. EOF()IF单价10a=a+1ENDIFSKIPENDDO(分数:2.00)A.1B.3C.5 D.7解析:解析 该程序的功能是统计数据表 db stock 中“单价”字段大于 10的记录个数,并且将这个数值存放在变量 a中。该程序的一个难点在于程序的第 7行:a=a+1,这条语句相当于将变量 a自增,实现计数器的功能,可以看出,该
44、程序是从数据表 db_ stock的第一条记录开始逐条对记录进行判断,如果当前记录的“单价”大于 10,就使计数器加 1。_然后将记录指针移向下一条记录。通过查看数据表中的记录发现有 5条记录(第 2、3,4,6、8)满足条件,因此变量 a的值为 5。(3).有如下 SQL SELECT语句:SELECT* FROM stock WHERE 单价 BETWEEN 12.76 AND 15.20与该语句等价的是( )。(分数:2.00)A.SELECT *FROM stock WHERE 单价=15.20.AND.单价=12.76 B.SELECT *FROM stock WHERE 单价15.
45、20.AND.单价12.76C.SELECT *FROM stock WHERE 单价=15.20 .AND. 单价=12.76D.SELECT *FROM stock WHERE 单价15.20.AND.单价12.76解析:解析 语句“SELECT* FROM stock WHERE 单价 BETWEEN 12.76 AND 15.20”的含义是:选择“单价”在 12.76和 12.50之间的那些记录。请注意,用 BETWEEN作取值范围限定时,是包括限定条件的两个端点值的,因此本题所设定的限定条件相当于“单价”大于等于 12.76并且小于等于 12.50的记录。选项A是另外一种实现条件查询
46、的书写方法,其含义与题干中给出的 SQL语句完全一样。(4).如果在建立数据库表 stock. dbf时,将单价字段的有效性规则设为“单价0”,通过该设置,能保证数据的( )。(分数:2.00)A.实体完整性B.域完整性 C.参照完整性D.表完整性解析:解析 域完整性是指数据库数据取值的正确性。它包括数据类型、精度、取值范围以及是否允许空值等,题目中是在建立数据表的时候,就将单价字段的有效性规则设为“单价0”,这就是对数据取值的取值范围进行规定,因此是域完整性的设定。(5).在当前盘当前目录下删除表 stock的命令是( )。(分数:2.00)A.DROP stockB.DELETE TABL
47、E stockC.DROP TABLE stock D.DELETE stock解析:解析 在 Visual FoxPro中删除表的命令的语法格式是:DROP TABLE 表名。(6).有如下 SQL语句:SELECT max (单价) INTO ARRAY a FROM stock执行该语句后( )。(分数:2.00)A.a1的内容为 15.20 B.a1的内容为 6C.a0的内容为 15.20D.s0的内容为 6解析:解析 本题中 SQL语句的功能是:在 stock表中查询“单价”最高的记录,然后将该记录的单价字段存放至数组 a中,请注意,数组 a中仅仅存放该记录的单价,而数据表中,单价最
48、高为 15.20。(7).有如下 SQL语句:SELECT 股票代码,avg(单价)as 均价 FROM stock;GROUP BY交易所 INTO DBF temp执行该语句后,temp 表中第二条记录的“均价”字段的内容是( )。(分数:2.00)A.7.48B.9.99 C.11.73D.15.20解析:解析 本题中 SQL语句的功能是;在 stock表中按“交易所”字段分组计算各个交易所的均价,然后将结果保存在永久表 temp中。其计算过程是:首先将所有的数据记录按交易所进行分组,题中的交易所只有上海和深圳,因此计算后将会得到两条记录:第 1条记录是计算所有在上海交易所交易的股票的均价,第 2条记录则是计算深圳交易所的交易的股票均价。这两条记录会存放在永久表 temp中,按题目要求知道,第二条记录是深圳交易所的均价,通过 stock表计算可以得出其均价是 9.99。(8).将 stock表的股票名称字段的宽度由 8改为 10,应使用 SQL语句( )。(分数:2.00)A.