参考答案
一、选择题。
(1)C[解析]Visual FoxPro程序文件通过编译、连编.,可以产生不同的目标代码文件,这些文件具有不同的扩展名:.exe(Visual FoxPro可执行文件),.app(Visual FoxPm应用程序文件),.fxp(Visual FoxPro编译版本);
(2)C[解析]创建数组的命令格式有两种DIMENSION<数组名>(<下标上限l>[,<下标上限2])[…]DECLARE<数组名>(<下标上限l>[,<下标上限2])[…]两种格式的功能完全相同。数组创建后,系统自动给每个数组元素赋以逻辑假.F.。可以用-维数组的形式访问二维数组。本题中M(2)与M(1,2)是同-变量,所以M(2)的值为20。
(3)D[解析]LEVI"(<字符表达式>,<数值表达式>)的功能是从字符表达式左边开始,截取<数值表达式》指定长度的字符串。 RIGHT(<字符表达式>,<数值表达式>):返回-个字
符串右边的若干字符,返回值是字符型。-个汉字在计算机中占两个字符,如果要取得-个完整的汉字字符,必须指定字符长度为2.AT(<字符串表达式l>,<字符串表达式2>)的孟数值为数值型。A)选项的函数返回值是数值型,答案不正确;B)选项中,由于中文字符在Visual FoxPro中占两个字符,所以RIGHT(a1)也不正确,C)选项中的表达式格式不正确,D)选项中b的值为“大家”,RIGHT(a,2)的值为“好”,所以D)选项答案正确。
(4)B[解析]运行菜单可以使用命令格式:DO<文件名>,但文件名的扩展名.mpr不能省略。
(5)B[解析]EMPTY(<表达式>)根据指定表达式的运算结果是否为“空”值,返回逻辑真(.T.)或逻辑假(.F.),这里所指的“空”值与NULL值是两个不同的概念,函数EMPTY(.NULL.)的返回值为逻辑假,所以A)选项为逻辑假;LIKE(<字符串表达式l>,<字符串表达式2>)比较两个字符串对应位置上的字符,若所有对应字符都相匹配:函数返回逻辑真,否则返回逻辑假,其中字符串表达式1中可包含通配符*和?,*表示若干个任意字符,?表示任意-个字符。,所以LIKE(xy?’,xyz‘)为逻辑真;AT(<字符串表达式1>,<字符串表达式2>)的函数值为数值型,C)选项不正确;IS-NULL(<表达式>)判断-个表达式的运算结果是否为NULL值,若是NULL值则返回逻辑真,否则返回逻辑假,SPACE(<数值表达式>)返回由指定数目的空格组成的字符串,所以SPACE(0)为空字符串,ISNULL(SPACE(O))为逻辑假。
(6)A[解析]C型字段即字符型字段,其表示方法是用半角单引号、双引号或方括号把字符串括起来,字符型变量的定界符必须成对匹配,如果某种定界符本身也是字符串的内容,则需要用另-种定界符为该字符串定界。本题输出结果为“李彤”。
(7)A[解析]LEFT(<字符表达式>,<数值表达式>)的功能是从字符表达式左边开始,截取<数值表达式>指定长度的字符串。RIGHT(字符表达式,数值表达式):返回-个字符串右边的若干字符,返回值是字符型。本题是从2、3、4、5四条记录中,找出第-个字是“电”,最后-个字是“线”的第-个符合的记录,并显示出来.由此可知第3条记录“电话线”符合。
(8)A[解析]按年龄的降序排列,所以要用短语DE-SC,排序的字段有两种表示方式,分别是按列号和字段名排序,因为字段名是变量,故不能加引号。
(9)D[解析]SQL是顺序执行命令语句,在多表连接查询时,各条件短语的执行顺序会影响到最终的查询结果。检索学号、姓名和学生所选课程的课程名和成绩,应为sELEclS.学号,姓名,课程名,成绩。A)、B)选项错误,而C)选项格式错误,选项D)正确。
(10)D[解析]这个查询不能用简单的查询实现,所以要用到嵌套查询,在嵌套查询中内外层的嵌套用IN而不用“=”,D)选项正确。
(11)A[解析]SQL的基本形式由SELECT-FROM-WHERE查询块组成。其中SELECT说明要查询的字段,FROM说明要查询的字段来自哪个表或哪些表,WHERE说明查询条件。要求时间为l982年3月20日以后,对应的SQL语句应为WHERE出生日期>={^1982-03-20},and表示“且”,本题A)选项正确。
(12)D[解析]SQL的核心是查询,它的基本形式由sE-LECT-FROM-WHERE查询块组成。其中SELECT说明要查询的字段,FROM说明要查询的字段来自哪个表或哪些表,可以对单个表或多个表进行查询,WHERE说明查询条件,即选择元组的条件。要计算刘明同学选修的所有课程的平均成绩,应设置where条件为WHERE学生.学号=选课.学号AND姓名=”刘明”,即D)选项正确。
(13)D[解析]向表中添加新的字段和新的索引,其命令格式为:ALTER TABLE<表名>ADD[COLUMN]<字段类型>[<长度>[,<小数位数>])][NULLINOTNULL][CHECK<逻辑表达式1>[ERROR<字符型文本提示信息>]][DEFAULT<默认值表达式>][ADD PRIMARY KEY<索引表达式2>TAG<索引名1>][ADD UNIQUE<索引表达式3>TAG<索引名2>]增加-个新的字段应该使用ADD短语,即D)选项正确。
(14)D[解析]在容器的嵌套层次关系中,引用其中某个对象需指明对象在嵌套层次中的位置,经常要用到的关键字是Parent、This、ThisForm、ThisFormSet。this是当前对象,This-Form是当前表单,Parent是当前对象的父对象。因此A)、B)、C)都不是命令按钮的事件。Click为命令按钮的事件,在鼠标单击时引发,选项D)正确。
(15)B[解析]SUBSTR(<字符表达式>,<起始位置>[,<长度>])为取子串函数,从指定表达式值的指定起始位置取指定长度的子串作为函数值。要计算各专业学生选修课程号为“101”课程的平均成绩,应按学号分组,即GROUP BY1。因此B)为正确选项。
(16)B[解析]更新数据的命令格式为:UPDATE表名SET字段名1=表达式1[,字段名2=表达式2…][WHERE条件]。-般使用WHERE子句指定更新的条件,并且-次可以更新多个字段;如果不使用WHERE子句,则更新全部记录。本题将学号为“02080110”、课程号为“102”的选课记录的成绩改为92,正确的命令格式为选项B)。
(17)A[解析]插入数据的格式为INSERT INTO<表名>[(字段名1[,字段名2,…])]VALUES(字段值1[,字段值2,…])。当插入的不是完整的记录时,可以通过字段名1,字段名2……来指定字段;VALUES(字段值1[,字段值2,…])给出具体的记录值。B)、C)、D)选项的格式错误。
(18)D[解析]查询的基本形式由SELECT-FROM-WHERE查询块组成。其中SELECT说明要查询的字段,FROM说明要查询的字段来自哪个表或哪些表,WHERE说明查询条件,即选择元组的条件。内层“SELECT成绩FROM选课WHERE课程号=”101””语句查询出了选修课程号为101的成绩,外层格式正确的为D)选项。
(19)D[解析]选项组控件的Value属性用于初始化或返回选项组中被选中的选项按钮,Value属性值的类型可以是数值型的,也可以是字符型的。若为数值型N,则表示选项组中第N个选项按钮被选中,若为字符型c,则表示选项组中Caption属性值为c的选项按钮被选中。因此本题D)选项正确。
(20)B[解析]在容器的嵌套层次关系中,引用其中某个对象,需指明对象在嵌套层次中的位置。经常要用到的关键字是:Parent(对象的直接容器对象,即父对象);This(当前对象);ThisForm(当前表单);ThisFormSet(当前表单集)。本题this.Parent是CommandGmupl,this.Parent.Parent.是CommandGroupl的Parent,即forml。所以要在Commandl命令按钮的某个方法中访问文本框的Value属性值,正确的表达式是This.Parent.Parent.Text1.Value,即选项B)。