答案(共九套)
2020年全国计算机二级vfp全真模拟考试题及答
案(一)
1.对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是( D ). A)快速排序 B)冒泡排序 C)直接插入排序 D)堆排序
【解析】除了堆排序算法的比较次数是O(nlog2n ),其他的都是n(n-1)/2.
2.设 X=\"11\=\"1122\下列表达式结果为假的是( D ). A)NOT(X==Y)AND (X$Y) B)NOT(X$Y)OR (X<>Y) C)NOT(X>=Y) D)NOT(X$Y)
【解析】字符串精确比较运算符\"==\只有当两个字符串完全相同时,才会是逻辑真,所以X==Y为逻辑假;子串包含测试运算符$,如果运算符前的字符串是运算符后的字符串的一个子字符串,则为逻辑真,所以X$Y为逻辑真;大于等于运算符>=,是对两个字符串自左向右逐个进行比较,一旦发现两个对应字符不同,就根据两个字符的排序序列决定两个字符串的大小,X、Y的前两个字符相同,所以比较第3个字符,由于X只有两个字符,则第3位X小于Y,所以X小于Y,故X>=Y为逻辑
假;X<>Y为逻辑真.
由以上可得:A)选项中,由于NOT的优先级高于AND,所以先比较NOT(X==Y)为逻辑真,由于X$Y也为逻辑真,所以NOT(X==Y)AND (X$Y)为逻辑真.B)选项中,由于NOT的优先级高于OR,所以先比较NOT(X$Y)为逻辑假,由于X<>Y也为逻辑真,所以NOT(X$Y)OR (X<>Y)为逻辑真.C)选项中,X>=Y为逻辑假,则NOT(X>=Y)为逻辑真.D)选项中,X$Y也为逻辑真,则NOT(X$Y)为逻辑假.
3.以下是与设置系统菜单有关的命令,其中错误的是( A ). A)SET SYSMENU DEFAULT B)SET SYSMENU TO DEFAULT C)SET SYSMENU NOSAVE D)SET SYSMENU SAVE
【解析】设置系统菜单的命令格式:SET SYSMENU ON | OFF | AUTOMATIC | TO[<>]| TO[<>]| TO[<>]| SAVE | NOSAVE.所以B)选项的SET SYSMENU TO DEFAULT、C)选项的SET SYSMENU NOSAVE、D)选项的SET SYSMENU SAVE都符合这个格式,A)选项中缺少TO关键字,格式不正确. 4.在下面的Visual FoxPro表达式中,运算结果不为逻辑真的是( D ).
A)EMPTY(SPACE(0)) B)LIKE('xy*', 'xyz') C)AT('xy', 'abcxyz') D)ISNULL(.NULL.)
【解析】Space函数返回由指定数目组成的字符串,Space(0)返回空字符串,Empty函数判断指定的表达式的运算结果是否为空,故A)选项为真;Like函数比较前后两个字符串对应位置上的字符,若所有对应字符都相匹配,函数返回值为逻辑真,否则为逻辑假,前字符串可包含通
配符,故B)选项为真;At函数如果前字符串是后字符串的子串,返回前字符串首字符在后字符串中第几次出现的位置,函数值为数值型,故C)返回的不为逻辑真;Isnull函数判断一个表达式的值是否为空值,故D)选项为真.
5.在Visual FoxPro中,用于建立或修改程序文件的命令是( B ). A)MODIFY <文件名> B)MODIFY COMMAND <文件名> C)MODIFY PROCEDURE<文件名> D)MODIFY PROGRAM<文件名> 【解析】用命令方式建立和修改程序文件的命令格式是:MODIFY COMMAND <文件名>.
6.在Visual FoxPro中,程序中不需要用PUBLIC等命令明确声明和建立,可直接使用的内存变量是( B ).
A)局部变量 B)私有变量 C)公共变量 D)全局变量
【解析】内存变量的作用域中,全局变量在任何模块中使用,私有变量不需要通过PUBLIC和LOCAL命令事先声明,而在程序中直接使用,局部变量只能在建立它的模块中使用,不能在上层或下层模块中使用. 7.执行USE sc IN 0命令的结果是( B ).
A)选择0号工作区打开sc表 B)选择空闲的最小号工作区打开sc表
C)选择第1号工作区打开sc表 D)显示出错信息
【解析】在多个工作区打开某个表时,可使用命令:USE <表名> IN <工作区号>,而最小的工作区号是1,如果指定为0,则选择编号最小的空闲工作区,所以USE sc IN 0的结果是选择空闲的最小号工作区打开
sc表.
8.在查询设计器环境中,\"查询\"菜单下的\"查询去向\"不包括( C ). A)临时表 B)表 C)文本文件 D)屏幕
【解析】查询去向包括:浏览、临时表、表、图形、屏幕、报表文件、标签文件.四个选项中,查询去向不包括文本文件.
9.Modify Command命令建立的文件的默认扩展名是( A ). A)prg B)app C)cmd D)exe
【解析】Modify Command命令用于建立和修改程序文件.程序文件的默认扩展名是prg.
10.扩展名为mpr的文件是( B ).
A)菜单文件 B)菜单程序文件 C)菜单备注文件 D)菜单参数文件
【解析】mpr是菜单程序文件的扩展名,菜单文件的扩展名是mnx,菜单备注文件的扩展名是mnt,菜单参数文件不存在.
11.在菜单设计中,可以在定义菜单名称时为菜单项指定一个访问键.规定了菜单项的访问键为\"x\" 的菜单名称定义是( C ).
A)综合查询<(x) B)综合查询/<(x) C)综合查询( 12.计算每名运动员的\"得分\"的正确SQL命令是( D ). A)B)C)D) 【解析】本题考查SQL数据更新语句.该语句的基本命令格式为:UPDATE 数据表名 SET 字段名=更新表达式值 WHERE 条件表达式.当不使用WHERE子句时,则更新全部记录.套用UPDATE的命令格式,本题的正确答案为D). 13.在Visual FoxPro中,报表的数据源不包括( D ). A)视图 B)自由表 C)查询 D)文本文件 【解析】数据库的报表总是与一定的数据源相联系,在设计报表时,首先要确定报表的数据源.报表的数据源通常是数据库中的表或自由表,也可以是视图、查询或临时表.当数据源中的数据更新之后,使用同一报表文件打印的报表将反映新的数据内容,但报表的格式不变.文本文件不能作为报表的数据源,因此本题选D). 2020年全国计算机二级vfp全真模拟考试题及答 案(二) 1.下列叙述中正确的是( A ). A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的 B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构 C)顺序存储结构能存储有序表,链式存储结构不能存储有序表 D)链式存储结构比顺序存储结构节省存储空间 【解析】链式存储结构既可以针对线性结构也可以针对非线性结构,所以B)与C)错误.链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,所以D)错误. 2.在软件开发中,需求分析阶段可以使用的工具是( B ). A)N-S图 B)DFD图 C)PAD图 D)程序流程图 【解析】在需求分析阶段可以使用的工具有数据流图DFD图,数据字典DD,判定树与判定表,所以选择B). 3.在面向对象方法中,不属于\"对象\"基本特点的是( A ). A)一致性 B)分类性 C)多态性 D)标识唯一性 【解析】对象有如下一些基本特点:标识唯一性、分类性、多态性、封装性、模块性好.所以选择A). 4.设置文本框显示内容的属性是( A ). A)Value B)Caption C)Name D)InputMask 【解析】文本框的Value属性是文本框的当前内容;Name属性指定在代码中用以引用对象的名称;InputMask属性指定在一个文本框中如何输入和显示数据;文本框无Caption属性. 5.在Visual FoxPro中可以建立表的命令是( A ). A)CREATE B)CREATE DATABASE C)CREATE QUERY D)CREATE FORM 【解析】用命令方式建立数据库表的是在命令窗口利用 OPEN DATA命令先打开数据库,然后利用CREATE命令打开表设计器进行数据表设计. 6.为了隐藏在文本框中输入的信息,用占位符代替显示用户输入的字符,需要设置的属性是( D ). A)Value B)ControlSource C)InputMask D)PasswordChar 【解析】文本框的Value属性是文本框的当前内容;ControlSource属性为文本框指定一个字段或内存变量,运行时,文本框首先显示该变量的内容;InputMask属性指定在一个文本框中如何输入和显示数据;PasswordChar属性指定文本框控件内是显示用户输入的字符还是显示占位符;指定用作占位符的字符. 7.假设某表单的Visible属性的初值为.F.,能将其设置为.T.的方法是( B ). A)Hide B)Show C)Release D)SetFocus 【解析】表单的Hide方法用于隐藏表单,该方法将表单的Visible属性设置为.F.;Show方法用于显表单,该方法将表单的Visible属性值设为.T.,使之成为活动表单;Release方法用于从内存中释放表单;SetFocus方法让表单获得焦点,使其成为活动表单.所以符合此题的方法是Show. 8.在Visual FoxPro中,编译或连编生成的程序文件的扩展名不包括( C ). A)APP B)EXE C)DBC D)FXP 【解析】Visual FoxPro程序文件通过编译、连编,可以产生不同的目标代码文件,这些文件具有不同的扩展名:.exe(Visual FoxPro可执行文件),.app(Visual FoxPro应用程序文件)->.fxp(Visual FoxPro编译版本). 9.如果有定义LOCAL data,data的初值是( D ). A)整数0 B)不定值 C)逻辑真 D)逻辑假 【解析】声明局部变量的命令是:LOCAL <内存变量表>.该命令建立指定的局部内存变量,并为它们赋初值逻辑假.F.. 10.执行如下命令序列后,最后一条命令的显示结果是( C ). DIMENSION M(2,2) M(1,1)=10 M(1,2)=20 M(2,1)=30 M(2,2)=40 ?M(2) A)变量未定义的提示 B)10 C)20 D) .F. 【解析】创建数组的命令格式有两种 DIMENSION <数组名> (<下标上限1>[,<下标上限2])[...] DECLARE <数组名> (<下标上限1>[,<下标上限2])[...] 两种格式的功能完全相同.数组创建后,系统自动给每个数组元素赋以逻辑假.F.. 可以用一维数组的形式访问二维数组.本题中M(2)与M(1,2)是同 一变量,所以M(2)的值为20. 11.如果在命令窗口执行命令:LIST 名称,主窗口中显示: 记录号 名称 1 电视机 2 计算机 3 电话线 4 电冰箱 5 电线 假定名称字段为字符型、宽度为6,那么下面程序段的输出结果是( A ). GO 2 SCAN NEXT 4 FOR LEFT(名称,2)=\"电\" IF RIGHT(名称,2)=\"线\" EXIT ENDIF ENDSCAN 名称 A)电话线 B)电线 C)电冰箱 D)电视机 【解析】LEFT(<字符表达式>,<数值表达式>)功能是从字符表达式左边开始,截取<数值表达式>指定长度的字符串. RIGHT(字符表达式, 数值表达式):返回一个字符串右边的若干字符,返回值是字符型. 本题是从2、3、4、条记录中,找出第一个字是\"电\最后一个字是\"线\"的第一个符合的记录,并显示出来,由此可知第3条记录\"电话线\"符合. 12.在下面的Visual FoxPro表达式中,运算结果为逻辑真的是( B ). A)EMPTY(.NULL.) B)LIKE(′xy?′, ′xyz′) C)AT(′xy′, ′abcxyz′) D)ISNULL(SPACE(0)) 【解析】EMPTY(<表达式>)根据指定表达式的运算结果是否为\"空\"值,返回逻辑真(.T.)或逻辑假(.F.),这里所指的\"空\"值与NULL值是两个不同的概念,函数EMPTY(.NULL.)的返回值为逻辑假,所以A)选项为逻辑假;LIKE(<字符串表达式1>,<字符串表达式2>)比较两个字符串对应位置上的字符,若所有对应字符都相匹配,函数返回逻辑真,否则返回逻辑假,其中字符串表达式1中可包含通配符*和?,*表示若干个任意字符,?表示任意一个字符,所以LIKE(′xy?′, ′xyz′)为逻辑真;AT(<字符串表达式1>,<字符串表达式2>)的函数值为数值型,C)选项不正确;ISNULL(<表达式>)判断一个表达式的运算结果是否为NULL值,若是NULL值则返回逻辑真,否则返回逻辑假,SPACE(<数值表达式>)返回由指定数目的空格组成的字符串,所以SPACE(0)为空字符串,ISNULL(SPACE(0) )为逻辑假. 13.假设职员表已在当前工作区打开,其当前记录的\"姓名\"字段值为\"李彤\"(C型字段).在命令窗口输入并执行如下命令: 姓名=姓名-\"出勤\" ? 姓名 屏幕上会显示( A ). A)李彤 B)李彤 出勤 C)李彤出勤 D)李彤-出勤 【解析】C型字段即字符型字段,其表示方法是用半角单引号、双引号或方括号把字符串括起来,字符型变量的定界符必须成对匹配,如果某种定界符本身也是字符串的内容,则需要用另一种定界符为该字符串定界.本题输出结果为\"李彤\". 14.设有学生选课表SC(学号,课程号,成绩),用SQL命令检索同时选修了课程号为\"C1\"和\"C5\"课程的学生的学号的正确命令是( D ). A)SELECT 学号 FROM SC WHERE 课程号= 'C1' AND 课程号= 'C5' B)SELECT 学号 FROM SC WHERE 课程号='C1' AND 课程号=(SELECT课程号 FROM SC WHERE课程号= 'C5') C)SELECT 学号 FROM SC WHERE 课程号='C1' AND 学号=(SELECT 学号 FROM SC WHERE课程号= 'C5') D)SELECT 学号 FROM SC WHERE 课程号='C1' AND 学号 IN (SELECT 学号 FROM SC WHERE课程号= 'C5') 【解析】这个查询不能用简单的查询实现,所以要用到嵌套查询,在嵌套查询中内外层的嵌套用IN而不用\"=\选项正确. 15.设有学生表S(学号,姓名,性别,年龄)、课程表C(课程号,课程名,学分)和学生选课表SC(学号,课程号,成绩),检索学号、姓名和学生所选课程的课程名和成绩,正确的SQL命令是( D ). A)SELECT 学号,姓名,课程名,成绩 FROM S,SC,C WHERE S.学号 = SC.学号AND SC.学号= C.学号 B)SELECT 学号,姓名,课程名,成绩 FROM (S JOIN SC ON S.学号= SC.学号)JOIN C ON SC.课程号 = C.课程号 C)SELECT S.学号,姓名,课程名,成绩 FROM S JOIN SC JOIN C ON S.学号= SC.学号ON SC.课程号 = C.课程号 D)SELECT S.学号,姓名,课程名,成绩 FROM S JOIN SC JOIN C ON SC.课程号 = C.课程号 ON S.学号= SC.学号 【解析】SQL是顺序执行命令语句,在多表联接查询时,各条件短语的执行顺序会影响到最终的查询结果.检索学号、姓名和学生所选课程的课程名和成绩,应为SELECT S.学号,姓名,课程名,成绩.A)、B)选项错误,而C)选项格式错误,选项D)正确. 16.设有学生(学号,姓名,性别,出生日期)和选课(学号,课程号,成绩)两个关系,计算刘明同学选修的所有课程的平均成绩,正确的SQL语句是( D ). A)SELECT AVG(成绩)FROM 选课 WHERE 姓名=\"刘明\" B)SELECT AVG(成绩)FROM 学生,选课 WHERE 姓名=\"刘明\" C)SELECT AVG(成绩)FROM 学生,选课 WHERE 学生.姓名=\"刘明\" D)SELECT AVG(成绩)FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 姓名=\"刘明\" 【解析】SQL的核心是查询,它的基本形式由SELECT-FROM-WHERE查询块组成.其中SELECT说明要查询的字段,FROM说明要查询的字段来自哪个表或哪些表,可以对单个表或多个表进行查询,WHERE说明查询 条件,即选择元组的条件.要计算刘明同学选修的所有课程的平均成绩,应设置where条件为WHERE 学生.学号=选课.学号 AND 姓名=\"刘明\即D)选项正确. 17.设有学生(学号,姓名,性别,出生日期)和选课(学号,课程号,成绩)两个关系,并假定学号的第3、4位为码.要计算各专业学生选修课程号为\"101\"课程的平均成绩,正确的SQL语句是( B ). A)SELECT 专业 AS SUBS(学号,3,2),平均分 AS AVG (成绩)FROM 选课 WHERE 课程号=\"101\" GROUP BY 专业 B) SELECT SUBS(学号,3,2)AS 专业, AVG(成绩)AS 平均分 FROM 选课 WHERE 课程号=\"101\" GROUP BY 1 C) SELECT SUBS(学号,3,2)AS 专业, AVG(成绩)AS 平均分 FROM 选课 WHERE 课程号=\"101\" ORDER BY 专业 D) SELECT专业 AS SUBS(学号,3,2),平均分 AS AVG (成绩)FROM 选课 WHERE 课程号=\"101\" ORDER BY 1 【解析】SUBSTR(<字符表达式>,<起始位置>[,<长度>])为取子串函数,从指定表达式值的指定起始位置取指定长度的子串作为函数值.要计算各专业学生选修课程号为\"101\"课程的平均成绩,应按学号分组,即GROUP BY 1.因此B)为正确选项. 18.设有学生(学号,姓名,性别,出生日期)和选课(学号,课程号,成绩)两个关系,查询选修课程号为\"101\"课程得分最高的同学,正确的SQL语句是( D ). A)SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选 课.学号 AND 课程号=\"101\" AND 成绩>=ALL(SELECT 成绩 FROM 选课) B)SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 成绩>=ALL (SELECT 成绩 FROM 选课 WHERE 课程号=\"101\") C)SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 成绩>=ANY(SELECT 成绩 FROM 选课 WHERE 课程号=\"101\") D)SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 课程号=\"101\" AND 成绩>=ALL (SELECT 成绩 FROM 选课 WHERE 课程号=\"101\") 【解析】查询的基本形式由SELECT-FROM-WHERE查询块组成.其中SELECT说明要查询的字段,FROM说明要查询的字段来自哪个表或哪些表,WHERE说明查询条件,即选择元组的条件.内层\"SELECT 成绩 FROM 选课 WHERE 课程号=\"101\"\"语句查询出了选修课程号为101的成绩,外层格式正确的为D)选项. 19.假定一个表单里有一个文本框Text1和一个命令按钮组CommandGroup1.命令按钮组是一个容器对象,其中包含Command1和Command2两个命令按钮.如果要在Command1命令按钮的某个方法中访问文本框的Value属性值,正确的表达式是( B ). A)This.ThisForm.Text1.Value B)This.Parent.Parent.Text1.Value C)Parent.Parent.Text1.Value D)This.Parent.Text1.Value 【解析】在容器的嵌套层次关系中,引用其中某个对象,需指明对象在嵌套层次中的位置.经常要用到的关键字是:Parent(对象的直接容器对象,即父对象);This(当前对象);ThisForm(当前表单);ThisFormSet(当前表单集).本题this.Parent 是CommandGroup1,this.Parent.Parent. 是CommandGroup1的Parent,即form1.所以要在Command1命令按钮的某个方法中访问文本框的Value属性值,正确的表达式是This.Parent.Parent.Text1.Value,即选项B). 2020年全国计算机二级vfp全真模拟考试题及答 案(三) 1.支持子程序调用的数据结构是( A ). A)栈 B)树 C)队列 D)二叉树 【解析】栈支持子程序调用.栈是一种只能在一端进行插入或删除的线性表,在主程序调用子函数时要首先保存主程序当前的状态,然后转去执行子程序,最终把子程序的执行结果返回到主程序中调用子程序的位置,继续向下执行,这种调用符合栈的特点,因此本题的答案为A). 2.某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是( C ). A)10 B)8 C)6 D)4 【解析】根据二叉树的基本性质3:在任意一棵二叉树中,度为0的叶子节点总是比度为2的节点多一个,所以本题中是5+1=6个. 3.有两个关系R,S如下: 由关系R通过运算得到关系S,则所使用的运算为( B ). A)选择 B)投影 C)插入 D)连接 【解析】投影运算是指对于关系内的域指定可引入新的运算.本题中S是在原有关系R的内部进行的,是由R中原有的那些域的列所组成的关系.所以选择B). 4.在Visual FoxPro中,有如下程序,函数IIF()返回值是( A ). *程序 PRIVATE X, Y STORE \"男\" TO X Y = LEN(X)+2 ? IIF( Y < 4, \"男\女\") RETURN A)\"女\" B)\"男\" C) .T. D) .F. 【解析】iif函数测试逻辑表达式的值,若为逻辑真,函数返回前表达式的值,否则返回后表达式的值;Len函数中一个中文字符占两个字符,所以Y的值为4,Y<4为假,iif()的结果为\"女\". 5.计算结果不是字符串\"Teacher\"的表达式是( A ). A)at(\"MyTeacher\C)right(\"MyTeacher\ 【解析】at(<字符表达式1>,<字符表达式2>,<数值表达式>)函数如果前字符串是后字符串的子串,返回前字符串首字符在后字符串中第几次出现的位置,表达式at(\"MyTeacher\不正确;substr函数从指定表达式值的指定位置取指定长度的子串作为函数,substr(\"MyTeacher\的值为\"Teacher\";left从指定表达式值的左端取一个指定长度的子串作为函数值,right(\"MyTeacher\的值为\"Teacher\";right从指定表达式值的右端取一个指定长度的子串作为函数值,left(\"Teacher\的值为\"Teacher\". 6.下列程序段执行时在屏幕上显示的结果是( D ). DIME a(6) a(1)=1 a(2)=1 FOR i=3 TO 6 a(i)=a(i-1)+a(i-2) NEXT ?a(6) A)5 B)6 C)7 D)8 【解析】For循环中的语句a(i)=a(i-1)+a(i-2)是指定每个元素的值为它的前两项的和,这个元素必须只能从第3项开始指定.由于前两项分别是1、1,所以数组a的六个元素分别是1,1,2,3,5,8;元素a(6) 的值是8. 7.下列函数返回类型为数值型的是( B ). A)STR B)VAL C)CTOD D)DTOC 【解析】str函数把数值转换成字符串,返回值是字符型;val函数字符串转换成数值,返回值是数值型;ctod函数字符转换成日期,返回值是日期型;dtoc函数日期转换成字符,返回值是字符型. 8.下列程序段执行时在屏幕上显示的结果是( B ). x1=20 x2=30 SET UDFPARMS TO VALUE DO test WITH x1,x2 ?x1,x2 PROCEDURE test PARAMETERS a,b x=a a=b b=x ENDPRO A)30 30 B)30 20 C)20 20 D)20 30 【解析】根据过程test的代码可以分析出:test的功能是将传递的两个参数互换.变量x1,x2的初始值是20、30,经过\"DO test WITH x1,x2\"的调用后,x1,x2的值互换,值分别是30、20. 9.为当前表中所有学生的总分增加10分,正确的命令是( D ). A)CHANGE 总分WITH 总分+10 B)REPLACE总分WITH 总分+10 C)CHANGE ALL 总分WITH 总分+10 D)REPLACE ALL 总分WITH 总分+10 【解析】直接修改记录的值,可以使用REPLACE命令,其格式为: REPLACE FieldName WITH eExpression [, FieldName2 WITH eExpression2] … [FOR iExpression] 本题中A)、C)选项不对.因要对所有学生的总分增加10分,所以要用ALL表示全部记录. 10.在Visual FoxPro中,扩展名为mnx的文件是( D ). A)备注文件 B)项目文件 C)表单文件 D)菜单文件 【解析】mnx是菜单文件的扩展名;备注文件的扩展名是fpt;项目文件的扩展名是pjx;表单文件的扩展名是scx. 11.如果内存变量和字段变量均有变量名\"姓名\那么引用内存变量错误的方法是( C ). A)M.姓名 B)M->姓名 C)姓名 D)M 【解析】每一个变量都有一个名字,可以通过变量名访问变量.如果当前表中存在一个和内存变量同名的字段变量,则在访问内存变量时,必须在变量名前加上前缀M.(或M->),否则系统将访问同名的字段变量. 12.MODIFY STRUCTURE命令的功能是( B ). A)修改记录值 B)修改表结构 C)修改数据库结构 D)修改数据库或表结构 【解析】在命令窗口执行入MODIFY STRUCTURE命令,则打开表设计器,对表结构进行修改;修改数据库的命令是MODIFY DATABASE;修改记录值的命令是REPLACE. 13.欲执行程序temp.prg,应该执行的命令是( B ). A)DO PRG temp.prg B)DO temp.prg C)DO CMD temp.prg D)DO FORM temp.prg 【解析】运行程序文件的命令方式是: DO <文件名>.文件为扩展名为.prg的程序文件. 14.关于视图和查询,以下叙述正确的是( C ). A)视图和查询都只能在数据库中建立 B)视图和查询都不能在数据库中建立 C)视图只能在数据库中建立 D)查询只能在数据库中建立 【解析】视图是数据库中的一个特有功能,视图只能创建在数据库里.而查询从指定的表或视图中提取满足条件的记录,可以不在数据库中创建.因此视图只能在数据库中建立,而查询可以不在数据库中建立. 15.SQL的SELECT语句中,\"HAVING <条件表达式>\"用来筛选满足条件的( D ). A)列 B)行 C)关系 D)分组 【解析】在SQL的SELECT语句中HAVING短语要结合GROUP BY 使用,用来进一步限定满足分组条件的元组,因此D)选项正确. 16.设有关系SC(SNO,CNO,GRADE) ,其中SNO、CNO分别表示学号和课程号(两者均为字符型) ,GRADE表示成绩(数值型) .若要把学号为\"S101\"的同学,选修课程号为\"C11\成绩为98分的记录插入到表SC中,正确的SQL语句是( D ). A)INSERT INTO SC(SNO, CNO, GRADE)VALUES ('S101', 'C11', '98') B)INSERT INTO SC(SNO, CNO, GRADE)VALUES (S101, C11, 98) C)INSERT ('S101','C11','98' )INTO SC D)INSERT INTO SC VALUES ('S101','C11', 98) 【解析】插入命令:INSERT INTO <表名> [(<属性列1>,<属性列2>...)] VALUES (eExpression1[,eExpression2,...]),若插入的是完整的记录时,可以省略<属性列1>,<属性列2>...;另外,SNO、CNO为字符型,故其属性值需要加引号,数值型数据不需要加引号. 17.以下有关SELECT短语的叙述中错误的是( B ). A)SELECT短语中可以使用别名 B)SELECT短语中只能包含表中的列及其构成的表达式 C)SELECT短语规定了结果集中列的顺序 D)如果FROM短语引用的两个表有同名的列,则SELECT短语引用它们时必须使用表名前缀加以限定 【解析】SELECT短语中除了包含表中的列及其构成的表达式外,还可以包括常量等其他元素,在SELECT短语中可以使用别名,并规定了结果集中的列顺序,如果FROM短语中引用的两个表有同名的列,则SELECT短语引用它们时必须使用表名前缀加以限定. 18.在SELECT语句中,以下有关HAVING短语的正确叙述是( A ). A)HAVING短语必须与GROUP BY短语同时使用 B)使用HAVING短语的同时不能使用WHERE短语 C)HAVING短语可以在任意的一个位置出现 D)HAVING短语与WHERE短语功能相同 【解析】HAVING子句总是跟在GROUP BY子句之后,而不可以单独使用,HAVING子句和WHERE子句并不矛盾,在查询中是先用WHERE子句限定元组,然后进行分组,最后再用HAVING子句限定分组.因此A)选项说法正确. 19.在SQL的SELECT查询的结果中,消除重复记录的方法是( C ). A)通过指定主索引实现 B)通过指定唯一索引实现 C)使用DISTINCT短语实现 D)使用WHERE短语实现 【解析】SQL的核心是查询.SQL的查询命令也称作SELECT命令,它的基本形式由SELECT-FROM-WHERE查询块组成.其中SELECT说明要查询的字段,如果查询的字段需去掉重复值,则要用到DISTINCT短语;FROM说明要查询的字段来自哪个表或哪些表,可以对单个表或多个表进行查询,WHERE说明查询条件,即选择元组的条件.因此C)为正确选项. 20.在Visual FoxPro中,如果要将学生表S(学号,姓名,性别,年龄)中\"年龄\"属性删除,正确的SQL命令是( A ). A)ALTER TABLE S DROP COLUMN 年龄 B)DELETE 年龄 FROM S C)ALTER TABLE S DELETE COLUMN 年龄 D)ALTER TABLE S DELETE 年龄 【解析】修改表结构可使用ALTER TABLE命令,删除表中的字段、索引及有效性规则、错误提示信息及默认值,其命令格式为: ALTER TABLE <表名> [DROP [COLUMN] <字段名>] [DROP PRIMARY KEY TAG <索引名1>] [DROP UNIQUE TAG <索引名2>] [DROP CHECK] 其中,[DROP [COLUMN] <字段名>] 删除指定的字段;[DROP PRIMARY KEY <索引名1>] 删除主索引;[DROP UNIQUE TAG <索引名2>] 删除候选索引;[DROP CHECK] 删除有效性规则.本题要删除\"年龄\"属性,正确的命令应该是DROP COLUMN 年龄. 2020年全国计算机二级vfp全真模拟考试题及答 案(四) 1.下列数据结构中,属于非线性结构的是( C ). A)循环队列 B)带链队列 C)二叉树 D)带链栈 【解析】树是简单的非线性结构,所以二叉树作为树的一种也是一种非线性结构. 2.假设表文件TEST.DBF已经在当前工作区打开,要修改其结构,可使用命令( A ). A)MODI STRU B)MODI COMM TEST C)MODI DBF D)MODI TYPE TEST 【解析】要用命令修改表结构,先用USE打开要修改的表,然后使用MODIFY STRUCTURE打开表设计器,对表结构进行修改. 3.有如下赋值语句:a = \"计算机\"和b = \"微型\结果为\"微型机\"的表达式是( D ). A)b + LEFT(a, 3) B)b + RIGHT(a, 1) C)b + LEFT(a, 5, 2) D)b + RIGHT(a, 2) 【解析】LEFT(<字符表达式>,<长度>)函数从指定表达式左端截取一个指定长度的子串作为函数值.RIGHT(<字符表达式>,<长度>)函数从指定表达式右端截取一个指定长度的子串作为函数值.在Visual FoxPro中,一个汉字的长度为2.所以RIGHT(a,2)的值是\"机\+ RIGHT(a, 2) = \"微型机\". 4.在Visual FoxPro中,有如下内存变量赋值语句: X = {^2001-07-28 10:15:20 PM} Y = .F. M = $123.45 N = 123.45 Z = \"123.24\" 执行上述赋值语句之后,内存变量X、Y、M、N和Z的数据类型分别是( B ). A)D、L、Y、N、C B)T、L、Y、N、C C)T、L、M、N、C D)T、L、Y、N、S 【解析】根据赋值的内容判断,X是日期时间型(T),Y是逻辑型(L),M 是货币型(Y),N是数值型(N),Z是字符型(C). 5.下面程序的运行结果是( C ). SET EXACT ON s=\"ni\"+SPACE(2) IF s==\"ni\" IF s=\"ni\" ? \"one\" ELSE ? \"two\" ENDIF ELSE IF s=\"ni\" ? \"three\" ELSE ? \"four\" ENDIF ENDIF RETURN A)one B)two C)three D)four 【解析】在用双等号运算符(==)比较两个字符串时,只有当两个字符串完全相同(包括空格以及各字符的位置)时,运算结果才会是逻辑真.T.,否则为逻辑假.F.;在用单等号运算符(=)比较两个字符串时, 运算结果与SET EXACT ON|OFF的设置有关:当设置ON时,先在较短字符串的尾部加上若干个空格,使两个字符串的长度相等,然后再进行精确比较,当设置OFF时,只要右边字符串与左边字符串的前面部分内容相匹配,即可得到逻辑真.T.的结果,即字符串的比较因右面的字符串结束而终止. 本题中,s=\"ni\"+SPACE(2)= \"ni \第一层条件语句(IF s==\"ni\")为逻辑假.F.,则进入ELSE分支中.由于本题设置了SET EXACT ON,第二层条件语句(IF s=\"ni\")中,等号右侧的长度小,所以会在右侧的字符串增加两个空格,使之和左侧的字符串长度相等,这与s(\"ni \")的值相等,所以第二层条件语句为逻辑真.T.,程序将执行:? \"three\"语句,所以运行结果为:three. 6.要为当前表所有性别为\"女\"的职工增加100元工资,正确的命令是( B ). A)REPLACE ALL 工资 WITH 工资+100 B)REPLACE 工资 WITH 工资+100 FOR 性别=\"女\" C)CHANGE ALL 工资 WITH 工资+100 D)CHANGE ALL 工资 WITH 工资+100 FOR 性别=\"女\" 【解析】在Visual FoxPro中,CHANGE和REPLACE命令都具有修改表记录的功能,但是,CHANGE命令只能用于交互环境中对当前记录进行编辑、修改,因此首先排除选项C)和D).使用REPLACE命令可以直接用指定的表达式或值修改记录,如果使用FOR短语,则修改逻辑表达式值为真的所有记录,选项A)使用了ALL短语,执行结果是修改表中所有记录, 与题目要求不符. 7.说明数组后,数组元素的初值是( D ). A)整数0 B)不定值 C)逻辑真 D)逻辑假 【解析】数组创建后,系统自动给每个数组元素赋以逻辑假.F.. 8.在Visual FoxPro中,通常以窗口形式出现,用以创建和修改表、表单、数据库等应用程序组件的可视化工具称为( B ). A)向导 B)设计器 C)生成器 D)项目管理器 【解析】Visual FoxPro的设计器是创建和修改应用系统各种组件的可视化工具,利用各种设计器可以创建表、表单、数据库、查询、报表等. 向导是一种交互式程序,用户在一系列向导屏幕上回答问题或者选择选项,向导会根据回答生成文件或者执行任务,帮助用户快速地完成一般性的任务. 生成器是带有选项卡的对话框,用于简化对表单、复杂控件和参照完整性代码的创建和修改过程. 项目管理器是Visula FoxPro中处理数据和对象的主要组织工具,它为系统开发者提供了极为便利的工作平台. 9.在Visual FoxPro中,释放表单时会引发的事件是( A ). A)UnLoad事件 B)Init事件 C)Load事件 D)Release事件 【解析】释放表单时,会引发Destroy和Unload事件.而Init和Load事件是在表单加载时引发的事件.Release方法会将表单从内存中释放. 10.在Visual FoxPro中,数据库表字段的有效性规则的设置可以在 ( C ). A)项目管理器中进行 B)数据库设计器中进行 C)表设计器中进行 D)表单设计器中进行 【解析】建立字段有效性规则比较简单直接的方法是在表设计器中建立,在表设计器的\"字段\"选项卡中有一组定义字段有效性规则的项目,它们是\"规则\"、\"信息\"、\"默认值\"三项.其中\"规则\"是逻辑表达式,\"信息\"是字符串表达式,\"默认值\"的类型则以字段的类型确定. 11.在Visual FoxPro中以下叙述正确的是( B ). A)表也被称作表单 B)用CREATE DATABASE命令建立的数据库文件不存储用户数据 C)用CREATE DATABASE命令建立的数据库文件的扩展名是DBF D)一个数据库中的所有表文件存储在一个物理文件中 【解析】表是关系数据库的一个关系,而表单是Visual FoxPro提供的用于建立应用程序界面的最主要的工具之一,表单内可以包含命令按钮、文本框、列表框等各种界面元素,产生标准的窗口或对话框,所以表和表单是不同的概念,A)选项中表也被称作表单的说法不正确;用CREATE DATABASE命令建立的是数据库文件,而数据库是一个逻辑上的概念和手段,它通过一组系统文件将相互关联的数据库表及其相关的数据库对象统一组织和管理,数据库文件不包含用户数据,用户数据是存储在表文件中,B)选项说法正确;数据库文件的扩展名是DBC,而DBF是数据库表文件,C)选项的说法不正确;在Visual FoxPro每个表都对应一个DBF文件,即都对应一个物理文件,所以一个数据库中的 所有表文件存储在一个物理文件中的说法不正确. 12.在Visual FoxPro中,菜单程序文件的默认扩展名是( C ). A)mnx B)mnt C)mpr D)prg 【解析】菜单程序文件的扩展名是mpr;mnx是菜单文件的扩展名;mnt是菜单备注文件的扩展名;prg是程序文件的扩展名. 13.下面有关数据库表和自由表的叙述中,错误的是( B ). A)数据库表和自由表都可以用表设计器来建立 B)数据库表和自由表都支持表间联系和参照完整性 C)自由表可以添加到数据库中成为数据库表 D)数据库表可以从数据库中移出成为自由表 【解析】所谓自由表,就是那些不属于任何数据库的表,在Visual FoxPro中创建表时,如果当前没有打开数据库,则创建的表也是自由表.可以将自由表添加到数据库中,使之成为数据库表;也可以将数据库表从数据库中移出,使之成为自由表.所以A)选项数据库表和自由表都可以用表设计器来建立的说法正确;C)、D)选项的说法也正确;而B)选项中,由于自由表不属于任何数据库,所以不支持表间联系和参照完整性,B)选项说法不正确. 14.设有关系歌手(歌手号,姓名,最后得分)和关系评分(歌手号,分数,评委号),每个歌手的最后得分是所有评委给出的分数的平均值,则计算歌手\"最后得分\"的SQL语句是( A ). A)UPDATE 歌手 SET 最后得分=(SELECT AVG(分数)FROM 评分 WHERE 歌手号=歌手.歌手号) B)UPDATE 歌手 SET 最后得分 EXISTS (SELECT AVG(分数)FROM 评分 WHERE 歌手号=歌手.歌手号) C)UPDATE 歌手 SET 最后得分=(SELECT AVG(分数)FROM 评分) D)UPDATE 歌手 SET 最后得分=(SELECT AVG(分数)FROM 评分 GROUP BY 评委号) 【解析】查询的基本形式由SELECT-FROM-WHERE查询块组成.其中SELECT说明要查询的字段, FROM说明要查询的字段来自哪个表或哪些表,WHERE说明查询条件,即选择元组的条件.本题规定每个歌手的最后得分是所有评委给出的分数的平均值,正确的语句应为SELECT AVG(分数) FROM 评分 WHERE 歌手号=歌手.歌手号,选项A)为正确答案. 15.设有关系评分(歌手号,分数,评委号),如果每个歌手的\"最后得分\"的计算方法是:去掉一个最高分和一个最低分,取剩下分数的平均分.根据关系\"评分\"求每个歌手的\"最后得分\"并存储于表TEMP中,表TEMP中有两个字段:\"歌手号\"和\"最后得分\并且按最后得分降序排列,生成表TEMP的SQL语句是( D ). A)SELECT 歌手号, (COUNT(分数)-MAX(分数)-MIN(分数))/(SUM(*)-2)最后得分FROM 评分 INTO DBF TEMP GROUP BY 歌手号 ORDER BY 最后得分 DESC B)SELECT 歌手号, (COUNT(分数)-MAX(分数)-MIN(分数))/(SUM(*)-2)最后得分FROM 评分 INTO DBF TEMP GROUP BY 评委号 ORDER BY 最后得分 DESC C)SELECT 歌手号, (SUM (分数)-MAX(分数)-MIN(分数))/(COUNT (*)-2)最后得分FROM 评分 INTO DBF TEMP GROUP BY 评委号 ORDER BY 最后得分 DESC D)SELECT 歌手号, (SUM(分数)-MAX(分数)-MIN(分数))/(COUNT(*)-2)最后得分FROM 评分 INTO DBF TEMP GROUP BY 歌手号 ORDER BY 最后得分 DESC 【解析】根据题干要求的计算歌手\"最后得分\"的计算方法,应使用Sum计算分数而非Count,因此首先排除A)、B)选项.求每个歌手的\"最后得分\应该按照歌手号分组,即GROUP BY 歌手号.所以本题选D). 16.为\"评分\"表的\"分数\"字段添加有效性规则:\"分数必须大于等于0并且小于等于10\正确的SQL语句是( B ). A)CHANGE TABLE 评分ALTER 分数 SET CHECK 分数>=0 AND 分数<=10 B)ALTER TABLE 评分 ALTER 分数 SET CHECK 分数>=0 AND 分数<=10 C)ALTER TABLE 评分 ALTER 分数 CHECK 分数>=0 AND 分数<=10 D)CHANGE TABLE 评分 ALTER 分数 SET CHECK 分数>=0 OR 分数<=10 【解析】修改表结构的命令是ALTER TABLE,添加有效性规则的命令格式为: ALTER TABLE <表名> ALTER [COLUMN] <字段名1> [NULL|NOT NULL] [SET DEFAULT <默认值表达式>] [SET CHECK <逻辑表达式>[ERROR <字符型文本提示信息>]] [RENAME COLUMN <字段名2> TO <字段名3>] 其中,ALTER[COLUMN]<字段名1>指出要修改列的字段名;SET DEFAULT<默认值表达式> 重新设置默认值;SET CHECK <逻辑表达式>[ERROR <字符型文本提示信息>] 重新设置字段的合法值及错误提示信息;RENAME COLUMN <字段名2> TO <字段名3> 修改字段名,<字段名2指定要修改的字段名,<字段名3>指定修改后的字段名.本题B)选项的格式正确. 17.删除视图myview的命令是( D ). A)DELETE myview VIEW B)DELETE myview C)DROP myview VIEW D)DROP VIEW myview 【解析】视图由于是从表派生而来的,所以不存在修改结构的问题,但是视图可以删除,其命令格式为:DROP VIEW <视图名>.本题要删除视图myview,正确的命令应为DROP VIEW myview,即D)选项正确. 18.假设temp.dbf数据表中有两个字段\"歌手号\"和\"最后得分\".下面程序段的功能是:将temp.dbf中歌手的\"最后得分\"填入\"歌手\"表对应歌手的\"最后得分\"字段中.在下划线处应该填写的SQL语句是( B ). USE 歌手 DO WHILE .NOT. EOF() REPLACE 歌手.最后得分 WITH a[2] SKIP ENDDO A)SELECT * FROM temp WHERE temp.歌手号=歌手.歌手号 TO ARRAY a B)SELECT * FROM temp WHERE temp.歌手号=歌手.歌手号 INTO ARRAY a C)SELECT * FROM temp WHERE temp.歌手号=歌手.歌手号 TO FILE a D)SELECT * FROM temp WHERE temp.歌手号=歌手.歌手号 INTO FILE a 【解析】在SQL查询语句的尾部添加INTO ARRAY <数组名>可以将查询的结果放入指定的数组中.本题B)选项的格式正确. 19.与\"SELECT DISTINCT 歌手号 FROM 歌手 WHERE 最后得分>=ALL;(SELECT 最后得分 FROM 歌手 WHERE SUBSTR(歌手号,1,1)=\"2\")\"等价的SQL语句是( A ). A)SELECT DISTINCT歌手号 FROM 歌手WHERE 最后得分>=(SELECT MAX(最后得分)FROM 歌手 WHERE SUBSTR(歌手号,1,1)=\"2\") B)SELECT DISTINCT 歌手号 FROM 歌手 WHERE 最后得分>= (SELECT MIN(最后得分)FROM 歌手 WHERE SUBSTR(歌手号,1,1)=\"2\") C)SELECT DISTINCT 歌手号 FROM 歌手 WHERE 最后得分>= ANY(SELECT最后得分 FROM 歌手 WHERE SUBSTR(歌手号,1,1)=\"2\") D)SELECT DISTINCT 歌手号 FROM 歌手 WHERE 最后得分>= SOME(SELECT最后得分 FROM 歌手 WHERE SUBSTR(歌手号,1,1)=\"2\") 【解析】SUBSTR(<字符表达式>,<起始位置>[,<长度>])为取子串函数,从指定表达式值的指定起始位置取指定长度的子串作为函数值.本题的SQL语句的含义为,从表名为歌手的二维表中选出最后得分大于所有的歌手号的第一个字符为2的歌手的最后得分,与此等价的SQL命令为A)选项. 20.下面关于运行应用程序的说法正确的是( C ). A).app应用程序可以在Visual FoxPro和Windows环境下运行 B) .app应用程序只能在Windows环境下运行 C) .exe应用程序可以在Visual FoxPro和Windows环境下运行 D) .exe应用程序只能在Windows环境下运行 【解析】应用程序连编结果有两种文件形式: ①应用程序文件(.app):需要在Visual FoxPro中运行. ②可执行文件(.exe):既可以在Visual FoxPro中运行,也可以在Windows下运行.本题C)选项叙述正确. 21.在表单控件中,不属于容器型控件的是( A ). A)组合框 B)选项组 C)页框 D)表格 【解析】表单中控件分为基本型控件和容器型控件.基本型控件有标签(Label)控件、命令按钮(Command Button)、文本框(TextBox)、编 辑框(EditBox)、列表框(List1)、组合框(ComboBox)、计时器控件(Timer)、微件(Spinner);容器型控件有命令组(CommandGroup)、选项组(OptionGroup)、表格(GriD)、页框(PageFrame).本题A)选项组合框属于基本型控件. 22.假设有一表单,其中包含一个选项按钮组,在表单运行启动时,最后触发的事件是( B ). A)表单的Load B)表单的Init C)选项按钮的Init D)选项按钮组的Ini 【解析】事件是一种由系统预选定义,而由用户或系统触发的动作.可由用户触出(如click事件),也可以是由系统触发(如load事件).一般来说,用户触发事件是没有顺序性的,但一个对象上所产生的系统触发事件还是有先后次序的.表单对象从创建到被释放的整个过程可以分为5个阶段:①装载阶段(Load事件);②对象生成阶段(Init事件);③交互操作阶段(如单击事件);④对象释放阶段(Destroy事件);⑤卸载阶段(Unload事件).有关表单和控件的Load、Init、Destroy、Unload事件的先后顺序可总结为:①表单的Load事件;②表单中控件的Init事件;③表单的Init事件;④表单的Destroy事件;⑤表单中控件的Destroy事件;⑥表单的Unload事件.因此本题B)选项正确. 2020年全国计算机二级vfp全真模拟考试题及答 案(五) 1.下列叙述中正确的是( B ). A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的 B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构 C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构 D)线性表的链式存储结构与顺序存储结构在存储空间的需求上没有可比性 【解析】线性链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,所以一般要多于顺序存储结构. 2.软件生命周期是指( A ). A)软件产品从提出、实现、使用维护到停止使用退役的过程 B)软件从需求分析、设计、实现到测试完成的过程 C)软件的开发过程 D)软件的运行维护过 【解析】通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期.也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期. 3.面向对象方法中,继承是指( D ). A)一组对象所具有的相似性质 B)一个对象具有另一个对象的性质 C)各对象之间的共同性质 D)类之间共享属性和操作的机制 【解析】继承是面向对象的方法的一个主要特征,是使用已有的类的定义作为基础建立新类的定义技术.广义的说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们,所以说继承是指类之间共享属性和操作的机制. 4.数据库设计中反映用户对数据要求的模式是( C ). A)内模式 B)概念模式 C)外模式 D)设计模式 【解析】数据库系统的三级模式是概念模式、外模式和内模式.概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图.外模式也称子模式或用户模式,它是用户的数据视图,给出了每个用户的局部数据描述,所以选择C).内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法. 5.扩展名为pjx的文件是( D ). A)数据库表文件 B)表单文件 C)数据库文件 D)项目文件 【解析】扩展名为pjx的文件是项目文件;数据库表文件的扩展名是dbf;表单文件的扩展名是scx;数据库文件的扩展名是dbc. 6.在Visual FoxPro中以下叙述正确的是( B ). A)关系也被称作表单 B)数据库表文件存储用户数据 C)表文件的扩展名是.DBC D)多个表存储在一个物理文件中 【解析】表是关系数据库的一个关系,而表单是Visual FoxPro提供的用于建立应用程序界面的最主要的工具之一,表单内可以包含命令按钮、文本框、列表框等各种界面元素,产生标准的窗口或对话框,所以表和表单是不同的概念,A)选项中关系也被称作表单的说法不正确, 应该是被称作表;表文件是数据库中存储数据的载体,所以B)选项的说法正确;表文件的扩展名是DBF,而DBC是数据库库文件的扩展名,C)选项的说法不正确;在Visual FoxPro每个表都对应一个DBF文件,即都对应一个物理文件,所以一个数据库中的所有表文件存储在一个物理文件中的说法不正确. 7.以下关于\"视图\"的描述正确的是( B ). A)视图保存在项目文件中 B)视图保存在数据库中 C)视图保存在表文件中 D)视图保存在视图文件中 【解析】视图是一个虚拟表.所谓虚拟,是因为视图的数据是从已有的数据库表或其他视图中抽象得来的,这些数据在数据库中并不实际存储,仅在其数据字典中存储视图的定义.但视图一经定义,就成为数据库的组成部分,可以像数据库表一样接受用户的查询. 8.关闭表单的程序代码是ThisForm.Release,Release是( D ). A)表单对象的标题 B)表单对象的属性 C)表单对象的事件 D)表单对象的方法 【解析】在面向对象的概念中,属性用来表示对象的状态,方法用来描述对象的行为,事件是一种由系统预先定义而由用户或系统发出的动作,事件作用于对象,对象识别事件并作出相应反应.Release是将表单从内存中释放,它是表单的一种行为,所以它是表单对象的方法. 9.Visual FoxPro是( B ). A)数据库系统 B)数据库管理系统 C)数据库 D)数据库应用系统 【解析】数据库是存储在计算机存储设备上,结构化的相关数据的集合;数据库管理系统是对数据实行专门管理,提供安全性和完整性等统一机制,可以对数据的建立、使用、维护进行管理;数据库系统是指引进数据库技术后的计算机系统,实现有组织地、动态地存储大量相关数据,提供数据处理和信息资源共享的便利手段,数据库系统由硬件系统、数据库、数据库管理系统及相关软件、数据库管理员和用户等部分组成;数据库应用系统是由系统开发人员利用数据库系统资源开发出来的,面向某一类实际应用的软件系统;而Visual FoxPro系统作为对数据库进行建立、使用、维护的平台,它是一套数据库管理系统. 10.下列程序段执行以后,内存变量y 的值是( B ). x=763 y=0 DO WHILE x>0 y=x%10+y*10 x=int(x/10) ENDDO A)3456 B)34567 C)76 D)763 11.下面程序计算一个整数的各位数字之和.在下划线处应填写的语句是( A ). SET TALK OFF INPUT \"x=\" TO x s=0 DO WHILE x!=0 s=s+MOD(x,10) ENDDO ? s SET TALK ON A)x=int(x/10) B)x=int(x%10) C)x=x-int(x/10) D)x=x-int(x%10) 【解析】MOD是取余函数,MOD(x,10)就是取x的个位数,因为本题是计算一个整数的各位数字之和,如果依次把x的各位移到个位数上,进行相加就可以实现了.Do循环中的第一条语句,即是计算个位数之和,所 以第2条语句应该是将x的各位数字进行移动,而A)选项的语句是将x的值除以10后取整,即可以实现将每位向右移动一位. 12.命令SELECT 0的功能是( A ). A)选择编号最小的未使用工作区 B)选择0号工作区 C)关闭当前工作区中的表 D)选择当前工作区 【解析】在多工作区中,指定工作区的命令是:SELECT nWorkArea|cTableAlias,其中参数nWorkArea是一个大于等于0的数字,用于指定工作区号,最小的工作区号是1,最大的工作区号是32767,如果这里指定为0,则选择编号最小的可用工作区. 13.有关ZAP命令的描述,正确的是( C ). A)ZAP命令只能删除当前表的当前记录 B)ZAP命令只能删除当前表的带有删除标记的记录 C)ZAP命令能删除当前表的全部记录 D)ZAP命令能删除表的结构和全部记录 【解析】使用ZAP命令可以物理删除表中的全部记录,不管是否有删除标记.该命令只是删除全部记录,并没有删除表,执行完该命令后表结构依然存在. 14.下列程序段执行以后,内存变量X和Y的值是( C ). CLEAR STORE 3 TO X STORE 5 TO Y PLUS((X),Y) ? X,Y PROCEDURE PLUS PARAMETERS A1,A2 A1=A1+A2 A2=A1+A2 ENDPROC A)8 13 B)3 13 C)3 5 D)8 5 【解析】参数传递有按值传递和按引用传递两种方式,按值传递时,形参变量值的改变不会影响实参变量的取值;按引用传递时,当形参变量值改变时,实参变量值也随之改变. 模块的调用格式有两种: 格式1:使用DO命令,格式为DO <文件名>︱<过程名>. 格式2:在文件名或过程名后面加一对小括号,格式为<文件名>︱<过程名>(),括号中包括若干个实参变量. 本题采用的是利用格式2的方式调用模块程序,采用格式2调用模块程序时,默认情况下都以按值方式传递参数.如果实参是变量,可以通过SET UDFPARMS命令重新设置参数传递的方式,但是,需要注意的是,不论是设置何种传递方式,凡是用一对圆括号将一个变量括起来使其变成一般形式的表达式,总是按值传递,它不受SET UDFPARMS值的设置影响.本题中X和Y都是按值传递,形参值的变化不会影响到实参值,所以程序段执行以后X值等于3,Y值等于5. 15.下列程序段执行以后,内存变量y的值是( D ). CLEAR x=12345 y=0 DO WHILE x>0 y=y+x%10 x=int(x/10) ENDDO ?y A)321 B)12345 C)51 D)15 16.假设\"订单\"表中有订单号、职员号、客户号和金额字段,如下SQL命令可以正确执行的是( B ). A)SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(*)>3 AND AVG_金额>200 B)SELECT 职员号 FROM 订单GROUP BY 职员号 HAVING COUNT(*)>3 AND AVG(金额)>200 C)SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(*)>3 WHERE AVG(金额)>200 D)SELECT 职员号 FROM 订单 GROUP BY 职员号 WHERE COUNT(*)>3 AND AVG_金额>200 【解析】查询是由SELECT和FROM短语构成的无条件查询,或由SELECT、FROM和WHERE短语构成的条件查询.其基本格式为:SELECT <字段名表>FROM <表名表>WHERE <条件>GROUP BY <字段>HAVING <条件>ORDER BY<字段>INTO DBF|TABLE |.GROUP BY语句用来分组,HAVING语句用来限定分组必须满足的条件.C)、D)选项格式错误.取字段的平均值应用\"()\"而非\"_\所以本题选B). 17.要使\"产品\"表中所有产品的单价上浮8%,正确的SQL命令是( D ). A)UPDATE产品 SET 单价=单价 + 单价*8% FOR ALL B)UPDATE产品 SET 单价=单价*1.08 FOR ALL C)UPDATE产品 SET 单价=单价 + 单价*8% D)UPDATE 产品 SET 单价=单价*1.08 【解析】更新数据的命令格式为:UPDATE 表名 SET 字段名1=表达式1 [,字段名2=表达式2……] [WHERE 条件].一般使用WHERE子句指定更新的条件,并且一次可以更新多个字段;如果不使用WHERE子句,则更新全部记录.本题要使\"产品\"表中所有产品的单价上浮8%,应设置表达式为\"单价=单价*1.08\即D)选项正确. 18.假设同一名称的产品有不同的型号和产地,则计算每种产品平均单价的SQL命令是( D ). A)SELECT 产品名称, AVG(单价)FROM 产品 GROUP BY 单价 B)SELECT 产品名称, AVG(单价)FROM 产品 ORDER BY 单价 C)SELECT 产品名称, AVG(单价)FROM 产品 ORDER BY 产品名称 D)SELECT 产品名称, AVG(单价)FROM 产品 GROUP BY 产品名称 【解析】使用GROUP BY短语首先依据产品名称对产品进行分组,然后再计算每种产品的平均单价(AVG).ORDER BY短语则用来排序.本题D)选项正确. 19.设有S(学号,姓名,性别)和SC(学号,课程号,成绩)两个表,如下SQL语句检索选修的每门课程的成绩都高于或等于85分的学生的学号、姓名和性别,正确的SQL命令是( D ). A)SELECT 学号,姓名,性别 FROM s WHERE EXISTS ( SELECT * FROM sc WHERE SC.学号 = S.学号 AND成绩 <= 85 ) B)SELECT 学号,姓名,性别 FROM s WHERE NOT EXISTS ( SELECT * FROM sc WHERE SC.学号 = S.学号 AND成绩 <= 85 ) C)SELECT 学号,姓名,性别 FROM s WHERE EXISTS (SELECT * FROM sc WHERE SC.学号 = S.学号 AND成绩 > 85 ) D)SELECT 学号,姓名,性别 FROM s WHERE NOT EXISTS ( SELECT * FROM sc WHERE SC.学号 = S.学号 AND成绩 < 85 ) 【解析】本题考查内外层嵌套查询以及使用量词和谓词的查询.EXISTS是谓词,EXISTS或NOT EXISTS是用来检查在子查询中是否有结果返回,即存在元组或不存在元组.其本身并没有进行任何运算或比较,只用来返回子查询结果.本题要检索选修的每门课程的成绩 都高于或等于85分的学生的学号、姓名和性别,SELECT * FROM sc WHERE SC.学号 = S.学号 AND成绩 < 85已经筛选出成绩小于85分的所有记录,NOT EXISTS命令即返回高于或等于85分的记录,因此D)选项正确. 20.从\"订单\"表中删除签订日期为2012年1月10日之前(含)的订单记录,正确的SQL命令是( C ). A)DROP FROM 订单 WHERE 签订日期<={^2012-1-10} B)DROP FROM 订单 FOR 签订日期<={^2012-1-10} C)DELETE FROM 订单 WHERE 签订日期<={^2012-1-10} D)DELETE FROM 订单 FOR 签订日期<={^2012-1-10} 【解析】删除数据的命令格式为:DELETE FROM 表名 [WHERE 条件].首先排除A)、B)选项.WHERE指定被删除的记录所满足的条件,如果不使用WHERE子句,则删除该表中的全部记录.D)选项格式错误,所以本题选C). 21.与\"SELECT DISTINCT 产品号 FROM 产品 WHERE 单价>=ALL(SELECT 单价 FROM 产品 WHERE SUBSTR(产品号,1,1)=\"2\")\"等价的SQL命令是( A ). A)SELECT DISTINCT产品号 FROM 产品WHERE 单价>=;(SELECT MAX(单价)FROM 产品 WHERE SUBSTR(产品号,1,1)=\"2\") B)SELECT DISTINCT 产品号 FROM 产品 WHERE 单价>= ;(SELECT MIN(单价)FROM 产品 WHERE SUBSTR(产品号,1,1)=\"2\") C)SELECT DISTINCT 产品号 FROM 产品 WHERE 单价>= ANY;(SELECT单价 FROM 产品 WHERE SUBSTR(产品号,1,1)=\"2\") D)SELECT DISTINCT 产品号 FROM 产品 WHERE 单价>= SOME ;(SELECT单价 FROM 产品 WHERE SUBSTR(产品号,1,1)=\"2\") 【解析】SUBSTR(<字符表达式>,<起始位置>[,<长度>])为取子串函数,从指定表达式值的指定起始位置取指定长度的子串作为函数值.DISTINCT语句用来去掉重复值.本题主要考察嵌套查询,与题目含义等价的应为A)选项. 22.根据\"产品\"表建立视图myview,视图中含有包括了\"产品号\"左边第一位是\"1\"的所有记录,正确的SQL命令是( A ). A)CREATE VIEW myview AS SELECT * FROM 产品 WHERE LEFT(产品号,1)=\"1\" B)CREATE VIEW myview AS SELECT * FROM 产品 WHERE LIKE(\"1\产品号) C)CREATE VIEW myview SELECT * FROM 产品 WHERE LEFT(产品号,1)=\"1\" D)CREATE VIEW myview SELECT * FROM 产品 WHERE LIKE(\"1\产品号) 【解析】使用CREATE VIEW命令可以创建一个视图,要求视图中含有包括了\"产品号\"左边第一位是\"1\"的所有记录,可使用SELECT命令.首先排除C)、D)选项,where指定的条件\"WHERE LEFT(产品号,1)=\"1\"\"正确,因此A)选项为正确选项. 23.在项目管理器中,将一程序设置为主程序的方法是( C ). A)将程序命名为main B)通过属性窗口设置 C)右键单击该程序从快捷菜单中选择相关项 D)单击修改按钮设置 【解析】设置主程序有两种方法:①在项目管理器中选中要设置为主程序的文件,从主菜单的\"项目\"菜单或快捷菜单中选择\"设置主文件\"选项.项目管理器将应用程序的主文件自动设置为\"包含\在编译完应用程序之后,该文件作为只读文件处理.②在\"项目信息\"的\"文件\"选项卡中选中要设置的主程序文件,右击鼠标,在弹出的快捷菜单中选择\"设置主文件\".在这种情况下,只有把文件设置为\"包含\"之后才能激活\"设置文件\"选项.即C)选项正确. 24.假设在表单设计器环境下,表单中有一个文本框且已经被选定为当前对象.现在从属性窗口中选择Value属性,然后在设置框中输入:={^2001-9-10}-{^2001-8-20}.请问以上操作后,文本框Value属性值的数据类型为( B ). A)日期型 B)数值型 C)字符型 D)布尔型 【解析】两个日期型数据可以相减,结果是一个数值型的数据,表示两个日期相差的天数.因此本题B) 25.表单里有一个选项按钮组,包含两个选项按钮Option1和Option2.假设Option2没有设置Click事件代码,而Option1以及选项按钮组和表单都设置了Click事件代码.那么当表单运行时,如果用户单击Option2,系统将( B ). A)执行表单的Click事件代码 B)执行选项按钮组的Click事件代码 C)执行Option1的Click事件代码 D)不会有反应 【解析】表单对象从创建到被释放的整个过程可以分为5个阶段:① 装载阶段(Load事件);② 对象生成阶段(Init事件);③ 交互操作阶段(如单击事件);④ 对象释放阶段(Destroy事件);⑤ 卸载阶段(Unload事件).本题没有设置Option2的Click事件代码,当单击时,优先触发选项按钮组的Click事件代码.B)选项正确. 2020年全国计算机二级vfp全真模拟考试题及 答案(六) 1.下列叙述中正确的是( C )。 A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化 B) 在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化 C) 在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化 D) 以上说法都不正确 【解析】栈是先进后出的数据结构,在整个过程中,栈底指针不变,入栈与出栈操作均由栈顶指针的变化来操作,所以选择C)。 2.某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)( D )。 A)3 B) 4 C) 6 D) 7 【解析】根据二叉树的基本性质3:在任意一棵二叉树中,度为0的叶 子节点总比度为2的节点多一个,所以本题中度为2的节点为1-1=0个,所以可以知道本题目中的二叉树的每一个节点都有一个分支,所以共7个节点共7层,即深度为7。 3.结构化程序所要求的基本结构不包括( B )。 A)顺序结构 B) GOTO跳转 C) 选择(分支)结构 D) 重复(循环)结构 【解析】1966年Boehm和Jacopini证明了程序设计语言仅仅使用顺序、选择和重复三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。 4.下面描述中错误的是( A )。 A)系统总体结构图支持软件系统的详细设计 B) 软件设计是将软件需求转换为软件表示的过程 C) 数据结构与数据库设计是软件设计的任务之一 D) PAD图是软件详细设计的表示工具 【解析】详细设计的任务是为软件结构图中而非总体结构图中的每一个模块确定实现算法和局部数据结构,用某种选定的表达工具表示算法和数据结构的细节,所以A)错误。 5.不允许出现重复字段值的索引是( A )。 A)候选索引和主索引 B) 普通索引和唯一索引 C) 唯一索引和主索引 D) 唯一索引 【解析】Visual FoxPro中的索引分为主索引、候选索引、唯一索引和普通索引四种。主索引是在指定字段或表达式中不允许出现重复值 的索引,主索引可以看作表中的主关键字,一个表中只能有一个主索引;候选索引和主索引具有相同的特性,但候选索引可以有多个;唯一索引是索引项的唯一,而不是字段值的唯一;普通索引既允许字段中出现重复值,也允许索引项中出现重复值。所以不允许出现字段值的索引是主索引和候选索引。 6.下列程序段的执行结果是( C )。 DIME a(8) a(1)=1 a(2)=1 for i=3 to 8 a(i)=a(i-1)+a(i-2) next ?a(7) A)5 B) 8 C) 13 D) 21 【解析】For循环中的语句a(i)=a(i-1)+a(i-2)是指定每个元素的值为它的前两项的和,这个元素必须只能从第3项开始指定。由于前两项分别是1、1,所以数组a的8个元素分别是1,1,2,3,5,8,13,21;元素a(7)的值是13。 7.在Visual FoxPro中以下叙述正确的是( A )。 A)利用视图可以修改数据 B) 利用查询可以修改数据 C) 查询和视图具有相同的作用 D) 视图可以定义输出去向 【解析】视图是操作表的一种手段,通过视图可以查询表,也可以更 新表,所以利用视图可以修改数据,A)选项叙述正确;而查询是从指定的表或视图中提取满足条件的记录,然后按照想得到的输出类型定向输出查询结果,所以查询不能修改数据,而查询可以定义输出去向,B)、D)选项叙述不正确;很明显,查询和视图具有不同的作用,C)选项叙述不正确。 8.在Visual FoxPro中可以用DO命令执行的文件不包括( C )。 A)PRG文件 B) MPR文件 C) FRX文件 D) QPR文件 【解析】PRG文件是程序文件,DO 9.在Visual FoxPro中以下叙述错误的是( D )。 A)关系也被称作表 B) 用CREATE DATABASE命令建立的数据库文件不存储用户数据 C) 表文件的扩展名是.dbf D) 多个表存储在一个物理文件中 【解析】在关系模型的概念中,一个关系就是一张二维表,所以A)选项说法正确;CREATE DATABASE的命令是建立数据库的命令,而数据库是一个逻辑上的概念和手段,它通过一组系统文件将相互关联的数据库表及其相关的数据库对象统一组织和管理,数据库文件不存储 用户数据,所以B)选项正确;表文件的扩展名是DBF,所以C)选项说法正确;在Visual FoxPro每个表都对应一个DBF文件,即都对应一个物理文件,所以D)选项说法不正确。 10.扩展名为scx的文件是( C )。 A)备注文件 B) 项目文件 C) 表单文件 D) 菜单文件 【解析】scx是表单文件的扩展名;备注文件的扩展名是tbk;项目文件的扩展名是pjx;菜单文件的扩展名是mnx。 11.在Visual FoxPro中,为了将菜单作为顶层菜单,需要设置表单的某属性值为2,该属性是( A )。 A)ShowWindow B) WindowShow C) WindowState D) Visible 【解析】将表单的ShowWindow属性设置为2,将使之成为顶级菜单。 12.下列程序段执行后,内存变量s1的值是( B )。 s1=\"network\" s1=stuff(s1,4,4,\"BIOS\") ?s1 A)network B) netBIOS C) net D) BIOS 【解析】STUFF(<字符表达式1>,<起始位置>,<长度>,<字符表达式2>)函数的功能是用字符表达式2的值替换字符表达式1中由起始位置和长度指定的一个子串。所以s1,4,4的值是\"work\",把\"BIOS\"替换\"work\",最后的值为\"netBIOS\"。 13.在Visual FoxPro中,如果希望内存变量只能在本模块(过程) 中 使用,不能在上层或下层模块中使用。说明该种内存变量的命令是( B )。 A)PRIVATE B) LOCAL C) PUBLIC D) 不用说明,在程序中直接使用 【解析】内存变量的作用域中,全局变量(PUBLIC声明)在任何模块中使用,局部变量(LOCAL)只能在建立它的模块中使用,不能在上层或下层模块中使用,私有变量不需要通过PUBLIC和LOCAL命令事先声明,而在程序中直接使用。 14.在Visual FoxPro中,在屏幕上预览报表的命令是( B )。 A)PREVIEW REPORT B) REPORT FORM … PREVIEW C) DO REPORT … PREVIEW D) RUN REPORT… PREVIEW 【解析】在命令窗口或程序中使用REPORT FORM <报表文件名> 命令可以打印指定的报表,使用REPORT FORM <报表文件名> PREVIEW可以预览指定的报表。 15.命令? VARTYPE(TIME())的结果是( A )。 A)C B) D C) T D) 出错 【解析】VARTYPE函数测试表达式的类型,返回一个大写字母。TIME()以24小时制返回当前系统时间,函数值为字符型。所以VARTYPE(TIME() )的结果为代表字符型的大写字母C。 16.命令? LEN(SPACE(3)-SPACE(2))的结果是( D )。 A)1 B) 2 C) 3 D) 5 【解析】SPACE()返回由指定数目的空格组成的字符串;表达式\"-\" 是连接前后两个字符串,并将前字符串的尾部空格移到合并后的新字符串尾部;所以SPACE(3)-SPACE(2)的值为5个空格组成的字符串;LEN()返回指定字符表式的长度,即字符个数;所以LEN(SPACE(3)-SPACE(2) )的值为5。 17.要想将日期型或日期时间型数据中的年份用4位数字显示,应当使用设置命令( A )。 A)SET CENTURY ON B) SET CENTURY OFF C) SET CENTURY TO 4 D) SET CENTURY OF 4 【解析】命令格式SET CENTURY ON|OFF|TO 的功能是用于决定如何显示或解释一个日期数据的年份。ON显示世纪,即用4位数字表示年份;OFF不显示世纪,即用2位数字表示年份;TO决定如何解释一个用2位数字年份表示的日期所处的世纪。 18.查询选修C2课程号的学生姓名,下列SQL语句中错误的是( C )。 A)SELECT姓名FROM S WHERE EXISTS (SELECT * FROM SC WHERE 学号 = S.学号 AND课程号 = ′C2′ ) B) SELECT姓名FROM S WHERE学号IN (SELECT学号FROM SC WHERE课程号 = ′C2′) C) SELECT姓名FROM S JOIN SC ON S.学号 = SC.学号 WHERE 课程号 = ′C2′ D) SELECT姓名FROM S WHERE学号 = (SELECT 学号 FROM SC WHERE 课程号 = ′C2′) 【解析】本题A)选项为使用量词和谓语的查询,有两种格式:格式1: <表达式><比较运算符>[ANY|ALL|SOME](子查询)。格式2:[NOT]EXISTS(子查询)。C)选项为超链接查询,B)和D)选项为简单查询,SELECT查询的基本格式为:SELECT <字段名表>FROM <表名表>WHERE <条件>GROUP BY <字段>HAVING <条件>ORDERBY<字段>INTO DBF|TABLE |。D)选项格式错误。 19.在SQL SELECT语句中与INTO TABLE等价的短语是( A )。 A)INTO DBF B) TO TABLE C) INTO FORM D) INTO FILE 【解析】在SQL查询语句的尾部添加INTO DBF|TABLE <表名>可以将查询的结果放入新生成的指定表中。INTO TABLE命令与INTO DBF命令等价,即A)选项正确。 20.下列属于表单方法名(非事件名)的是( B )。 A)Init B) Release C) Destroy D) Caption 【解析】本题Init和Destroy为常用事件,Caption为表单属性。Release是方法的一种,用于将表单从内存中释放(清除),所以B)为正确选项。 21.在使用查询设计器创建查询时,为了指定在查询结果中是否包含重复记录(对应于DISTINCT),应该使用的选项卡是( D )。 A)排序依据 B) 联接 C) 筛选 D) 杂项 【解析】在查询设计器的界面中有6个选项卡,它们和SQL SELECT语句的各短语是相对应的。其中,\"杂项\"选项卡可以指定是否要重复记录(对应于DISTINCT)及列在前面的记录(对应于TOP短语)等。即D)为正确选项。 2020年全国计算机二级vfp全真模拟考试题及答 案(七) 1.下列叙述中正确的是( B )。 A)有一个以上根结点的数据结构不一定是非线性结构 B) 只有一个根结点的数据结构不一定是线性结构 C) 循环链表是非线性结构 D) 双向链表是非线性结构 【解析】线性结构应满足:有且只有一个根结点与每个结点最多有一个前件,也最多有一个后件,所以B)正确。所以有一个以上根结点的数据结构一定是非线性结构,所以A)错误。循环链表和双向链表都是线性结构的数据结构。 2.下列关于二叉树的叙述中,正确的是( B )。 A)叶子结点总是比度为2的结点少一个 B) 叶子结点总是比度为2的结点多一个 C) 叶子结点数是度为2的结点数的两倍 D) 度为2的结点数是度为1的结点数的两倍 【解析】根据二叉树的基本性质3:在任意一棵二叉树中,度为0的叶子结点总是比度为2的结点多一个。所以选择B)。 3.程序调试的任务是( D )。 A)设计测试用例 B) 验证程序的正确性 C) 发现程序中的错误 D) 诊断和改正程序中的错误 【解析】程序调试的任务是诊断和改正程序中的错误。 4.下列关于数据库设计的叙述中,正确的是( A )。 A)在需求分析阶段建立数据字典 B) 在概念设计阶段建立数据字典 C) 在逻辑设计阶段建立数据字典 D) 在物理设计阶段建立数据字典 【解析】数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实和完善的。数据库系统的三级模式是概念模式、外模式和内模式 5.下列选项中属于面向对象设计方法主要特征的是( A )。 A)继承 B) 自顶向下 C) 模块化 D) 逐步求精 【解析】面向对象基本方法的基本概念有对象、类和实例、消息、继承与多态性,所以选择A)。 6.在Visual FoxPro中,要想将日期型或日期时间型数据中的年份用4位数字显示,应当使用设置命令( A )。 A)SET CENTURY ON B) SET CENTURY TO 4 C) SET YEAR TO 4 D) SET YAER TO yyyy 【解析】命令格式SET CENTURY ON|OFF|TO 的功能是用于决定如何显示或解释一个日期数据的年份。ON显示世纪,即用4位数字表示年份;OFF不显示世纪,即用2位数字表示年份;TO决定如何解释一个用2位数字年份表示的日期所处的世纪。 7.假设在数据库表的表设计器中,字符型字段\"性别\"已被选中,正确 的有效性规则设置是( D )。 A)=\"男\".OR.\"女\" B) 性别=\"男\".OR.\"女\" C) $\"男女\" D) 性别$\"男女\" 【解析】建立字段有效性规则比较简单直接的方法是在表设计器中建立,在表设计器的\"字段\"选项卡中有一组定义字段有效性规则的项目,它们是\"规则\"、\"信息\"、\"默认值\"三项。其中\"规则\"是逻辑表达式,\"信息\"是字符串表达式,\"默认值\"的类型则以字段的类型确定。所以正确的有效性规则设置必须为逻辑表达式,四个选项中只有D)选项是正确的逻辑表达式。 8.在Visual FoxPro中,下面关于属性、事件、方法叙述错误的是( D )。 A)属性用于描述对象的状态 B) 方法用于表示对象的行为 C) 事件代码也可以像方法一样被显式调用 D) 基于同一个类产生的两个对象不能分别设置自己的属性值 【解析】在面向对象的概念中,属性用来表示对象的状态,方法用来描述对象的行为,事件是一种由系统预先定义而由用户或系统发出的动作,事件作用于对象,对象识别事件并作出相应反应,事件可以由系统引发,也可以由用户引发,当由用户引发时,可以像方法一样被显式调用。基于类生成的对象,虽然采用了相同的属性来表示状态,但它们在属性上的取值完全不同。这些对象一般有着不同的状态,且彼此间相对。 9.在表设计器中设置的索引包含在( C )。 A)单独索引文件中 B) 唯一索引文件中 C) 结构复合索引文件中 D) 非结构复合索引文件中 【解析】从索引的组织方式来讲,索引分为三类索引文件:单独的.idx索引,是一种非结构索引;采用非默认名的.cdx索引,也是非结构索引;与表名同名的.cdx索引,是结构复合索引。与表名同名的.cdx索引是一种结构复合压缩索引,它是Visual FoxPro数据库中最普通也是最重要的一种索引文件,用表设计器建立的索引都是这类索引。 10.假设表\"学生.dbf\"已在某个工作区打开,且取别名为student。选择\"学生\"表所在工作区为当前工作区的命令是( D )。 A)SELECT 0 B) USE 学生 C) SELECT 学生 D) SELECT student 【解析】指定工作区的命令格式为:SELECT nWorkArea|cTableAlias,其中参数nWorkArea是一个大于等于0的数字,用于指定工作区号,最小的工作区号是1,最大的工作区号是32767,如果这里指定为0,则选择编号最小的可用工作区;如果在某个工作区中已经打开了表,若要回到该工作区操作该表,可以使用参数cTableAlias,该参数是已经打开的表的别名。 11.以下关于视图的描述正确的是( B )。 A)视图和表一样包含数据 B) 视图物理上不包含数据 C) 视图定义保存在命令文件中 D) 视图定义保存在视图文件中 【解析】在Visual FoxPro中,视图是一个定制的虚拟表,它始终不曾真正地含有数据,它总是原来表的一个窗口,所以A)选项说法不正 确,B)选项说法正确;视图的结果保存在数据库中,在磁盘上找不到类似的文件,所以C)选项、D)选项说法不正确。 12.以下关于关系的说法正确的是( C )。 A)列的次序非常重要 B) 行的次序非常重要 C) 列的次序无关紧要 D) 关键字必须指定为第一列 【解析】在关系中,列的次序是无关紧要,任意交换两列的位置也不影响数据的实际含义;行的次序也无关紧要,任意交换两行的位置并不影响数据的实际含义。关键字和索引是人为建立的,可以是符合条件的任一列;关键字是属性或属性的组合,关键字的值能够唯一地标识一个元组,对于关键字在关系中的位置,无关紧要。 13.下列程序段的输出结果是( B )。 ACCEPT TO A IF A=[123] S=0 ENDIF S=1 ? S A)0 B) 1 C) 123 D) 由A的值决定 【解析】本题考察的是条件语句的知识,条件语句格式为:IF <条件><语句序列1>[ELSE><语句序列2>]ENDIF,其功能是根据<条件>是否成立从两组代码中选择一组执行,当无ELSE子句时,可看做第二组代码不包含任何命令,若<条件>成立,则执行<语句序列1>,然后转向ENDIF 的下一条语句,因此本题不论A为多少都要执行end if后的语句,输出结果始终为S=1。 14.设A=[6*8-2],B=6*8-2,C=”6*8-2”,属于合法表达式是( c ) A)A+B B) B+C C) A-C D) C-B 【解析】合法的表达式是指: ①1 个字符串,只含1 个n目运算符与n个运算量,且该字符串正确表达了该n个变量进行该n目运算符的运算,则该字符串是一个合法的表达式。例如,C 语言中的x+5 与x>y?x:y 都是合法的表达式。 ②A1,A2...An 是合法的表达式,则对1 个n 目运算符,由(A1),(A2)...(An)作为运算对象,按相应语法写成的字符串表达式是一个合法的表达式。 ③规定一些隐性规则可确定运算符优先级规则以及参与运算符运算的各分量,第2步的表达式形成过程中去掉某一对括号并不影响运算符的计算方式,则去掉括号后的字符串也是合法的表达式。 本题A、C为字符型常量,B为数值型常量,只有A-C是合法的表达式,选项C)正确。 15.连续执行以下命令,最后一条命令的输出结果是( C )。 SET EXACT OFF a=\"北京\" b=(a=\"北京交通\") ? b A)北京 B) 北京交通 C) .F. D) 出错 【解析】\"set exact off\"表示把精确比较关闭,所以\"北京交通\"=\"北京\"为真(即认为它们确实相等),b=(a=\"北京交通\"),因此输出结果为\".F.\",选项C)正确。 16.设x=\"123\",y=123,k=\"y\",表达式x+&k的值是( D )。 A)123123 B) 246 C) 123y D) 数据类型不匹配 【解析】本题考查宏替换函数:&<字符型变量>[],其功能为替换出字符型变量的内容,即函数值是变量中的字符串。本题数据类型不匹配,无法替换。 17.运算结果不是2010的表达式是( C )。 A)int(2010.9) B) round(2010.1,0) C) ceiling(2010.1) D) floor(2010.9) 【解析】INT(<数值表达式>)返回指定数值表达式的整数部分。CEILING(<数值表达式>)返回大于或等于指定数值表达式的最小整数。FLOOR(<数值表达式>)返回小于或等于指定数值表达式的最大整数。ROUND(<数值表达式1>,<数值表达式2>)返回指定表达式在指定位置四舍五入之后的结果,若(<数值表达式2>)大于等于0,那么它表示的是要保留的小数位数;若(<数值表达式2>)小于0,那么它表示的是整数部分的舍入位数。 18.学生表中有\"学号\"、\"姓名\"和\"年龄\"三个字段,SQL语句\"SELECT 学号 FROM 学生\"完成的关系操作称为( B )。 A)选择 B) 投影 C) 连接 D) 并 【解析】投影运算是从一个关系中选出若干指定字段的值的操作,从 列的角度进行的运算。选择运算是从一个关系中找出满足给定条件的记录的操作,从行的角度进行的运算。连接关系是把两个关系中的记录按一定条件横向结合,生成一个新的关系。并运算要求有两个表。\"SELECT 学号 FROM 学生\"指从\"学生\"表中查询字段\"学号\",因此为投影运算。 19.查询\"教师表\"的全部记录并存储于临时文件one.dbf中的SQL命令是( A )。 A)SELECT * FROM 教师表INTO CURSOR one B) SELECT * FROM 教师表TO CURSOR one C) SELECT * FROM 教师表INTO CURSOR DBF one D) SELECT * FROM 教师表TO CURSOR DBF one 【解析】在SQL查询语句的尾部添加INTO CURSOR <临时表名>可以将查询的结果放入指定的临时表中。此操作通常是将一个复杂的查询分解,临时表通常不是最终结果,可以接下来对临时表操作得到最终结果。生成的临时表是当前被打开的并且是只读的,关闭该文件时将自动删除。本题正确答案为A)。 20.创建一个名为student的新类,保存新类的类库名称是mylib,新类的父类是Person,正确的命令是( C )。 A)CREATE CLASS mylib OF student As Person B) CREATE CLASS student OF Person As mylib C) CREATE CLASS student OF mylib As Person D) CREATE CLASS Person OF mylib As student 【解析】建立类语句的格式为\"CREATE CLASS 类名 OF 类库名? AS 父类\",题中要求新类的类库名称是mylib,父类是person,因此,正确的命令是\"CREATE CLASS student OF mylib As Person\",即C)选项正确。 21.\"教师表\"中有\"职工号\"、\"姓名\"、\"工龄\"和\"系号\"等字段,\"学院表\"中有\"系名\"和\"系号\"等字段,计算\"计算机\"系教师总数的命令是( A )。 A)SELECT COUNT(*)FROM 教师表 INNER JOIN 学院表 ON 教师表.系号 = 学院表.系号 WHERE 系名=\"计算机\" B)SELECT COUNT(*)FROM 教师表 INNER JOIN 学院表 ON 教师表.系号 = 学院表.系号 ORDER BY 教师表.系号 HAVING 学院表.系名=\"计算机\" C)SELECT SUM(*)FROM 教师表 INNER JOIN 学院表 ON 教师表.系号 = 学院表.系号 GROUP BY 教师表.系号 HAVING 学院表.系名=\"计算机\" D)SELECT SUM(*)FROM 教师表 INNER JOIN 学院表 ON 教师表.系号 = 学院表.系号 ORDER BY 教师表.系号 HAVING 学院表.系名=\"计算机\" 【解析】本题考查SELECT查询,Visual FoxPro的SQL SELECT命令的语法格式如下: SELECT[ALL︱DISTINCT][TOP <数值表达式>[PERCENT]] [<别名>.]
Copyright © 2019- dfix.cn 版权所有 湘ICP备2024080961号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务