二级VISUAL+FOXPRO真题.docx
《二级VISUAL+FOXPRO真题.docx》由会员分享,可在线阅读,更多相关《二级VISUAL+FOXPRO真题.docx(18页珍藏版)》请在冰豆网上搜索。
二级VISUAL+FOXPRO真题
2004年9月二级VisuaIFoxPro笔试试卷
一、选择题
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
(1)DBMS的含义是
A)数据库系统
B)数据库管理系统
C)数据库管理员
D)数据库
(2)从关系模式中指定若干个属性组成新的关系的运算称为
A)连接B)投影
C)选择D)排序
(3)对于“关系”的描述,正确的是
A)同一个关系中允许有完全相同的元组
B)在一个关系中元组必须按关键字升序存放
C)在一个关系中必须将关键字作为该关系的第一个属性
D)同一个关系中不能出现相同的属性名
(4)在表设计器的“字段”选项卡中可以创建的索引是
A)惟一索引B)候选索引
C)主索引D)普通索引
(5)在程序中不需要用public等命令明确声明和建立,可直接使用的内存变量是
A)局部变量B)公共变量
C)私有变量D)全局变量
(6)扩展名为dbf的文件是
A)表文件B)表单文件
C)数据库文件D)项目文件
(7)下列程序段的输出结果是
CLEAR
STORE10TOA
STORE20TOB
SETUDFPARMSTOREFERENCE
DOSWAPWITHA,(B)
?
A,B
PROCEDURESWAP
PARAMETERSX1,X2
TEMP=X1
X1=X2
X2=TEMP
ENDPROC
A)1020B)2020
C)2010D)1010
(8)使用调试器调试第(7)小题的程序,如果想在过程SWAP执行时观察X1的值,可以在其中安置一条命令,程序执行到该命令时,系统将计算Xl的值,并将结果在调试输出窗口中显示,这条命令的正确写法是
A)DEBUGOUTX1B)DEBUGX1
C)OUTX1D)TESTX1
(9)~(11)题使用下图,表单名为Form1,表单中有两个命令按钮(Comand1和Command2)、两个标签、两个文本框(Text1和Text2)。
(9)如果在运行表单时,要使表单的标题栏显示“登录窗口”,则可以在Forml的Load事件中加入语句
A)THISFORM.CAPTION=“登录窗口”
B)FORMl.CAPTION=“登录窗口”
C)THISFORM.NAME=“登录窗口”
D)FORMl.NAME=“登录窗口”
(10)如果想在运行表单时,向Text2中输入字符,回显字符显示的是“*”号,则可以在
Form1的Init事件中加入语句
A)FORM1.TEXT2.PASSWORDCHAR="*"
B)FORM1.TEXT2.PASSWORD="*"
C)THISFORM.TEXT2.PASSWORD="*"
D)THISFORM.TEXT2.PASSWORDCHAR="*"
(11)假设用户名和口令存储在自由表“口令表”中,当用户输入用户名和口令并单击录”按钮时,若用户名输入错误,则提示“用户名错误”;若用户名输入正确,而口令输入错误,则提示“口令错误”。
若命令按钮“登录”的click事件中的代码如
USE口令表
GOTOP
flag=0
DOWHILE.not.EOF0
IFAiltrim(用户名)=Alltrim(Thisform.Text1.Value)
IFAlltrim(口令)=Alltrim(Thisform.Text2.Value)
WA1T"欢迎使用"WINDOWTIMEOUT2
ELSE
WAIT"口令错误"WINDOWTIMEOUT2
ENDIF
flag=1
EXIT
ENDIF
SKIP
ENDDO
IF______
WAIT"用户名错误"WINDOWTIMEOUT2
ENDIF
则在横线处应填写的代码是
A)flag=-1B)flag=0
C)flag=1D)flag=2
(12)设X=10,语句?
VARTYPE("X")的输出结果是
A)NB)C
C)10D)X
(13)表达式LEN(SPACE(0))的运算结果是
A).NULL.B)1
C)0D)""
(14)为表单建立了快捷菜单mymenu,调用快捷菜单的命令代码Domymenu.mprWITHTHIS应该放在表单的哪个事件中?
A)Destory事件
B)Init事件
C)Load事件
D)RightClick事件
(15)~(26)题使用的数据表如下:
当前盘当前目录下在数据库:
学院.dbc,其中有“教师”表和“学院”表。
“教师”表:
职工号
系号
姓名
工资
主讲课程
11020001
01
肖海
3408
数据结构
11020002
02
王岩盐
4390
数据结构
11020003
01
刘星魂
2450
C语言
11020004
03
张月新
3200
操作系统
11020005
01
李明玉
4520
数据结构
11020006
02
孙民山
2976
操作系统
11020007
03
钱无名
2987
数据库
11020008
04
呼廷军
3220
编译原理
11020009
03
王小龙
3980
数据结构
11020010
01
张国梁
2400
C语言
11020011
04
林新月
1800
操作系统
11020012
01
乔小廷
5400
网络技术
11020013
02
周兴池
3670
数据库
11020014
04
欧阳秀
3345
编译原理
“学院表”
系号
系名
01
计算机
02
通信
03
信息管理
04
数学
(15)为“学院”表增加一个字段“教师人数“的SQL语句是
A)CHANGETABLE学院ADD教师人数Ⅰ
B)ALTERSTRU学院ADD教ADD人数Ⅰ
C)ALTERTABLE学院ADD教师人数Ⅰ
D)CHANGETABLE学院INSERT教师人数Ⅰ
(16)将“欧阳秀”的工资增加200元的SQL语句是
A)REPLACE教师WITH工资=工资+200WHERE姓名="欧阳秀"
B)UPDATE教师SET工资=工资+200WHEN姓名="欧阳秀"
C)UPDATE教师工资WITH工资+200WHERE姓名="欧阳秀"
D)UPDATE教师SET工资=工资+200WHERE姓名="欧阳秀"
(17)下列程序段的输出结果是
CLOSEDATA
a=0
USE教师
GOTOP
DOWHILE.NOT.EOF()
IF主讲课程="数据结构".OR.主讲课程="C语言”
a=a+1
ENDIF
SKIP
ENDDO
?
a
A)4B)5
C)6D)7
(18)有SQL语句:
SELECT*FROM教师WHERENOT(工资>30000R工资<2000)与如上语句等价的SQL语句是
A)SELECT*FROM教师WHERE工资BETWEEN2000AND3000
B)SELECT*FROM教师WHERE工资>2000AND工资<3000
C)SELECT*FROM教师WHERE工资>2000OR工资<3000
D)SELECT*FROM教师WHERE工资<=2000AND工资>3000
(19)为“教师”表的职工号字段添加有效性规则:
职工号的最左边三位字符是110,正确的SQL语句是
A)CHANGETABLE教师ALTER职工号SETCHECKLEFT(职工号,3)="110"
B)ALTERTABLE教师ALTER职工号SETCHECKLEFT(职工号,3)="110"
C)ALTERTABLE教师ALTER职工号CHECKLEFT(职工号,3)="110"
D)CHANGETABLE教师ALTER职工号SETCHECKOCCURS(职工号,3)="110"
(20)有SQL语句:
SELECTDISTINCT系号FROM教师WHERE工资>=;
ALL(SELECT工资FROM教师WHERE系号="02")
该语句的执行结果是系号
A)"01"和"02"B)"01"和"03"
C)"01"和"04"D)"02"和"03"
(21)建立一个视图salary,该视图包括了系号和(该系的)平均工资两个字段,正确的SQL语句是
A)CREATEVIEWsalaryAS系号,AVG(工资)AS平均工资FROM教师;
GROUPBY系号
B)CREATEVIEWsalaryASSELECT系号,AVG(工资)AS平均工资FROM教师;
GROUPBY系名
C)CREATEVIEWsalarySELECT系号,AVG(工资)AS平均工资FROM教师;
GROUPBY系号
D)CREATEVIEWsalaryASSELECT系号,AVG(工资)AS平均工资FROM教师;
GROUPBY系号
(22)删除视图salary的命令是
A)DROPsalaryVIEW
B)DROPVIEWsalary
C)DELETEsalaryVIEW
D)DELETEsalary
(23)有SQL语句:
SELECT主讲课程,COUNT(*)FROM教师GROUPBY主讲课程
该语句执行结果含有的记录个数是
A)3B)4
C)5D)6
(24)有SQL语句:
SELECTCOUNT(*)AS人数,主讲课程FROM教师;
GROUPBY主讲课程ORDERBY人数DESC
该语句执行结果的第一条记录的内容是
A)4数据结构B)3操作系统
C)2数据库D)1网络技术
(25)有SQL语句:
SELECT学院.系名,COUNT(*)AS教师人数FROM教师,学院;
WHERE教师.系号=学院.系号GROUPBY学院.系名
与如上语句等价SQL语句是
A)SELECT学院.系名,COUNT(*)AS教师人数;
FROM教师INNERJOIN学院;
教师.系号=学院.系号GROUPBY学院.系名
B)SELECT学院.系名,COUNT(*)AS教师人数;
FROM教师INNERJOIN学院:
ON教师.,系号GROUPBY学院.系名
C)SELECT学院.系名,COUNT(*)AS教师人数;
FROM教师INNERJOIN学院;
ON教师.系号=学院.系号GROUPBY学院.系名
D)SELECT学院.系名,COUNT(*)AS教师人数;
FROM教师INNERJOIN学院;
ON教师.系号=学院.系号
(26)有SQL语句:
SELECTDISTINCT系号FROM教师WHERE工资>=;
ALL(SELECT工资FROM教师WHERE系号="02")
与如上语句等价的SQL语句是
A)SELECTDISTINCT系号FROM教师WHERE工资>=;
(SELECTMAX(工资)FROM教师WHERE系号="02")
B)SELECTDISTINCT系号FROM教师WHERE工资>=;
(SELECTMIN(工资)FROM教师WHERE系号="02")
C)SELECTDISTINCT系号FROM教师WHERE工资>=;
ANY(SELECT工资FROM教师WHERE系号="02")
D)SELECTDISTINCT系号FROM教师WHERE工资>=;
SOME(SELECT工资FROM教师WHERE系号="02")
(27)使用SQL语句增加字段的有效性规则,是为了能保证数据的
A)实体完整性B)表完整性
C)参照完整性D)域完整性
(28)向项目中添加表单,应该使用项目管理器的
A)“代码”选项卡B)“类”选项卡
C)“数据”选项卡D)“文档”选项卡
(29)有关参照完整性的删除规则,正确的描述是
A)如果删除规则选择的是“限制”,则当用户删除父表中的记录时,系统将自动删除子表中的所有相关记录
B)如果删除规则选择的是“级联”,则当用户删除父表中的记录时,系统将禁止删除与子表相关的父表中的记录
C)如果删除规则选择的是“忽略”,则当用户删除父表中的记录时,系统不负责做任何工作
D)上面三种说法都不对
(30)有关查询设计器,正确的描述是
A)“联接”选项卡与SQL语句的GROUPBY短语对应
B)“筛选”选项卡与SQL语句的HAVING短语对应
C)“排序依据”选项卡与SQL语句的ORDERBY短语对应
D)“分组依据”选项卡与SQL语句的JOINON短语对应
(31)使用“调试器”调试程序时,用于显示正在调试的程序文件的窗口是
A)局部窗口B)跟踪窗口
C)调用堆栈窗口D)监视窗口
(32)让控件获得焦点,使其成为活动对象的方法是
A)ShowB)Release
C)SetFocusD)GotFocus
(33)下面对表单若干常用事件的描述中,正确的是
A)释放表单时,Unload事件在Destroy事件之前引发
B)运行表单时,Init事件在Load事件之前引发
C)单击表单的标题栏,引发表单的Click事件
D)上面的说法都不对
(34)如果文本框的InputMask属性值是#99999,允许在文本框中输入的是
A)+12345B)abc123
C)$12345D)abcdef
(35)连编应用程序不能生成的文件是
A).app文件B).exe文件
C).dll文件D).prg文件
二、填空题
注意:
以命令关键字填空的必须拼写完整。
(1)在关系模型中,“关系中不允许出现相同元组”的约束是通过【1】实现的。
(2)在VisualFoxPro中项目文件的扩展名是【2】。
(3)使数据库表变为自由表的命令是【3】TABLE。
(4)在VisualFoxPro的查询设计器中【4】选项卡对应的SQL短语是WHERE。
(5)在VisualFoxPro中,BUILD【5】命令连编生成的程序可以脱离开VisualFoxPro在Windows环境下运行。
(6)当删除父表中的记录时,若子表中的所有相关记录也能自动删除,则相应的参照完整性的删除规则为【6】。
(7)在VisualFoxPro中释放和关闭表单的方法是【7】。
(8)为了从用户菜单返回到默认的系统菜单,应该使用命令SET【8】TODEFAULT。
(9)在VisualFoxPro的表单设计中,为表格控件指定数据源的属性是【9】。
(10)表示“1962年10月27日”的日期常量应该写为【10】。
(11)为“学生”表增加一个“平均成绩”字段的正确命令是
ALTERTABLE学生ADD【11】平均成绩N(5,2)
(12)在将设计好的表单存盘时,系统将生成扩展名分别是SCX和【12】的两个文件。
(13)在VisualFoxPro中为表单指定标题的属性是【13】。
(14)在VisualFoxPro中表单的Load事件发生在Init事件之【14】。
(15)在VisualFoxPro中如下程序的运行结果(即执行命令DOmain后)是【15】。
*程序文件名:
main.prg
SETTALKOFF
CLOSEALL
CLEARALL
mX="VisualFoxPro"
mY="二级"
DOs1
?
mY+mX
RETURN
*子程序文件名:
s1.prg
PROCEDUREs1
LOCALmX
mX="VisualFoxProDBMS考试验"
my="计算机等级"+mY
RETURN
2004年9月二级VisualFoxPro笔试试卷答案和解析
一、选择题
(1)[答案]B
[解析]本题是对数据库系统中几个基本概念的考查。
DBMS是DatabaseManagementSystem的缩写,表示数据库管理系统。
数据库系统的缩写是DBS(DatabaseSystem),数据库管理员的缩写是DBA(DatabaseAdministrator),数据库的缩写是DB(Database)。
因此选项B为正确答案。
(2)[答案]B
[解析]本题考查专门关系运算。
专门的关系运算有三种:
选择、投影和连接。
投影运算是从关系模式中指定若干个属性组成新的关系。
选择是从关系中找出满足给定条件的元组,连接是将两个关系模式拼接成一个更宽的模式,生成的新关系包含满足联接条件的元组。
因此正确答案为选项B。
(3)[答案]D
[解析]本题考查考生对关系的理解。
选项A、B、C都是错误的,同一个关系中,不允许有完全相同的元组,其元组的顺序是任意的,另外,关系的属性次序与是否为关键字无关,因此可以得出答案为选项D。
(4)[答案]D
[解析]本题考查考生对表设计器的掌握。
使用表设计器的“字段”选项卡,可以创建普通索引。
故选项D为正确答案。
(5)[答案]C
[解析]本题考查不同类型内存变量的声明方法。
私有变量在程序中直接使用,无需使用PUBLIC和LOCAL命令事先声明,是由系统自动隐含建立的变量。
因此选项C为正确答案。
局部变量通过LOCAL命令来声明,公共变量通过PUBLIC来声明。
(6)[答案]A
[解析]本题考查VisualFoxPro中常见文件的文件扩展名,属于常考题目。
扩展名为.dbf的文件是表文件,表单文件的扩展名为.scx,项目文件的扩展名为.pjx,数据库文件的扩展名为.dbc。
故选项A为正确答案。
(7)[答案]B
[解析]本题考查参数传递以及模块的调用。
命令SETUDFPARAMSTOREFERENCE用来设置参数传递方式为按引用传递。
也就是说,当形参变量值改变时,实参变量也要随之改变。
但是由于本题采用的调用方式是:
DOWITH,所以调用方式不受参数UDFPARAMS的影响。
调用过程中变量A是按引用传递,变量B用括号括起来,因此B始终是按值传递。
模块SWAP的功能是将两个变量交换。
程序开始时变量A和B的值分别为10和20,执行模块SWAP之后将A和B交换,由于变量A是按引用传递,因此交换后变量A指向B的地址,因此返回主程序后A的值为20,变量B为按值传递,模块结束后,其值仍为20,因此返回主程序后,变量A和B指向同‘个地址,其值均为200故选项B是正确答案。
(8)[答案]A
[解析]本题考查常用的调试命令。
在模块程序中,可放置一些DEBUGOUT命令:
其格式为:
DEBUGOUT<表达式>
当模块程序调试执行到此命令时,会计算出表达式的值,并将结果送入调试输出窗口。
因此选项A为正确答案。
(9)[答案]A
[解析]本题考查表单标题栏的设置。
表单的CAPTION属性用来设置表单的标题,因此正确答案为选项A。
选项C将把该表单的表单名称指定为“登录窗口”,选项B和选项D用FORMl来指定表单是错误的。
(10)[答案]D
[解析]本题考查文本框控件的PasswordChar属性。
该属性用来指定文本框控件内是显示用户输入的字符、占位符,还是用来指定用作占位符的字符。
本题所要指定口令文本框的占位符为“*”,因此可以写成THlSFORM.TEXT2.PASSWORDCHAR=“*’,因此选项D为正确答案。
(11)[答案]B
[解析]从题干中的程序段中可以看出,flag变量起到了标志位的作用,用于标识用户是否正确地输入了用户名。
当用户名被正确输入的时候,会将变量flag的值置为1,否则为0。
系统初始化时,flag变量的值被设置为0,表示用户名还没有被正确输入,如果用户输入了正确的用户名,程序将继续判断用户输入的密码是否正确,不管密码输入正确与否,程序都会执行到语句flag=1,把变量flag的值设置为1,因此程序可以用flag的值来判断是否用户名被正确输入。
最后对flag的值进行判断,如果flag的值为0,就是用户名没有被正确输入的情况。
故选项B为正确答案。
(12)[答案]B
[解析]本题考查函数VARTYPE()的使用。
函数VARTYPE(<表达式>)用来测试表达式的类型,返回一个大写字母,函数值为字符型。
字母C表示字符型或者备注型。
本题测试的是”X”,这是一个字符型表达式,因此其返回值为字符型,故选项B为正确答案。
(13)[答案]C
[解析]本题考查两个函数的使用:
LEN()和SPACE()。
函数LEN(<字符表达式>)的功能是返回指定字符表达式的长度,SPACE(<数值表达式,)的功能是返回由指定数目的空格组成的字符串,因此函数LEN(SPACE(0))的功能是测试0个空格的长度,故选项C为正确答案。
(14)[答案]D
[解析]表单的RightClick事件由鼠标右键单击表单触发,题目中已经为表单建立了快捷菜单,其触发事件是鼠标右键,因此选项D为正确答案。
表单的Init事件在建立表单时引发,Destroy事件在表单释放时引发。
Load事件在表单建立之前引发。
(15)[答案]C
[解析]本题使用SQL对表结构进行修改。
修改表结构的命令格式是:
ALTERTABLE<表名>
可以使用ADD子句用于说明所增加的字段和字段属性说明,选项A和选项D的命令
关键字CHANGE有误,选项B中缺少关键字TABLE。
因此正确答案为选项C。
(16)[答案]D
[解析]SQL中更新表数据的命令格式是:
UPDATE<表名>SET字段=<表达式>WHERE<条件>
选项A和选项C错,WITH不是合法的关键字;选项B中用于设定条件的关键字
WHEN是错误的,应使用WHERE关键字。
选项D为正确答案。
(17)[答案]C
[解析]本题程序段的功能是统计教师表中主讲课程字段为“数据结构”或者为“C语言”的记录个数,并将统计结果存入变量a中。
其具体执行流程如下:
首先将变量a的值初始化为0,然后打开教师表,用GOTOP命令将记录指针指向第一条记录,然后用一个循环结构扫描整个教师表,用条件判断语句IF主讲课程=“数