计算机VFP考试题A
山东科技大学20082009学年第二学期 程序设计基础考试试卷A卷 班级 姓名 学号 题号 二 二 四 总得分 评卷人 审核人 得分 一、填空题每空1分,共io分 1、关系的三种基本运算是选择、 投影和连接 。 2、结构化程序设计的三种基本逻辑结构是 顺序结构、分支结构一、循环结构一。 3、从键盘接收一个数值型数据存入变量X中使用的命令是 请输入数据” to X。 4、在同一行上输出变量X和Y使用的命令是x,y 。 5、建立程序文件的命令是modify command 。 6、已知aa;bb,则 Len a-b的结果是 2。 二、选择题每题1分,共20分 1、不允许记录中出现重复索引值的索引是A 。 A 主索引B主索引、候选索引、普遍索引 C主索引和候选索引D主索引、候选索引和唯一索引 2、字符串长度函数LEN SPACE 5 -SPACE 5的值是D。 A 0 B 2C 5D 10 3、可以链接或嵌入OLE对象的字段类型是C A备注型字段B通用型和备注型字段 C通用型字段D任何类型的字段 4、在 DO WHILE - ENDDO循环结构中,LOOP命令的作用是B A 退出过程,返回程序开始处 B 转移到DO WHILE语句行,开始下一个判断和循环 C 终止循环,将控制转移到本循环结构ENDDO后面的第一条语句继续执行 D 终止程序执行 5、在以下四组函数运算中,结果相同的是 A 。 A LEFTCVisual FoxPro,6与 SUBSTRVisual FoxPro”,1,6 B YEARDATEO与 SUBSTRDTOCDATE,7,2 C VARTYPE36-5*4与 VARTYPE36-5*4 D 假定 Athis , Bis a string, A-B 与 AB 6、Foxrpo中,数据表文件中的字段是一种C 。 A、常量 B、运算符 C、变量 D、函数 7、在Visual FoxPro中,关于自由表叙述正确的是B 。 A)自由表和数据库表是完全相同的B)自由表不能建立字段级规则和约束 C)自由表不能建立候选索引D)自由表不可以加入到数据库中 8、要从某数据库文件中真正删除一条记录,应使用命令 C 。 A)先用DELETE命令,再用ZAP命令 B)直接用ZAP命令 C)先用DELETE命令,再用PACK命令D)直接用DELETE命令 9、删除从第3条记录开始的8条记录的命令是 C 。 A 3 DELETE NEXT 8 PACK C GO TO 3 DELETE REST 8 PACK 10、一个数据库文件有10条记录, B GO 3 DELETE RECORD 8 PACK D GO TO 3 ZAP NEXT 8 用函数EOF()测试为.T.,此时当前记录号为B A10 Bll C0D1 三、简述下列各题(前三小题每小题4分,第四小题8分,共20分) 1、简述数据库系统的特点。 (1)实现数据共享,减少数据冗余(重复); (2)采用特定的数据模型; (3)具有较高的数据独立性; (4)有统一的数据控制功能。 2、实体 答实体指客观存在并且可以相互区别的事物。实体可以是实际事物,也可以是抽象事 件,如一名职工、一场比赛等。 3、属性 答属性又称字段或数据项,用于描述实体的特性,如职工实体有职工号、姓名、性别、 出生日期、职称等属性。 4、一个关系(即二维表)具有的性质是什么 (1)每一列的数据来自同一个域,具有相同的数据类型,为元组的一个属性; (2)二维表的记录数随数据的改变而改变,但其字段数是相对固定的; (3)不同列的数据可以来自同一个域,但每一列均有唯一的字段名; (4)二维表中行的顺序、列的顺序均可以任意交换; (5)表中的任意两行不能完全相同(即一个关系中不能有完全相同的元组); (6)每个分量必须是不可分的数据项(即不能存在表中表); (7)二维表的主关键字是指能唯一确定记录的一列或几列的组合。 四 写出下列各SQL语句(每题3分,共30分) 假定我们已经建立如下的数据表。 学生信息表(学号,姓名,性别,出生日期,班级,照片,备注,年龄) 课程信息表(课程号,课程名,学分) 学生成绩表(学号,课程号,学期,成绩) 1、从学生信息表中查询年龄大于19岁的男生记录。 答SELECT * FROM 学生信息表 WHERE年龄>19 AND 性别“男 2、从学生信息表中查询学号以“01”开始的学生的学号和姓名。 答SELECT学号,姓名FROM 学生信息表 WHERE学号LIKE 01 3、查询学生成绩表中的所有记录,并按课程号升序,成绩降序排列。 答SELECT * FROM 学生成绩表ORDER BY课程号ASC,成绩DESC 4、查询学生成绩表中课程号为0201而且分数在70-80分之间的记录。 答SELECT * FROM 学生成绩表 WHERE 课程号0201 AND 成绩 BETWEEN 70 AND 80 5、查询学号为01004的同学的基本信息和各科成绩。 答SELECT学生信息表.学号,姓名,性别,年龄,班级,学期,课程号,成绩FROM学生信息表,;学 生成绩表WHERE学生信息表.学号学生成绩表.学号AND学生信息表.学号01004” 6、查询成绩为88分的学生姓名和班级。 答SELECT姓名、班级FROM学生信息表 WHERE学号IN (SELECT DISTINCT 学号 FROM 学生成绩表 WHERE 成绩 88 ) 7、计算课程信息表中的记录总数。 答SELECT COUNTS) AS课程数FROM课程信息表 8、查询课程号为0201的课程的最高分、最低分和平均分。 答SELECTMAN成绩)AS最高分,MIN(成绩)AS最低分,AVG(成绩)AS平均分FROM学生 成绩表WHERE课程号”0201” 9、统计学生成绩表中各科的总成绩和平均成绩。 答SELECT课程号,SUM(成绩)AS总成绩、心G(成绩)AS平均成绩FROM学生成绩表 GROUP BY课程号 10、统计各门课程中超过80分同学的人数。 答SELECT课程号,COUNT(成绩)AS人数FROM学生成绩表GROUP BY课程号WHERE 成绩>80 五 编程题(每题10分,共30分) 1、用面向对象编程方法输出九九乘法表(上三角)。 答command 1.click Clear Set talk off for il to 9 spacei-l