一、是非判断题(每小题1分,共10分)
⒈在程序设计中,常用一维数组来表示线性表的顺序存储空间。. (1)
⒉数据在计算机内存中的表示是指数据的存储空间。. (2)
⒊Windows是多用户多任务操作系统。(3)
⒋能影响中断响应次序的技术是中断优先级和中断屏蔽。(4)
⒌链表可以随机访问任意一个结点,而顺序表则不能。(5)
⒍作业与进程的主要区别是前者是由用户提交,后者是由系统自动生成。. (6)
⒎数据的逻辑结构是从逻辑关系上描述数据,它与数据的存储结构无关,是独立于计算机的。.(7)
⒏中断控制方式适用于外设同CPU之间进行大量数据交换。(8)
⒐提供没有错误的程序是提高软件的可维护性的基本措施。(9)⒑软件结构是以指令为基础而组成的一种控制层次结构。(10)二、选择题(每小题1分,共5分)
⒈数据流图是用于描述结构化方法中(11)工作阶段的工具。
11(A)可行性分析(B)程序编码(C)详细设计(D)需求分析.
⒉若进栈序列为1,2,3,4,且进栈过程中可以出栈,则不可能出栈的序列是(12)。
12(A)1,4,3,2 (B)3,1,4,2 .(C)2,3,4,1 (D)3,4,2,1
⒊任何两个并发进程之间(13)。
13(A)可能存在同步或互斥关系. (B)一定存在同步关系
(C)一定彼此独立无关(D)一定存在互斥关系
⒋以下的哪个特征不是分时操作系统的主要特征(14)。
14(A)分时性(B)独占性. (C)交互型(D)多路性
⒌需求分析中开发人员主要从用户那里了解(15)。
15(A)软件的维护(B)软件的结构(C)软件做什么. (D)软件的测试
第二部分数据库语言(Visual FoxPro)程序设计(共85分)
一、单项选择题(每小题1分,共10分)
⒈将关系S中的一个属性S4的值限制在20-40之间,则这条规则属于(16)。
16(A)参照完整性规则(B)实体完整性规则(C)域完整性规则.(D)不属于以上任何规则⒉在Visual FoxPro系统中,表中的字段是一种(17)。
17(A)常量(B)变量. (C)函数(D)运算符
⒊设A=2,B=3,C=4,下列表达式的值为逻辑真的是(18)
18(A)12/A+2=B^2 (B)3>2*B OR A=C AND B<>C OR A>B
(C)A*B<>C+3. (D)A>B AND B<=C OR 3*A>2^C
⒋在Visual FoxPro中可以对字段设置默认值的表(19)
19(A)必须是数据库表.(B)必须是自由表(C)自由表或数据库表(D)不能设置字段的默认值⒌以下关于视图的描述正确的是(20)。
20(A)只能根据自由表建立视图(B)只能根据查询建立视图
(C)只能根据数据库表建立视图. (D)可以根据数据库表和自由表建立视图
⒍在SELECT-SQL语言中,(21)子句相当于关系中的投影运算。
21(A)WHERE (B)JOIN (C)FROM (D)SELECT.
⒎为了在选课表中查询选修了”C140”和”C160”课程的学号,SELECT-SQL语句的WHERE
子句的格式为(22)。
22(A)WHERE课程号BETWEEN “C140” AND “C160”(B)WHERE课程号=”C140” AND “C160”
(C)WHERE课程号IN(”C140”, “C160”). (D)WHERE课程号LIKE(”C140”, “C160”)
⒏下列(23)不是表单创建中的步骤。
23(A)添加控件(B)创建数据表. (C)设置属性(D)配置方法程序
⒐在“报表设计器”中,可以使用的控件为(24)。
24(A)标签、域控件和线条. (B)标签、域控件和列表框
(C)标签、文本框和组合框(D)文本框、布局和数据源
10.要使得命令按钮有效,应设置该命令按钮的(25)
25(A)Visible属性值为.T. (B)Visible属性值为.F.
(C)Enabled属性值为.T. .(D)Enabled属性值为.F.
二、读程序题(每题3分,共45分)
⒈阅读下面程序
T=5
DO WHILE T<25 (1) 程序共循环了(26)次。
?? STR(T+1,3) 26(A)3 (B)4 . (C)5 (D)6
IF T>=10 (2) 程序运行结果是(27)。
EXIT 27(A)6 8 10 (B)6 8 10 12 .(C)5 7 9 11 (D)5 7 9 11 13 ENDIF
T=T+2
ENDD / RETU
⒉表文件“学生.DBF”中有10条记录,阅读下面程序:
USE 学生PACK (1) 程序执行结果是(28)
COPY TO XS COUNT TO D 28 (A) 10 10 5 5 5 5
USE XS SET DELE OFF (B) 10 5 0 0 0 0
COUNT TO A COUNT TO E (C) 10 10 10 10 10 10
GO TOP COPY TO XS-1 (D) 10 10 5 5 5 0 .
DELE NEXT 5 USE XS-1 (2) 命令SET DELECT OFF的功能是(29)COUNT TO B ZAP 29 (A)关闭逻辑删除功能(B)不允许逻辑删除SET DELE ON COUNT TO F (C)逻辑删除无效. (D)逻辑删除有效COUNT TO C ?A,B,C,D,E,F / RETU
⒊设表文件XS.DBF有10条记录,阅读下面程序:。
USE XS / GO BOTTOM / N=3 (1) 程序的功能是(30)
DO WHILE N>=1 30 (A) 显示所有记录(B) 分别显示前3个记录DISPLAY / SKIP –1 (C) 显示第3个记录(D) 分别显示后3个记录.
W AIT / N=N-1 (2) 退出循环后,N的值是(31)
ENDDO / USE / RETU 31 (A) 0 . (B) 1 (C) 3 (D) 4
⒋阅读下面程序
f=0 (1) 程序运行的结果是(32)
DO JCH WITH 5,f 32(A)150 (B)90(C)60 (D)24 .
? “f=”,f (2) 程序中JCH是(33)
PROC JCH 33(A)变量名(B)参数名(C)过程名. (D)数组名PARA n,fac (3) 程序中fac是(34)
m=1 / fac=1 34(A)变量名(B)参数名. (C)过程名(D)数组名DO WHILE m fac=fac*m / m=m+1 ENDD / RETU ⒌阅读下面程序: DIMENSION K(2,3) (1) 程序运行的结果是(35)。 I=1 35(A)1 2 3 (B)1 2 (C)1 2 3 (D)1 2 3 DO WHILE I<=2 2 4 6 . . 3 2 1 2 3 4 5 6 J=1 (2) 内循环共执行了(36)次。 DO WHILE J<=3 36(A)3 (B)4 (C)5 (D)6 . K(I,J)=I*J (3) 程序中定义的数组是(37)。 ?? k(I,J) 37(A)一维数组,有5个数组变量 ?? ““(B)一维数组,有6个数组变量 J=J+1 (C)二维数组,有5个数组变量 ENDDO (D)二维数组,有6个数组变量. ? / I=I+1 ENDDO / RETU 6.阅读下面程序: SELE SB.名称AS 设备名,SB.启用日期FROM SB WHERE YEAR(SB.启用日期)>=1995 (1)程序完成的功能是(38)。 38(A)查询SB.DBF中1995年启用的设备与日期 (B)查询SB.DBF中1995年以前启用的设备与日期 (C)查询SB.DBF中1995年以后启用的设备与日期. (D)以上命令有错,不能实现查询 (2)命令中的AS设备名,表示(39)。 39(A)当前表文件的别名(B)保存设备名 (C)为查询结果命名(D)为查询结果的列名重新命名. (3)如果将SQL命令改写为:SELECT SB.名称SB.启用日期FROM SB WHERE SB.启 用日期=1995,程序完成的功能是(40)。 40(A)查询SB.DBF中1995年启用的设备名称与日期 (B)查询SB.DBF中1995年以前启用的设备名称与日期 (C)查询SB.DBF中1995年以后启用的设备名称与日期 (D)以上命令有错,不能实现查询. 三、程序填空题(每空2分,共30分) ⒈以下程序功能是任意输入20个数,找出其中最大数和最小数,请将程序补充完整。 INPUT TO X / MA=X / MI=X / N=1 DO WHILE ①N<20 ②INPUT TO X IF MA MA=X ELSE IF MI>X / MI=X / ENDIF ENDIF ③N=N+1 ENDDO ?MA,MI / RETU ⒉下列程序的功能是根据输入的学生姓名,查找并显示学生各门课程的成绩。 SELE 1 / USE 学生登记表 / SELE 2 / USE 学生成绩表 ANS=”Y” DO WHILE .T. ACCEPT “请输入要查询的学生姓名:” TO NA SELECT 1 / LOCATE ALL FOR 姓名=NA IF FOUND() ? ”姓名:”+姓名 XH=学号 SELECT 2 / LOCATE ALL FOR 学号= ①XH DO WHILE 学号=XH ? ”课程编号:”+课程编号,”成绩:”+STR(成绩) ②CONT ENDDO ELSE ? “没有”+NA+”这个学生” ENDIF WAIT “是否继续查找(Y/N)?” TO ANS IF ③UPPER(ANS)=”Y” ④LOOP ELSE / EXIT / ENDIF ENDD / USE / RETU ⒊有一人才管理数据库中有3个表:其表名和结构分别如下: 基本情况(编号 C(6),姓名 C(8),性别 C(8),出生年月 D,工资 N(5)) 专业(编号C(6),专业名称 C(10),职称 C(10)) 成果(编号C(6),成果类别 C(8),成果名称 C(20)) (1)列出年龄在40岁以下的教授的姓名: SELECT 姓名 FROM 基本情况, ①专业 ; WHERE基本情况.编号=专业.编号 AND ②YEAR(DATE())-YEAR(出生年月)<=40 AND 职称=”教授” (2)查询成果在3项以上的人员姓名和成果数,并按成果数降序排列: SELECT 姓名,COUNT(*) AS 成果数 FROM 基本情况,成果; WHERE基本情况.编号=成果.编号; GROUP BY 成果.编号 HAVING ③COUNT(*)>=3 ORDER BY ④成果数 desc sele 学号,coun(*) as 门数 from 选课 group by 学号 havi 门数>=2 orde by门数desc ⒋设计一个如图所示的系统登录表单。其中操作员及口令来自于数据表:操作员.dbf。表 中有两个字段:操作员、口令。 ⑴表单上组合框的①RowSourceType属性设置6-字段; 组合框的RowSource属性应设置为②操作员.操作员。 ⑵在文本框Text1中输入口令时,会有占位符“*”出现, 是因为设置了文本框的③PassWordChar属性。 ⑶在“确定”命令按钮事件代码中,进行如下编程: if trim(thisform.text1.value)<>操作员.口令 if messagebox(“请重新输入口令”,0+16,”提示”)=1 thisform.text1. ④Value=”” thisform.text1.setfocus endif else do form 系统功能.scx / thisform.refresh endif