2003年4月全国计算机等级考试二级FoxBASE试卷
一、 选择题((1)~(40)每小题1分,(41)~(55)每小题2分,共60分)下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1) 用8位无符号二进制数能表示的最大十进制数为
A) 127 B) 128 C) 255 D) 256
(2) 在64位高档微机中,一个字长所占的二进制位数为
A) 8 B) 16 C) 32 D) 64
(3) 在Windows环境下,为了复制一个对象,在用鼠标拖动该对象时应同时按住
A) Alt键 B)Esc键 C)Shift键 D)Ctrl键
(4) 在Windows菜单中,暗淡(灰色)的命令项表示该命令
A) 暂时不能用 B) 正在执行 C) 包含下一层菜单 D) 包含对话框
(5) 在DOS环境下,为了得到TYPE命令的帮助信息,正确的DOS命令为A) TYPE B) TYPE/H C) TYPE/* D) TYPE/?
(6) 下列选项中,能作为合法DOS文件名的是
A) ANP/A.DAT B) ABCCOM C) ECD.BASIC D) XY+Z.TXT
(7) 下列叙述中正确的是
A) 在Windows环境下,最大化的窗口是不能移动的
B) 在Windows环境下,应用程序窗口最小化后,该应用程序暂停执行C) 在Windows环境下,只有最小化的窗口才能关闭
D) 在Windows环境下,不能关闭最大化的窗口
(8) 在Windows环境下,工具栏中的复制按钮是
A) 打印机图标 B) 剪刀标志 C) 复制标志 D) 粘贴标志
9) 在Windows98环境下,若要将整个屏幕上显示的内容存入剪贴板,可以按
A) Ctrl+PrintScreen键 B) Alt+PrintScree键
C) Shift+PrintScreen键 D) PrintScreen键
(10) 目前,计算机病毒扩散最快的途径是
A) 通过软件复制 B) 通过网络传播
C) 通过磁盘考贝 D) 运行游戏软件
(11) FoxBASE是一种
A)数据库 B)数据库管理系统
C)数据库系统 D)数据库应用程序
(12) 数据库文件BOOK.DBF中包含MEMO型字段,下列描述中错误的是A) 若删除了备注文件BOOK.DBT,则该数据库文件将无法打开
B) 若删除了该数据库文件,则备注文件BOOK.DBT自动被删除
C) 若打开该数据库文件,则备注文件BOOK.DBT自动打开
D) 该数据库文件的所有备注型字段的内容都存放在同一个备注文件中
(13) 在FoxBASE中,下列数据中属于常量的是
A) TOP B) .y. C) T D) 12/11/2003
(14) 在FoxBASE中,可以用TYPE命令显示其内容的文件类型为A).MEM B) .DBT C) .PRG D) .FOX
(15) 不能关闭当前工作区中索引文件的命令为
A)SET INDEX TO B)CLOSE INDEX
C)CLOSE ALL D)SET ORDER TO
(16) 在相关数据库文件存在或已打开的情况下,下列命令中能正确执行的是
A) SEEK FOR 基本工>1000 B) @10,12 SAY"A的值为:",20C) DELETE ZGJK.DBF D) COUNT REST
(17) 当范围和条件短语同时省略时,仅作用于当前记录的命令是A)COUNT B)DELETE C)LIST D)CHANGE
(18) 在操作过程中,可以进入人机交互工作方式的命令为
A) APPEND BLANK B) BROWSE C) REPLACE D)DELETE ALL
(19) 不能向数据库文件增加记录的命令是
A) BROWSE B) APPEND C) INSERT D) REPLACE
(20) 表达式INT(-25.8)的值为
A) -25 B) -26 C) 25 D)26
(21) 下列对BROWSE命令描述正确的是
A) 只能浏览数据库文件,不能修改记录内容
B) 能浏览数据库文件,但不能增加或删除记录
C) 能浏览数据库文件,同时也能增加或删除记录
D) 不仅能浏览数据库文件,还能修改数据库的结构
(22) 在FoxBASE中,SEEK命令和LOCATE命令都可以用于查找记录,但在使用上有所不同。以下表述正确的是
A) SEEK命令可以一次查找到全部记录,LOCATE命令一次只能找到一条记录
B) SEEK命令需要打开相应索引文件才能使用,LOCATE命令不需要索引文件
C) SEEK命令只能查找字符串,LOCATE命令可以查找任何类型字段D) SEEK命令可以和CONTINUE命令联合使用,而LOCATE命令不可以
(23) 以下关于TOTAL命令的表述中,正确的是
A) 命令的执行结果不生成另一个数据库文件
B) 所操作的数据库文件不必按关键字段索引或排序
C) 命令中的关键字段必须是数值型字段
D) 只能对数据型字段进行汇总
(24) 有如下序列("□"表示空格)STORE "ABC□□" TO XSTORE "XYZ"+X TO YSTORE TRIM(Y)-"LMN" TO Z?LEN(Z)执行上述命令之后,屏幕显示的值是
A) XYZABCLMN B) XYZABCLMN□□ C) 11 D) 9
(25) 使用DISPLAY命令时,若范围短语为ALL或REST,执行该命令后,记录指针指向
A) 首记录 B) 末记录 C) 首记录的前面 D) 末记录的后面
(26) 在FoxBASE中,已经在多个工作区中打开了若干个数据库。要显示当前工作区的区号,应使用命令
A) SELECT B) ?SELECT C) SELECT() D) ?SELECT()
(27) 数据库文件已经打开,当前记录中姓名字段的值是"张敏"。执行以下命令序列:姓名="李卫星"?姓名 屏幕显示的结果是A) 张敏 B) 李卫星 C) 张敏李卫星 D) 李卫星张敏
(28) 在FoxBASE数据库中,记录是由字段值构成的数据序列,记录长度要比各字段长度之和多一个字节,这个字节用来存放
A) 记录的分隔标记 B) 记录的序号
C) 记录的指针定位标记 D) 记录的删除标记
(29) 在FoxBASE圆点指示符下,要将A盘根目录下的SST.PRG文件复制到C盘根目录下的MY子目录下,应使用命令
A) COPY A:SST.PRG C:\MY
B) COPY FILE A:\SST.PRG TO C:\MYC) COPY FILE A:SST.PRG TO C:\MY\SST
D) COPY FILE A:\SST.PRG TO C:\MY\SST.PRG
(30) 有如下命令序列:X="A"Y=XA="黄河长江"?X+&X-Y-&Y执行以上命令序列后,屏幕显示表达式X+&X-Y-&Y的结果是A) 黄河长江 B) A黄河长江A黄河长江
C) A黄河长江A D) A黄河长江黄河长江
(31) 在默认的日期格式下,表列表达式中,结果一定为真(.T.)的是
A) "200">3 B) .NOT..T.
C) "男"$性别 D) CTOD("03/21/03")>CTOD("03/12/03")
(32) 在没有打开索引文件的情况下,如果使用APPEND命令追加一条记录,其功能等同于命令序列
A) GOTO EOF B) COTO BOTTOM INSERT INSERT BEFOREC) GOTO BOTTOM D) GOTO BOTTOM INSERT AFTER INSERT
(33) 要清空当前数据库文件HGZ.DBF中"奖金"字段的全部值,应当使用命令
A) MODIFY STRUCTURE B) DELETEC) REPLACE D) ZAP
(34) 在FoxABSE中,用于建立或修改过程文件的命令是
A) MODIFY <文件名> B) MODIFY COMMAND <文件名>
C) MODIFY PROCEDURE <文件名》 D) CREATE COMMAND <文件名>
(35) 在FoxBASE中,能够进行条件定位的命令是
A)SKIP B)SEEK C)LOCATE D)GO
(36) 设X=100,Y=800,执行以下命令:?IIF(X>100,Y-50,Y+50)屏幕显示结果是
A) 50 B) 750 C) 800 D) 850
(37) 如果测试函数TYPE("W")的值是"U",说明
A) W是数组 B) W未定义 C) W的值为U D) W的值无符号
(38) 在下列记录定位命令中,不能用FOUND()函数检其操作是否成功的命令是
A)SEEK B)FIND C)LOCATE/CONTINUE D)SKIP
(39) 有如下命令SET DELETED ONUSE ABCGO 3DELETE NEXT 2GO 4RECALLUSE执行最后一条RECALL命令时,去掉删除标记的记录个数是
A) 0 B) 1 C) 2 D) 3
(40) 要清除所有变量名第二个字母为X的内存变量应使用命令A) RELEASE ALL *X B) RELEASE ALL LIKE X
C) RELEASE ALL LIKE ?x* D) RELEASE ALL LIKE "?X"
(41) 为了确保向日期型字段"起始日期"中输入1997年以前的日期,应在READ之前使用语句
A) @5,15 SAY "起始日期:" GET 起始日期 RANGE, CTOD("12/31/96")
B) @5,15 SAY "起始日期:" GET 起始日期 RANGE CTOD("12/31/96"),
C) @5,15 SAY "起始日期:" GET 起始日期 FOR 起始日期<= CTOD("12/31/96")
D) @5,15 SAY "起始日期:" GET 起始日期 RANGE DATE(),CTOD("12/31/96")
(42) 若在UPDATE命令中使用了RANDOM短语,则
A)源数据库和目标数据库都必须按关键字段排序或索引
B) 只需将源数据库按关键字段排序或索引
C) 只需将目标数据库按关键字段排序或索引
D) 源数据库和目标数据库均可以不按关键字段排序或索引
(43) 设当前数据库中有20条记录,当前记录号为10。有以下各组命令,在没有打开索引的情况下,两条命令执行结果相同的是
A) GO 5与SKIP 5
B)GO RECNO()+5与SKIP 5
C)SKIP RECN0()+5与GO RECN0()+5
D)GO RECN0()+5与 LIST NEXT 5
(44) 已知X=99,Y="A",A="telephone",则LEN(STR(X,2)+&Y)的值为A) 19 B) 11 C) 5 D) 5
(45) 已知proc.prg程序清单如下:SET TALK OFFn=20t=1DO proc_1 WITH n,t?tSET TALK ONRETURNProc_1.prg程序清单如下:PARAMETERS a,bb=a*bif a<=2RETURNENDIFDO proc_1 WITH a-2,bRETURN程序proc.prg的功能是
A) 输出20以内偶数的乘积 B) 输出20以内奇数的乘积
C) 输出结果为1 D) 输出结果为0
以下(46)-(50)题的操作均基于下面条件:
已建立并打开职工工资数据库zggz.dbf?该数据库的结构为:职工编号(C,6),姓名(C,8,)性别(C,2),基本工资(N,7,2),奖金(N,7,2),实发工资(N,8,2)职工编号 姓名 性别 基本工资 奖金 实发工资A10001 林大伟 男 1500.50 500.00 2000.50A15002 高原 男 2000.00 300.00 2300.00B10008 张高山 男 1200.80 200.00 1400.80B15009 刘群 女 1050.60 350.00 1400.60… … … … … …
(46) 要显示库中性别字段值为"女"的所有记录,错误的命令是
A) LIST FOR 性别="女" B) DISPLAY FOR 性别="女"
C) BROWSE FOR 性别="女" D) DISPLAY ALL FOR 性别="女"
(47) 为了重新计算每个职工记录中实发工资字段的值,可使用命令A) SUM 实发工资
B) SUM ALL 实发工资
C) REPLACE 实发工资 WITH 基本工资+奖金
D) REPLACE ALL 实发工资 WITH 基本工资+奖金
(48) 命令INDEX ON基本工资+奖金 TO zggz的作用是
A)按基本工资升序排列,当基本工资相同时,按奖金升序排列B)按基本工资降序排列,当基本工资相同时,按奖金降序排列C)按基本工资与奖金之和的升序排列
D)按基本工资与奖金之和的降序排列
(49) 输出结果中,包含"张高山"记录的命令是
A) LIST FOR姓名="高" B) DISPLAY ALL FOR "高"$姓名C) LIST FOR LEFT(姓名,2)="高" D) DISPLAY FOR AT("高",姓名)=1
(50) 能逻辑删除职工编号中第3位是"5"的职工记录的命令为
A) DELETE FOR SUBSTR(职工编号,3)=="5"
B) DELETE FOR SUBSTR(职工编号,3,1)==5
C) DELETE FOR SUBSTR(职工编号,3,1)=="5"
D) DELETE FOR AT(5,职工编号)=3
二、填空题(每空2分,共20分)请将每一个空的正确答案写在答题卡上【1】~【20】序号的横线上,答在试卷上不得分。
(1) 用十六进制给存储器中的字节地址进行编号,若地址编号从000
到FFFF,则该存诸器的容量为______KB。
(2) 假设在当前盘的当前目录下有两个文件A.TXT和B.TXT,现要将文
件B.TXT合并连接到文件A.TXT的后面。若使用COPY命令,则完整的命
令为______。
(3) E-mail地址由用户名和域名两部分组成,这两部分的分隔符为
______。
(4) 假设在当前盘当前目录下有一个可执行程序USER.EXE。现要执行
该程序,并要求在执行过程中将显示输出的结果信息存入当前盘当前
目录的文件OUT.DAT中,则完整的DOS命令为______。
(5) 在DOS环境下,表示打印机的设备文件名为_______。
(6) 在当前打开的数据库文件中有一个长度为6的字符型字段"姓
名",有如下命令序列 REPLACE 姓名 WITH "肖光" ?LEN
(姓名)执行最后一条命令的显示结果是_______。
(7) 已知一张职工登记表包括姓名、性别、出生日期、婚否、政治面
目、住址、电话等,若要建立保存此表的库文件,可以定义为逻辑字
段的项目有_______。
(8) 有如下命令序列:USE XYZ?RECCOUNT()SKIP +2
DELETE?RECCOUNT()执行第一条输出命令后,屏幕显示10。接
着执行后面的命令序列,第二条输出命令显示的结果是_______。
(9) 以下命令序列的功能是根据输入的考试成绩,显示相应的成绩等
级。等级划分标准为:低于60分为"不合格",60分以上(含60分)
为"通过",其中90分以上(含90)的为"优秀"。请对该程序填空
CLEAR________"请输入考试成绩:" TO chj DO CASE
CASE chj<60dj="不合格"CASE _______ dj="通过"
OTHERWISEdj="优秀" ENDCASE ?"成绩等级:"_____
RETURN
(10) 有如下命令序列:SET DATE AMERICAN?DTOC(CTOD
("9/21/2002"),1)顺序执行以上两条命令之后,在屏幕上将显示
_______。
下面(11)-(14)题的操作均基于以下三个数据库。职员(职员号C
(3),姓名C(6),性别C(2),职务C(10))订单(订单号N(3),客户号C(3),
职员号C(3),签订日期D(8),金额N(6,2))客户(客户号C(3),客户名C
(20),地址C(20),电话C(13))
(11) 要为订单库建立一个二重索引,要求按签订日期升序,相同签
订日期的记录按职员号升序,索引表达式应为_______。
(12) 下面程序的功能是利用索引逐条显示8月份签订的订单记录。请
填空:SELECT 0USE 订单INDEX ON MONTH(签订日期)
TO IMCLEARSEEK 8IF ______ DO WHILE ______
DISPLAY SKIP ENDDOELSE ?"8月份没有订单!"
ENDIF CLOSE DATABASERETURN
(13) 下面程序的功能是分别统计职员号以A或B开头的职员所签订的
订单数目和总金额。请填空:CLEARSTORE 0 TO n1,
s1,n2,s2SELECT 0USE 订单DO WHILE.NOT.EOF()
DO CASECASE______n1=n1+1s1=s1+金额CASE
______n2=n2+1s2=s2+金额ENDCASE______ENDDO
?" A职员订单数:"+STR(n1,3)+SPACE(10)+ "总金额: "+STR
(s1,7,2)?" B职员订单数:"+STR(n2,3)+SPACE(10)+ "总金
额: "+STR(s2,7,2)CLOSE DATABASERETURN
(14) 下面程序的功能是根据订单号查询该订单及相关职员和客户的
信息,要求在屏幕的第6行第20列开始显示输出信息。请填空:
SET SAFETY OFFSTORE "Y" TO ynSELECT 0USE 职员
INDEX ON 职员号 TO IZGSELECT 0USE 客户INDEX ON
客户号 TO IKHSELFCT 0USE 订单SET RELATION TO 职
员号INTO 职员SET RELATION TO 客户号 INTO 客户______
DO WHILE UPPER(yn)="Y"CLEARINPUT "请输入订单号:"
TO mddhLOCATE FOR 订单号=mddhIF EOF() ? "无此订
单号!"ELSE_______"职员:"+职员->姓名+"客户: "+客户-
>客户名+"金额:"-STR(金额,6,2) ENDIF WAIT "继续
查询吗(Y/N)?"TO yn ENDDO CLOSE DATABASE SET
SAFETY ON RETURN
2003年4月全国计算机等级考试二级QBASIC笔试试卷
一、选择题((1)-(40)每小题1分,(41)-(50)每小题2分,共60分)下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1) 用8位无符号二进制数能表示的最大十进制数为
A) 127 B) 128 C) 255 D) 256
(2) 在64位高档微机中,一个字长所占的二进制位数为
A) 8 B) 16 C) 32 D) 64
(3) 在Windows环境下,为了复制一个对象,在用鼠标拖动该对象时应同时按住
A) Alt键 B)Esc键 C)Shift键 D)Ctrl键
(4) 在Windows菜单中,暗淡(灰色)的命令项表示该命令
A) 暂时不能用 B) 正在执行 C) 包含下一层菜单 D) 包含对话框
(5) 在DOS环境下,为了得到TYPE命令的帮助信息,正确的DOS命令为A) TYPE B) TYPE/H C) TYPE/* D) TYPE/?
(6) 下列选项中,能作为合法DOS文件名的是
A) ANP/A.DAT B) ABCCOM C) ECD.BASIC D) XY+Z.TXT
(7) 下列叙述中正确的是
A) 在Windows环境下,最大化的窗口是不能移动的
B) 在Windows环境下,应用程序窗口最小化后,该应用程序暂停执行C) 在Windows环境下,只有最小化的窗口才能关闭
D) 在Windows环境下,不能关闭最大化的窗口
(8) 在Windows环境下,工具栏中的复制按钮是
A) 打印机图标 B) 剪刀标志 C) 复制标志 D) 粘贴标志
(9) 在Windows98环境下,若要将整个屏幕上显示的内容存入剪贴板,可以按
A) Ctrl+PrintScreen键 B) Alt+PrintScree键
C) Shift+PrintScreen键 D) PrintScreen键
(10) 目前,计算机病毒扩散最快的途径是
A) 通过软件复制 B) 通过网络传播
C) 通过磁盘考贝 D) 运行游戏软件
(11) 在QBASIC集成开发环境中,在编辑源程序后要运行程序,应按下键盘上的
A) F2键 B) F5键 C) Enter键 D) End键
(12) 关于QBASIC源程序语句中行号的说法正确的是
A) 必须有行号 B) 不允许有行号
C) 根据需要可有可无 D) 只允许有标号
(13) 在QBASIC中,常量3E1的数据类型是
A) 字符串 B) 单精度实型 C) 双精度实型 D) 整型
(14) 在下列四个式子中,非法的QBASIC表达式是
A) a=abc B) 5>3+3 C) a+b=c D) 5<>5
(15) QBASIC表达式3^3/3MOD2的值是
A) 1 B) -1 C) 3 D) 0
(16) 在以下属于合法的QBASIC变量名是
A) X-3 B) 4y C) n$1 D) b.1
(17) 定义一个3×3的二维数组,正确的语句是
A) DIM a(0 TO 3,0 to 3) B)DIM a(2000 to 2002,0 TO 2)
C) DIM a(3),a(3) D)DIM a(1 To 3)
(18) 下列语句中合法的是
A) PRINT a=atn B) PRINT"SIN(3.14)"+"COS(3.14"
C) PRINT TAB(10) "QB" D) PRINT USING"####",1234.56
(19) 在QBASIC中,下列运算符优先级最高的是
A) MOD B) NOT C) / D) ^
(20) 正确的单行自定义函数语句是
A) DEF fn(x)=3.14159*x^2 B) DEFINE fn(x)=3.14129*x^2
C) DEF fnn(x)=3.14159*x^2 D) DEF fnn(x)=3.14159*x^2 END
(21) 表达式INT(4*RND+1)*(INT(4*RND-1))值的范围是
A) [0,8] B) [-1,8] C) [-3,8] D)[-4,8]
(22) 有如下程序段CONST C="Wang"C$="a"PRINT LEN(C);LEN(C$)其输出结果为
A) Wang a B) 4 1 C) 1 1 D) 重复定义,程序出错
(23) 有如下程序段a%=12.8:b!=14.5PRINT a%,b!其输出结果为
A) 12.8 4 B) 12 14.5 C) 12.8 15 D) 13 14.5
(24) 有如下程序READ a,b,cRESTORE kREAD c,c,dDATA 1,2K: DATA 3,4,5 PRINT a;b;c;d END
A) 1 2 3 4 B) 1 2 3 5 C) 3 4 5 4 D) 1 2 4 5
(25) 以下语句中错误的是
A) INPUT"x,y=";a,b B) INPUT"x,y=",c,d
C) INPUT, "x,y=",e,f D) INPUT; "x,y=",g,h
(26) 实现选择结构"如果X
A) IF x =y THEN a=-15 a=-15 PRINT a ELSE a=15 END IF END IF PRINT a
C) IF x>y THEN a=-15
D) IF x>=y THEN GO TO d a=15 a=15 PRINT a d: a=-15 END PRINT a END
(27) 以下语句中正确的是
A) FOR 1 TO 10 STEP 2 B) FOR x=1,9 STEP3
C) FOR x=10 TO-10 STEP-10 D) FOR x=10 TO 50 NEXT
(28) 有如下程序DIM k AS INTEGER, y AS INTEGERLET y=3FOR k=1 TO 5 step-1 Y=y+kNEXT kPRINT y;kEND其输出结为
A) 3 1 B) 4 0 C) -1 6 D) 4 1
(29) 有如下程序DIM x AS INTEGER, y AS INTEGERFOR x=1 TO 2 FOR y=0 TO X=-1 PRINT x*y NEXT yNEXT xEND内层循环的循环体的总执行次数是
A) 1 B) 2 C) 3 D) 4
(30) 有如下程序DIM x AS INTEGER, y AS INTEGERX=0READ yWHILE y<>-9999 AND x<>3 IF y>x THEN x=y READ yWENDDATA-9999,9,8,3,9999PRINT ABS(y)END运行后的输出结果为
A) 9 B) -9999 C) 3 D) 9999
(31) 有如下程序a$="12"b$="24"c$=b$+a$d=VAL(c$)PRINT d\100END运行后的输出结果是
A) 12 B) 36 C)34 D) 24
(32) 有如下程序FOR j=1 TO 5 a=(a+j)MOD 5NEXT jPRINT aEND运行后的输出结果是
A) 0 B) 5 C) 25 D) 50
(33) 当EOF()函数返回的值为-1时,表示文件指针指向文件的A) 开头 B) 第一个记录 C) 末尾 D) 最后一个记录
(34) 有如下程序FOR x=1 TO 4 z=0 FOR y=1 TO x+2 z=z+1 NEXT y PRINT z;NEXT xEND运行后的输出结果是
A) 3 4 5 6 B) 4 5 6 7 C) 5 6 7 8 D) 6 7 8 9
(35) 有如下程序DEF fna(x,y)=x^2+y^2X=4Y=3PRINT fna(x,y)END运行后的输出结果是
A) 5 B)7 C)25 D)49
(36) 有如下程序m$="ABCDE"MID$(m$,1,5)= "abcde"PRINT m$END运行后的输出结果是
A) abcdeABCDE B) ABCDEabcde C) abcde D) ABCDE
(37) 有如下程序FOR j=1 TO 10 READ a IF a MOD 2=0 THEN sum=sum+aNEXT jPRINT"sum=";sumDATA 1,3,6,10,15,21,28,36,45,55END运行后的输出结果是A) 55 B) 80 C) 140 D) 220
(38) 有如下程序x=1DO X=2*x+1 num=num+1LOOP UNTIL x>100PRINT num,xEND运行后的输出的结果是
A) 6 127 B)8 127 C)127 8 D)127 8
(39) 有如下程序sum=0FOR i=1 TO 9 IF i<>10 THEN Sum=sum+1 ELSE Sum=sum+2 END IFNEXT IPRINT sumEND运行后输出结果是
A) 1 B) 9 C) 49 D) 55
(40) 有如下程序m$="*"i=1FOR k=3 TO 1 STEP -1 x$=string$(k+i,m$) PRINT x$ m$=m$+"*" i=-iNEXT kEND运行后的输出结果是
A) **
B) ****
C) ****
D) **** *** *** * ** **** ** ** ******
(41) 有如下程序DECLARE SUB f(m%,n%,g%)CALL f(87,69,g%)PRINT g%ENDSUM f(m%,n%,g%)a=m%b=n%DO C=a MOD b a=b b=cLOOP WHILE c<>0g%=aEND SUB运行后的输出结果是
A) 3 B) 18 C) 69 D)87
(42) 有如下程序INPUT ni=2t=-1DO WHILE i*i<=n IF n MOD i=0 THEN t=0 END IF i=i+1LOOPPRINT tEND运行时输入257,输出结果是
A) 0 B) 1 C) -1 D) 257
(43) 有如下程序month=INT(RND*3+1)+6SELECT CASS month CASE 1 TO 3 season$="First" CASE 4 TO 6 season$="Second" CASE 7 TO 9 season$="Third" CASE ELSE season$="Fourth"END SELECTPRINT season$END运行后的输出结果是
A) First B)Second C)Thire D)不能确定
(44) 有如下程序DECLARE FUNCTION f(n)INPUT nPRINT f(n)ENDFUNCTION f(n) if n=0 THEN f=0 ELSE f=n+f(n-1)END FUNCTION键盘输入n运行后的输出结果是78,则n的值是
A) 10 B)11 C)12 D)13
(45) 有如下程序CLS:SCREEN 13:COLOR 2x=180:y=100:r=50CIRCLE(x,y),50CIRCLE(180,100),rEND该程序在屏幕上显示的是
A) 一个圆 B) 两个同心圆 C) 两个不同心的圆 D) 没有显示
(46) 有如下程序SCREEN 13COLOR 2LINE(10,10)-(50,50)LINE(50,50)-(10,90)END程序所画两条线段
A) 关于一点对称 B) 关于一条垂直的直线对称C) 关于一条水平的直线对称 D) 重合
(47) 有如下程序FOR m=3 TO 5 FOR j=1 TO m-2 FOR k=j TO 3 n=n+k NEXT k NEXT jNEXT mEND运行后n的值为
A) 21 B) 25 C) 31 D) 42
(48) 有如下程序m$="a"n$="b"o$=LCASE$(m$)p$=UCASE$(n$)END运行结果是
A) a 0 B 0 B) A 0 b0 C) a 97 B 66 D) A 65 b 98
(49) 语句OPEN"A.DAT"FOR RANDOM AS#1 LEN=30表示此文件每个记录A)长度等于30个字符 B)长度等于30个字节
C)长度小于或等于30个字节 D)长度小于或等于30个字符
(50) 有如下程序DIM x(3,3)FOR k=1 TO 2 For j=1 TO 2 IF k=j THEN x(k,j)=1 ELSE x(k,j)=0 END IFNEXT j:NEXT kOPEN"diagonal.dat"FOR OUTPUT AS#1FOR k=1 TO 2 PRINT#1,x(k,1);x(k,2)NEXT kCLOSE#1END 执行程序,屏幕上显示的结果是
A) 0 1 B) 1 0 C) 0 0 D) 没有任何显示 1 0 0 1 1 1
二、填空题(每空2分,共20分)请将每空的正确答案写在答题卡上【1】-【10】序号的横线上,答在试卷上不得分。
(1) 用十六进制给存储器中的字节地址进行编号,若地址编号从000到FFFF,则该存诸器的容量为【1】KB。
(2) 假设在当前盘的当前目录下有两个文件A.TXT和B.TXT,现要将文件B.TXT合并连接到文件A.TXT的后面。若使用COPY命令,则完整的命令为【2】。
(3) E-mail地址由用户名和域名两部分组成,这两部分的分隔符为【3】。
(4) 假设在当前盘当前目录下有一个可执行程序USER.EXT。现要执行该程序,并要求在执行过程中将显示输出的结果信息存入当前盘当前目录的文件OUT.DAT中,则完整的DOS命令为【4】。
(5) 在DOS环境下,表示打印机的设备文件名为【5】 。
(6) 数据式aeutcos(wt+v)的QBASIC表达式为【6】。
(7) 常数-0.00013579的标准化的指数形式是【7】。
(8) 有如下程序a=1357:b=246c=LEN(str$(a)+str$(b))PRINT cEND运行后,输出的值是【8】。
(9) 四个字符串"Xab"、""XYZ"、"def"及"dE"中最大者为【9】。
(10) 有如下程序FOR j=1 TO 11 j=j+1 IF j MOD 4=0 THEN n=n+1NEXT jPRINT"n=";nEND运行后,输出的值是【10】。
(11) 有如下程序x=5:y=-20IF NOT x>0 THEN x=y-3ELSE y=y+3END IFPRINT x-y;y-xEND运行后的输出结果是【11】。
(12) 设a=2,b=3,c=4,d=5,表达式3>2*b OR a=c AND b<>c OR c>d的值是【12】。
(13) 有如下程序FOR i=1 TO 5 FOR x=i TO 5 STEP 1 IF i=2 AND x<5 THEN PRINT"*"; NEXT xNEXT iend运行后输出的结果是【13】。
(14) 随机生成100个-500到500间的整数(含-500和500),并找出其中第k大的数。请在【14】、【15】处填入适当内容将程序补充完整。DIM a(100)INPUT kFOR i=1 TO 100 a(i)=INT(【14】*RND)-500:PRINT a(i);NEXT iPRINTFOR i=1 TO k FOR j=i+1 TO 100 IF【15】THEN SWAP a(i),a(j) NEXT jNEXT iPRINT"a(";k;")=";a(k);END
(15) 有如下程序DIM i AS INTEGER,x AS INTEGERX=1:y=1:I=1DO WHILE i<4 f=x+y x=y y=fPRINT fi=i+1LOOPEND运行后的输出的结果是【16】。
(16) 有如下程序DIM tel(10)AS STRING*8FOR i=1 TO 4 READ tel(i)NEXT IFOR i=1 TO 4 IF LEFT$(tel(i),1)="2"THEN tel(i)="6"+tel(i) ELSE tel(i)=tel(i)+"9" END IFNEXT iPRINT tel(1),tel(2)DATA 6543210,2345678,2457788,8237777END运行后输出的结果是【17】。
(17) 下面的程序从键盘输入一个正整数n,计算并输出比n小,并且与n互素的数的个数。(两个数互素是指它们的最大公约数等于1)DECLARE FUNCTION gcd(a,b)INPUT nPhi=1FOR i=2 TO n-1IF gcd(n,i)=1 THEN phi=【18】NEXT iENDFUNCTION gcd(a,b)IF b=0 THEN tmp=【19】ELSE IF b=1 THEN tmp=1 ELSE tmp=gcd(b, 【20】)ENDIFgd=tmpEND FUNCTION运行后,输出的值是。
2003年4月全国计算机等级考试二级C笔试试卷
一、选择题((1)~(40)每小题1分,(41)~(55)每小题2分,共60分)下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1) 用8位无符号二进制数能表示的最大十进制数为
A) 127 B) 128 C) 255 D) 256
(2) 在64位高档微机中,一个字长所占的二进制位数为
A) 8 B) 16 C) 32 D) 64
(3) 在Windows环境下,为了复制一个对象,在用鼠标拖动该对象时应同时按住
A) Alt键 B)Esc键 C)Shift键 D)Ctrl键
(4) 在Windows菜单中,暗淡(灰色)的命令项表示该命令
A) 暂时不能用 B) 正在执行 C) 包含下一层菜单 D) 包含对话框
(5) 在DOS环境下,为了得到TYPE命令的帮助信息,正确的DOS命令为A) TYPE B) TYPE/H C) TYPE/* D) TYPE/?
(6) 下列选项中,能作为合法DOS文件名的是
A) ANP/A.DAT B) ABCCOM C) ECD.BASIC D) XY+Z.TXT
(7) 下列叙述中正确的是
A) 在Windows环境下,最大化的窗口是不能移动的
B) 在Windows环境下,应用程序窗口最小化后,该应用程序暂停执行C) 在Windows环境下,只有最小化的窗口才能关闭
D) 在Windows环境下,不能关闭最大化的窗口
(8) 在Windows环境下,工具栏中的复制按钮是
A) 打印机图标 B) 剪刀标志 C) 复制标志 D) 粘贴标志
(9) 在Windows98环境下,若要将整个屏幕上显示的内容存入剪贴板,可以按
A) Ctrl+PrintScreen键 B) Alt+PrintScree键
C) Shift+PrintScreen键 D) PrintScreen键
(10) 目前,计算机病毒扩散最快的途径是
A) 通过软件复制 B) 通过网络传播
C) 通过磁盘考贝 D) 运行游戏软件
(11) 以下叙述中正确的是
A) C语言比其他语言高级
B) C语言可以不用编译就能被计算机识别执行
C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D) C语言出现的最晚,具有其他语言的一切优点
(12) C语言中用于结构化程序设计的三种基本结构是
A) 顺序结构、选择结构、循环结构 B) if、switch、break
C) for、while、do-while D) if、for、continue
(13) 在一个C程序中
A) main函数必须出现在所有函数之前
B) main函数可以在任何地方出现
C) main函数必须出现在所有函数之后
D) main函数必须出现在固定位置
(14) 下列叙述中正确的是
A) C语言中既有逻辑类型也有集合类型
B) C语言中没有逻辑类型但有集合类型
C) C语言中有逻辑类型但没有集合类型
D) C语言中既没有逻辑类型也没有集合类型
(15) 下列关于C语言用户标识符的叙述中正确的是
A)用户标识符中可以出现在下划线和中划线(减号)
B)用户标识符中不可以出现中划线,但可以出现下划线
C)用户标识符中可以出现下划线,但不可以放在
D)用户标识符的开头用户标识符中可以出现在下划线和数字,它们都可以放在用户标识符的开头
(16) 若有以下程序段(n所赋的是八进制数)int m=32767,n=032767printf("%d,%o/n",m,n);执行后输出结果是
A) 32767,32767 B) 32767,032767
C) 32767,77777 D) 32767,077777
(17) 下列关于单目运算符++、--的叙述中正确的是
A) 它们的运算对象可以是任何变量和常量
B) 它们的运算对象可以是char型变量和int型变量,但不能是float型变量
C) 它们的运算对象可以是int型变量,但不能是double型变量和float型变量
D) 它们的运算对象可以是char型变量、int型变量和float型变量
(18) 若有以下程序段int m=0xabc,n=0xabc;m-=n;printf("%X\n",m);执行后输出结果是
A) 0X0 B) 0x0 C) 0 D) 0XABC
(19) 有以下程序段int m=0,n=0; char c='a'; scanf("%d%c%d",&m,&c,&n); printf("%d,%c,%d\n",m,c,n);若从键盘上输入:10A10<回车>,则输出结果是:
A) 10,A,10 B) 10,a,10 C) 10,a,0 D) 10,A,0
(20) 有以下程序main(){ int i; for(i=0;i<3;i++) switch(i) { case 1: printf("%d",i); case 2: printf("%d",i); default: printf("%d",i); }}执行后输出结果是
A) 011122 B) 012 C) 012020 D) 120
(21) 有以下程序main(){ int i=1,j=1,k=2; if((j++‖k++)&&i++) printf("%d,%d,%d\n",i,j,k);}执行后输出结果是
A) 1,1,2 B) 2,2,1 C) 2,2,2 D) 2,2,3
(22) 有以下程序main(){ int a=5,b=4,c=3,d=2; if(a>b>c)printf("%d\n",d); else if((c-1>=d)==1)printf("%d\n",d+1); elseprintf("%d\n",d+2)}执行后输出结果是
A) 2 B) 3 C) 4 D) 编译时有错,无结果
(23) 有以下程序main(){ int p[7]={11,13,14,15,16,17,18},i=0,k=0; while(i<7&&p[i]%2){k=k+p[i];i++;} printf("%d\n",k);}执行后输出结果是A) 58 B) 56 C) 45 D) 24
(24) 有以下程序main(){ int i=0,s=0;do{if(i%2){i++;continue;}i++;s +=i;}while(i<7); printf("%d\n",s);}执行后输出结果是
A) 16 B) 12 C) 28 D) 21
(25) 有以下程序main(){ int i=10,j=1; printf("%d,%d\n",i--,++j);}执行后输出结果是
A) 9,2 B) 10,2 C) 9,1 D) 10,1
(26) 有以下程序main(){ char a,b,c,*d; a='\'; b='\xbc'; c='\0xab'; d="\017"; print("%c%c%c\n",a,b,c,*d);}编译时出现错误,以下叙述中正确的是A) 程序中只有a='\';语句不正确
B) b='\xbc';语句不正确
C) d="\0127";语句不正确
D) a='\';和c='\0xab';语句都不正确
(27) 有以下程序int fl(int x,int y){ return x>y?x:y; }int f2(int x,int y){ return x>y?y:x; }main(){ int a=4,b=3,c=5,d,e,f; d=f1(a,b); d=f1(d,c);e=f2(a,b); e=f2(e,c); f=a+b+c-d-e; printf("%d,%d,%d\n",d,f,e);}执行后输出结果是
A) 3,4,5 B) 5,3,4 C) 5,4,3 D) 3,5,4
(28) 有如下程序void f(int x,int y){ int t; if(x}main(){ int a=4,b=3,c=5; f(a,b); f(a,c); f(b,c); printf("%d,%d,%d\n",a,b,c);}执行后输出结果是
A) 3,4,5 B) 5,3,4 C) 5,4,3 D) 4,3,5
(29) 若有以下定义和语句#include int a=4,b=3,*p,*q,*w;p=&a; q=&b; w=q; q=NULL;则以下选项中错误的语句是
A) *q=0; B) w=p; C) *p=a; D) *p=*w;
(30) 有以下程序int *f(int *x,int *y){ if(*x<*y) return x; else return y;}main(){ int a=7,b=8,*p,*q,*r};}执行后输出结果是
A) 7,8,8 B) 7,8,7 C) 8,7,7 D) 8,7,8
(31) 有以下程序main(){ char *s[]={"one","two","three"},*p; p=s[1]; printf("%c,%s\n",*(p+1),s[0]);}执行后输出结果是
A) n,two B) t,one C)w,one D) o,two
(32) 有以下程序main(){ int x[8]={8,7,6,5,0,0},*s; s=x+3 printf("%d\n",s[2]);}执行后输出结果是A) 随机值 B) 0 C) 5 D) 6
(33) 以下能正确定义数组并正确赋初值的语句是
A) int N=5,b[N][N]; B) int a[1][2]={{1},{3}};
C) int c[2][]={{1,2},{3,4}}; D) int d[3][2]={{1,2},{34}};
(34) 有以下程序main(){ int m[][3]={1,4,7,2,5,8,3,6,9}; int i,j,k=2; for(i=0;i<3;i++){ printf("%d",m[k][i]); }}执行后输出结果是
A) 4 5 6 B) 2 5 8 C) 3 6 9 D) 7 8 9
(35) 以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。#define N 10void arrin(int x[N]){ int i=0; while(i
A) x+i B)&x[i+1] C)x+(i++) D)&x[++i]
(36) 有以下程序main(){ char s[]="\n123\\"; printf("%d,%d\n",strlen(s),sizeof(s));}执行后输出结果是
A) 赋初值的字符串有错 B) 6,7 C) 5,6 D) 6,6
(37) 阅读以下函数fun(char *s1,char *s2){ int i=0;while(s1[i]==s2[i]&& s2[i]!='\0')i++;return(s1[i]== && s2{i}!=='\0');}此函数的功能是
A) 将s2所指字符串赋给s1
B) 比较s1和s2所指字符串的大小,若s1比s2的大,函数值为1,否则函数值为0
C) 比较s1和s2所指字符串是否相等,若相等,函数值为1,否则函数值为0
D) 比较s1和s2所指字符串的长度,若s1比s2的长,函数值为1,否则函数值为0
(38) 以下叙述中正确的是
A) 全局变量的作用域一定比局部变量的作用域范围大
B)静态(static)类别变量的生存期贯穿于整个程序的运行期间C)函数的形参都属于全局变量
D)未在定义语句中赋初值的auto变量和static变量的初值都是随机值
(39) 设有如下说明typedef struct{ int n; char c; double x;}STD;则以下选项中,能正确定义结构体数组并赋初值的语句是
A) STD tt[2]={{1,'A',62},{2, 'B',75}};
B) STD tt[2]={1,"A",62},2, "B",75};
C) struct tt[2]={{1,'A'},{2, 'B'}};
D)structtt[2]={{1,"A",62.5},{2, "B",75.0}};
(40) 有以下程序main(){ union { unsigned int n; unsigned char c; }u1; ul.c=`A`; printf("%c\n",u1.n);} 执行后输出结果是
A) 产生语法错 B) 随机值 C) A D) 65
(41) 有以下程序main(){ char str[]="xyz",*ps=str;while(*ps)ps++;for(ps--;ps-str>=0;ps--) puts(ps);}执行后的输出结果是
A) yz B) z C) z D) xxyz yz yz xyxyz xyz
(42) 有以下程序main(){ int a[][3]={{1,2,3},{4,5,0}},{*pa}[3],i;pa=a;for(i=0;i<3;i++)if(i<2) pa[1][i]=pa[1][i]-1;else pa[1][i]=1;printf("%d\n",a[0][1]+a[1][1]+a[1][2]);}执行后输出结果是
A) 7 B) 6 C) 8 D) 无确定值
(43) 有以下程序void fun(int *a,int i,int j){ int t;if(i
A) 6 5 4 3 2 1 B) 4 3 2 1 5 6 C) 4 5 6 1 2 3 D) 1 2 3 4 5 6
(44) 有以下程序main(int arge,char *argv[]){ int n,i=0;while(arv[1][i]!='\0'{ n=fun(); i++;} printf(%d\n",n*argc);}int fun(){ static int s=0; s+=1; return s;}假设程序经编译、连接后生成可执行文件exam.exe,若键入以下命令行exam 123<回车>则运行结果为
A) 6 B)8 C)3 D)4
(45) 以下程序段中,能够通过调用函数fun,使main函数中的指针变量p指向一个合法的整型单元的是
A) main()
B) main { int *p; { int *p; fun(p); fun(&p); } }int fun(int *p) int fun(int **p){ int s; p=&s;} { int s;*p=&s;}
C) #include
D) #include main() main() { int *p; { int *p; fun(&p); fun(p); } } int fun(int **p) int fun(int *p){ *p=(int *)malloc(2);} { p=(int *)malloc(sizeo(int));}
(46) 若要说明一个类型名STP,使得定义语句STP s等价于char *s,以下选项中正确的是
A) typedef STP char *s; B) typedef *char STP;
C) typedef stp *char; D) typedef char* STP;
(47) 设有如下定义struct ss{ char name[10]; int age; char sex;}std[3],*p=std;下面各输入语句中错误的是
A) scanf("%d",&(*p).age); B) scanf("%s",&std.name);
C) scanf("%c",&std[0].sex) D) scanf("%c",&(p->sex));
(48) 设char型变量x中的值为10100111,则表达式(2+x)^(~3)的值是
A) 10101001 B) 10101000 C) 11111101 D) 01010101
(49) 以下叙述中不正确的是
A)C语言中的文本文件以ASCⅡ码形式存储数据
B)C语言中对二进制文件的访问速度比文本文件快
C)C语言中,随机读写方式不适用于文本文件
D)C语言中,顺序读写方式不适用于二进制文件
(50) 以下程序企图把从终端输入的字符输出到名为abc.txt的文件中,直到从终端读入字符#号时结束输入和输出操作,但程序有错。#include main(){ FILE *fout; char ch; fout=fopen('abc.txt','w');ch=fgetc(stdin);while(ch!='#') { fputc(ch,fout); ch=fgetc(stdin); } fclose(fout);} 出错的原因是
A) 函数fopen调用形式错误 B) 输入文件没有关闭
C) 函数fgetc调用形式错误 D) 文件指针stdin没有定义
二、填空题(每空2分,共20分)请将每空的正确答案写在答题卡上【1】-【20】序号的横线上,答在试卷上不得分。
(1) 用十六进制绘存储器中的字节地址进行编号,若地址编号从000到FFFF,则该存诸器的容量为【1】KB。
(2) 假设在当前盘的当前目录下有两个文件A.TXT和B.TXT,现要将文件B.TXT合并连接到文件A.TXT的后面。若使用COPY命令,则完整的命令为【2】。
(3) E-mail地址由用户和域名两部分组成,这两部分的分隔符为【3】。
(4) 假设在当前盘当前目录下有一个可执行程序USER.EXE。现要执行该程序,并要求在执行过程中将显示输出的结果信息存入当前盘当前目录的文件OUT.DAT中,则完整的DOS命令为【4】。
(5) 在DOS环境下,表示打印机的设备文件名为【5】 。
(6) 若有语句int i=-19,j=i%4; printf("%d\n",j);则输出结果是 【6】 。
(7) 若有程序main(){ int i,j; scanf("i=%d,j=%d";&i,&j); printf("i=%d,j=%d\n",i,j);}要求给i赋10,给j赋20,则应该从键盘输入 【7】 。
(8) 若有以下程序main(){ int p,a=5; if(p=a!=0) printf("%d\n",p); else printf("%d\n",p+2);}执行后输出结果是 【8】 。
(9) 若有以下程序main(){ int a=4,b=3,c=5,t=0; if(a if(a printf("%d %d %d\n",a,b,c);}执行后输出结果是 【9】 。
(10) 若有以下程序main(){ int a[4][4]={{1,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-31,32,-33,0}}; int i,j,s=0; for(i=0;i<4;i++) { for(j=0;j<4;j++) { if(a[i][j]<0)continue; if(a[i][j]==0)break; s+=a[i][j]; } } printf("%d\n",s);}执行后输出的结果是 【10】 。
(11) 若有以下程序main(){ char a; a='H'-'A'+'0'; print("%c\n",a);}执行后的输出结果是 【11】 。
(12) 若有以下程序int f(int x,int y){ return(y-x)*x; }main(){ int a=3,b=4,c=5,d; d=f(f(3,4),f(3,5)); printf("%d\n",d);}执行后输出的结果是【12】。
(13) 函数YangHui的功能是把杨辉三角形的数据赋给二维数组的下半三角,形式如下11 11 2 11 3 3 11 4 6 4 1其构成规律是:第0列元素和主对角线无素均为1其余元素为其左上方和正上方元素之和数据的个数每行递增1请将程序补充完整。#defint N 6void YangHui(int *[N][N]){ int i,j; x[0][0]=1 for(i=1;i
(14) 以下函数的功能是删除字符串s中的所有数字字符。请填空。void dele(char *s){ int n=0,i; for(i=0,s[i];i++) if(【15】) s[n++]=s[i];s[n]=【16】;}
(15) 设函数findbig已定义为求3个数中的最大值。以下程序将利用函数指针调用findbig函数。请填空。main(){ int findbig(int,int,int); int (*f)(),x,yz,z,big; f=【17】; scanf("%d%d%d",&x,&y,&z); big=(*f)(x,y,z); printf("bing=%d\n",big);}
(16) 以下程序的输出结果是【18】 。#defint MCRA(m) 2*m#define MCRB(n,m) 2*MCRA(n)+mmain(){ int i=2,j=3; printf("%d\n",MCRB(j,MCRA(i)));}
(17) 设有以下定义struct ss{ int info;struct ss *link;}x,y,z;且已建立如下图所示链表结构:□□ →□□→□□X Y Z请写出删除点y的赋值语句【19】 。
(18) 已有文本文件test.txt,其中的内容为:Hello,everyone!。以下程序中,文件test.txt已正确为"读"而打开,由文件指针fr指向该文件,则程序的输出结果是 【20】 。#include main(){ FILE *fr; char str[40];…… fgets(str,5,fr); printf("%s\n",str); fclose(fr);}
2003年4月全国计算机等级考试二级VFp笔试试题(含答案)
一、选择题((1)~(35)每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在大题卡相应位置上,答在试卷上不得分。
(1) Visual FoxPro DBMS 是
A)操作系统的一部分 B)操作系统支持下的系统软件
C)一种编译程序 D)一种操作系统
(2) Visual FoxPro DBMS 基于的数据模型是
A)层次型 B)关系型 C)网状型 D)混合型
(3) 设有部门和职员两个实体,每个职员只能属于一个部门,一个部门可以有多名职员,则部门与职员实体之间的联系类型是
A)m:n B)1:m C)m:k D)1:1
(4) 在Visual FoxPro中,调用表设计器建立数据库表STUDENT.DBF的命令是
A)MODIFY STRUCTURE STUDENT
B) MODIFY COMMAND STUDENT
C)REATE STUDENT
D) CREATE TABLE STUDENT
(5) 在Visual FoxPro中,关于自由表叙述正确的是
A)自由表和数据库表是完全相同的
B)自由表不能建立字段级规则和约束
C)自由表不能建立候选索引
D)自由表不可以加入到数据库中
(6)在Visual FoxPro中,建立数据库表时,将年龄字段值限制在12~14之间的这种约束属于
A)实体完整性约束 B)域完整性约束
C)参照完整性约束 D)视图完整性约束
(7) 在Visual FoxPro中,运行表单T1.SCX的命令是
A)DO T1 B)RUN FORM1 T1C) DO FORM T1 D) DO FROM T1
(8)使用SQL语句进行分组检索时,为了去掉不满足条件的分组,应A)使用WHERE子句
B)在GROUP BY后面使用HAVING 子句
C)先使用WHERE子句,再使用HAVING 子句。
D)先使用HAVING 子句,再使用WHERE子句
(9) 在Visual FoxPro的参照完整性规则不包括
A)更新规则 B)删除规则 C)查询规则 D)插入规则
(10) 在Visual FoxPro中,表结构中的逻辑型、通用型、日期型字段的宽度由系统自动给出,它们分别为:
A)1、4、8 B)4、4、10 C)1、10、8 D)2、8、8
(11)在Visual FoxPro中,学生表STUDENT中包含有通用型字段,表中通用型字段中的数据均存储到另一个文件中,该文件名为A) STUDENT.DOC B) STUDENT.MENC) STUDENT.DBT D) STUDENT.FTP
(12) 在Visual FoxPro中,使用“菜单设计器”定义菜单,最后生成的菜单程序的扩展名是
A)MNX B)PRG C)MPR D)SPR
(13)在Visual FoxPro中,使用SQL命令将学生STUDENT中的学生年龄AGE字段的值增加1岁,应该使用的命令是
A) REPLACE AGE WITH AGE+1
B) UPDATE STUDENT AGE WITH AGE+1
C) UPDATE SET AGE WITH AGE+1
D) UPDATE STUDENT SET AGE=AGE+1
(14) 调用报表格式文件PP1预览报表的命令是
A)REPORT FROM PP1 PREVIEW B)DO FROM PP1 PREVIEW C)REPORT FORM PP1PREVIEW D)DO FORM PP1 PREVIEW
(15)在Visual FoxPro中,建立索引的作用之一是
A) 节省存储空间 B) 便于管理
C) 提高查询速度 D) 提高查询和更新的速度
(16)在Visual FoxPro中,相当于主关键字的索引是
A) 主索引 B) 普通索引C) 唯一索引 D) 排序索引
(17)在Visual FoxPro中,为了将表单从内存中释放(清除),可将表单中退出命令按钮的Click事件代码设置为
A)ThisForm.Refresh B)ThisForm.Delete
C) ThisForm.Hide D) ThisForm.Release
(18)假定一个表单里有一个文本框Text1和一个命令按钮组CommandGroup1,命令按钮组是一个容器对象,其中包含Command1 和Command2两个命令按钮。如果要在Command1命令按钮的某个方法中访问文本框的value属性值,下面哪个式子是正确的?
A)ThisForm.Text1.value B)This.Parent.value
C) Parent.Text1.value D)this.Parent.Text1.value
(19) 在Visual FoxPro 中,创建一个名为SDB.DBC的数据库文件,使用的命令是
A) CREATE B)CREATE SDB
C) CREATE TABLE SDB D)CREATE DATABASE SDB
(20)在Visual FoxPro中,存储图象的字段类型应该是B
A)备注型 B)通用型C)字符型 D)双精度型
(21)在Visual FoxPro中,下面4个关于日期或日期时间的表达式中,错误的是
A){^2002.09.01 11:10:10:AM}-{^2001.09.01 11:10:10AM}B){^01/01/2002}+20
C){^2002.02.01}+{^2001.02.01}
D){^2002/02/01}-{^2001/02/01}
(22)在Visual FoxPro中,关于过程调用的叙述正确的是
A)当实参的数量少于形参的数量时,多余的形参初值取逻辑假B)当实参的数量多于形参的数量时,多余的实参被忽略
C)实参与形参的数量必须相等
D)上面A和B都正确
(23)下面是关于表单数据环境的叙述,其中错误的是
A)可以在数据环境中加入与表单操作有关的表
B)数据环境是表单的容器
C)可以在数据环境中建立表之间的联系
D)表单自动打开其数据环境中的表
(24)在Visual FoxPro中,如果希望一个内存变量只限于在本过程中使用,说明这种内存变量的命令是:
A)PRIVATE B)PUBLIC
C)LOCALD)在程序中直接使用的内存变量(不通过A,B,C说明)
(25)在 DO WHILE … ENDDO循环结构中,LOOP命令的作用是:A)退出过程,返回程序开始处
B) 转移到DO WHILE语句行,开始下一个判断和循环
C) 终止循环,将控制转移到本循环结构ENDDO后面的第一条语句继续执行
D)终止程序执行
(26)在Visual FoxPro中,关于视图的正确叙述是
A)视图与数据库表相同,用来存储数据
B)视图不能同数据库表进行连接操作
C)在视图上不能进行更新操作
D)视图是从一个或多个数据库表导出的虚拟表
(27)SQL是那几个英文单词的缩写
A)Standard Query Language B)Structured Query LanguageC) Select Query Language D)以上都不是
(28)如果学生表STUDENT是使用下面的SQL语句创建的 CREATE TABLE STUDENT(SNO C(4) PRIMARY KEY NOTNULL,; SN C(8),; SEX C(2),; AGE N(2) CHECK(AGE>15 AND AGE<30)下面的SQL语句中可以正确执行的是A)INSERT INTO STUDENT(SNO,SEX,AGE) valueS ("S9","男",17)B)INSERT INTO STUDENT(SNO,SEX,AGE) valueS ("李安琦","男",20)
C)INSERT INTO STUDENT(SEX,AGE) valueS ("男",20)
D)INSERT INTO STUDENT(SNO,SN) valueS ("S9","安琦",16)
(29)使用SQL语句从表STUDENT中查询所有姓王的同学的信息,正确的命令是:资料来源:东方教育网http://www.eastedu.com.cnA)SELECT*FROM STUDENT WHERE LEFT (姓名,2)="王"
B)SELECT*FROM STUDENT WHERE RIGHT (姓名,2)="王"
C)SELECT*FROM STUDENT WHERE TRIM (姓名,2)="王"
D)SELECT*FROM STUDENT WHERE STR (姓名,2)="王"
(30)连编后可以脱离开Visual FoxPro独立运行的程序是 A) APP程序 B)EXE程序C)FXP程序 D)PRG程序
第(31)-(35)题使用如下表的数据:部门表 部门号 部门名称 40 家用电器部 10 电视录摄像机部 20 电话手机部 30 计算机部 商品表 部门号 商品号 商品名称 单价 数量 产地 40 0101 A牌电风扇 200.00 10 广东40 0104 A牌微波炉 350.00 10 广东40 0105 B牌微波炉 600.00 10 广东20 1032 C牌传真机 1000.00 20 上海40 0107 D牌微波炉_A 420.00 10 北京20 0110 A牌电话机 200.00 50 广东20 0112 B牌手机 2000.00 10 广东40 0202 A牌电冰箱 3000.00 2 广东30 1041 B牌计算机 6000.00 10 广东 30 0204 C牌计算机 10000.00 10 上海
(31)SQL语句SELECT部门号,MAX(单价*数量)FROM商品表GROUP BY部门号查询结果有几条记录?
A)1 B)4 C)3 D)10?
(32) SQL语句SELECT 产地,COUNT(*) 提供的商品种类数;FROM 商品表;WHERE 单价>200; GROUP BY 产地 HAVING COUNT(*)>=2;ORDER BY 2 DESC查询结果的第一条记录的产地和提供的商品种类数是
A)北京,1 B)上海,2C)广东,5 C)广东,7
(33) SQL 语句SELECT 部门表.部门号,部门名称,SUM(单价*数量); FROM 部门表,商品表; WHERE 部门表.部门号=商品表.部门号; GROUP BY 部门表.部门号查询结果是
A)各部门商品数量合计 B)各部门商品金额合计
C)所有商品金额合计 D)各部门商品金额平均值
(34) SQL 语句SELECT 部门表.部门号,部门名称,商品号,商品名称,单价; FROM 部门表,商品表;、WHERE 部门表.部门号=商品表.部门号;ORDER BY 部门表.部门号 DESC,单价查询结果的第一条记录的商品号是
A)0101 B)0202 C)0110 D)0112
(35) SQL 语句SELECT 部门名称 FROM 部门表 WHERE 部门号 IN;(SELECT 部门号 FROM 商品表 WHERE 单价 BETWEEN 420 AND 1000)查询结果是
A)家用电器部、电话手机部 B)家用电器部、计算机部
C)电话手机部、电视录摄像机部 D)家用电器部、电视录摄像机部
二、 填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡上【1】—【15】序号的答题卡上,答在试卷上不得分。
(1) 用二维表数据来表示实体之间联系的数据模型称为【1】。
(2) 在Visual FoxPro 中说明数组后,数组的每个元素在未赋值之前的默认值是【2】。
(3) 可以在项目管理器的 【3】 选项卡下建立命令文件 。
(4) 在Visual FoxPro中数据库文件的扩展名是【4】.DBC,数据库表文件的扩展名是【5】。
(5) 打开数据库设计器的命令是【6】DATA
(6) 在SQL的CAEATA TABLE 语句中,为属性说明取值范围(约束)的是【7】短语。
(7) SQL插入记录的命令是INSERT,删除记录的命令是【8】,修改记录的命令是【9】。
(8) 在SQR的嵌套查询中,量词ANY和【10】是同义词。在SQL查询时,使用【11】 子句指出的是查询条件。
(9) 从职工数据库表中计算工资合计的SQL语句是SELECT【12】FROM职工。
(10) 把当前表当前记录的学号,姓名字段值复制到数组A 的命令是SCATTER FIELD 学号,姓名【13】。
(11) 在表单中确定控件是否可见的属性是【14】。
(12) 函数BETWEEN(40,34,50)的运算结果是【15】。
2003年4月全国计算机等级考试二级visual Basic笔试试卷
一、选择题((1)一(20)每小题2分,(21)一(30)每小题3分,共30题,70分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂在答题卡的相应位置上,答在试卷上不得分。
(1)以下不能在“工程资源管理器”窗口中列出的文件类型是 A).bas B).res C).fnn D).ocx
(2)以下关于窗体的描述中,错误的是
A)执行UnloadFoMl语句后,窗体Fonnl消失,但仍在内存中
B)窗体的Ioad事件在加载窗体时发生
C)当窗体的Enabled属性为False时,通过鼠标和键盘对窗体的操作都被禁止
D)窗体的Height、width属性用于设置窗体的高和宽
(3)下列可作为V2sualBasic变量名的是
A)A#A B)4A C)?xY D)constA
(4)设有如下的记录类型 Type Student numberAs string name As String age As Integer End Type 则正确引用该记录类型变量的代码是
A) Student.name=”张红”
B) Dim As Student s.name=”张红”
C) Dim s As Type Student
D) Dim s As Type S.name=”张红” s.Dame=”张红”
(5)函数String(n,“str”)的功能是
A)把数值型数据转换为字符串
B)返回由n个字符组成的字符串
C)从字符串中取出n个字符
D)从字符串中第n个字符的位置开始取子字符串
(6)将数学表达式Cos2(a+b)+5e2写成Visual Basic的表达式,其正确的形式是
A)Cos(a+b)A2十5。exp(2) B)Cos^2(a+b)+5*exp(2)
C)Cos(a+b)^2十5*ln(2) D)Cos^2(a+b)+5*ln(2)
(7)在窗体上画一个命令按钮,名称为Commandl。单击命令按钮时,执行如下事件过程: PrlVate Sub Commandl—C1icko a$="software and hardware" b$=Right(a$,8) c$=Mid(a$,1,8) Msgbox a$,,b$,c$,1 End Sub则在弹出的信息框的标题栏中显示的信息是
A)softWare and hardware B)software C)hardwafe D)1
(8)执行如下语句: a=inutBox(”Today”,”TomorroW,”Yesterday”,,,"Day before yesterday",5)将显示一个输入对话框,在对话框的输入区中显示的信息是
A)Today B)Tomorrow C)Yesterday D)Day before yesterday
(9)表示滚动条控件取值范围最大值的属性是
A)Max B)LargeChange C)Value D)Max—Min
(10)假定有以下函数过程: Function Fun(S As String) As String Dim s1 As String For i=1 To Len(S) s1=UCase(Mid(S,i,1))十s1 Next i Fun=s1 End Function 在窗体上画一个命令按钮,然后编写如下事件过程: Prlvate Sub Commmldl_Click() Dim Str1 As String,Str2 As String Strl=inputbox(”请输入一个字符串”) Str2=Fun(Strl) Print Str2 End Sub 程序运行后,单击命令按钮,如果在输入对话框中输入字符串“abcdefg”,则单击“确 定”按钮后在窗体上的输出结果为
A)abcdefg B)ABCDEFG C)gfedcba D)GFEDCBA
(11)设有语句 open "c:\Test.Dat" For OutPut As#1 则以下错误的叙述是
A)该语句打开C盘根目录下一个己存在的文件Test.Dat
B)该语句在C盘根目录下建立一个名为Test.Dat的文件
C)该语句建立的文件的文件号为1
D)执行该语句后,就可以通过Print#语句向文件Test.Dat中写入信息
(12)以下叙述中错误的是
A)用Shell函数可以调用能够在Windows下运行的应用程序
B)用Shell函数可以调用可执行文件,也可以调用VisualBasic的内部函数
C)调用Shell函数的格式应为:<变量名>=Shell(……)
D)用Shell函数不能执行DoS命令
(13)以下关于过程及过程参数的描述中,错误的是
A)过程的参数可以是控件名称
B)用数组作为过程的参数时,使用的是“传地址”方式
c)只有函数过程能够将过程中处理的信息传回到调用的程序中 D)窗体可以作为过程的参数
(14)在窗体上画一个名称为TxtA的文本框,然后编写如下的事件过程: Private Sub Txta_KeyPress(keyascii as integer) End Sub 若焦点位于文本框中,则能够触发KeyPress事件的操作是
A)单击鼠标 B)双击文本框
C)鼠标滑过文本框 D)按下键盘上的某个键
(15)目录列表框的Path属性的作用是
A)显示当前驱动器或指定驱动器上的路径
B)显示当前驱动器或指定驱动器上的某目录下的文件名
c)显示根目录下的文件名
D)只显示当前路径下的文件
(16)假定有如下事件过程: PriVate Sub Form_MouseDown(button As Integer,Shift As Integer, x As Single,Y As Single) If Button=2 then PopupMenu popForm End if End Sub 则以下描述中错误的是
A)该过程的功能是弹出一个菜单
B)popForm 是在菜单编辑器中定义的弹出式菜单的名称
C)参数X、Y指明鼠标的当前位置
D)Button=2 表示按下的是鼠标左键
(17)以下能够正确计算n!的程序是
A) Private Sub Commandl_ClicK() n=5:x=1 Do X=x*1 i=i十1 Loop While i<n Print x End Sub
B) Private Sub Commandl_Click() n=5: x=1:i=1 Do X=X*1 i=i十1 Loop While i<n Print x End Sub
C)Private Sub Commandl_Click() n=5:x=1:i=1 Do X=X*1 i=i十1 Loop while i<=n Print x End Sub
D)Private Sub Commandl_C1ick() n=5:x=1:i=1 Do X=X*l i=i十1 loop While i>n Print x End Sub
(18)在窗体上画一个名称为Commandl的命令按钮,再画两个名称分别为Labell、Label2的标签,然后编写如下程序代码: . Private x As Integer Private Sub Commandl—Click() X=5:Y=3 Call proc(x,Y) Labell.Caption=X Label2.Caption=Y End Sub Private Sub proc(ByVal a As Integer,ByVal b As hteger) x=a* a Y=b十b End Sub程序运行后,单击命令按钮,则两个标签中显示的内容分别是
A)5和3 B)25和3 C)25和6 D)5和6
(19)在窗体上画一个名称为Commandl的命令按钮,一个名称为Labell的标签,然后编写如下事件过程: Private Sub Commandl_C1ick() S=0 For i=1 T0 15 x=2*i一1 1f x Mod 3=0 Then s=s十1 Nexti Labell.Caption=s End Sub . 程序运行后,单击命令按钮,则标签中显示的内容是
A)1 B)5 C)27 D)45
(20)在窗体上画一个名称为Commandl的命令按钮和三个名称分别为Labell、Label2、 Label3的标签,然后编写如下代码: Private x As Integer Private Sub Command1_C1ick() Static y As Integer Dimz As Integer n=10 z=n十z y=y十z X=X十Z Labell.Caption=x Label2.Caption=y Label3.Caption=z End Sub 运行程序,连续三次单击命令按钮后,则三个标签中显示的内容分别是A)10 10 10 B)30 30 30 C)30 30 10 D)10 30 30
(21)设在窗体上有一个名称为Commandl的命令按钮,并有以下事件过程: PriVate Sub Commandl_C1ick() Static b As Variant b=Array(1,3,5,7,9) End Sub 此过程的功能是把数组b中的5个数逆序存放(即排列为9,7,5,3,1)。为实现此功 能,省略号处的程序段应该是
A)For i=0 To 5-1\2 tmp=b(i) b(i)=b(5-i-1) b(5-i-1)=tmp Next
B)for i=0 To 5 tmp=b(i) b(i)=b(5-i-1) b(5-i-1)=tmp Next
C) For i=0 T0 5\2 tmp=b(i) b(i)=b(5-i-1) b(5-i-1);tmp Next
D)For i=1 T0 5\2 tmp=b(i) b(i)=b(5一i一1) b(5—i—1)=tmp Next
(22)一个工程中包含两个名称分别为Forml、Form2的窗体,一个名称为mdlFunc的标准 模块。假定在Forml、Form2和mdlFunc中分别建立了自定义过程,其定义格式为: Forml中定义的过程: PriVate Sub frmfunctionl() End Sub Form2中定义的过程: Public Sub frmffunction2() End Sub mdlFunc中定义的过程: PubliC Sub mdlFunction() End Sub 在调用上述过程的程序中,如果不指明窗体或模块的名称,则以下叙述中正确的是
A)上述三个过程都可以在工程中的任何窗体或模块中被调用
B)frmfunction2和mdlfunction过程能够在工程中各个窗体或模块中被调用
C)上述三个过程都只能在各自被定义的模块中调用
D)只有mdlFunction过程能够被工程中各个窗体或模块调用
(23)在窗体上画一个名称为CommonDialogl的通用对话框,一个名称为Commandl的命令按钮。要求单击命令按钮时,打开一个保存文件的通用对话框。该窗口的标题为"Save",缺省文件名为“SaveFile”,在“文件类型”栏中显示*.txt。则能够满足上述要求的程序是 A)Private Sub Command_C1ick() Commondialogl.FileName=“Savefile” Commondialogl.filter="All Files|*.*|(*.txt)|*.txt|(*.doc).|*.doc" CommonDialogl.Filterindex=2 CommonDialogl.Dial0g.title="Save" CommonDialogl.Action=2 End Sub
B)Private Sub Commandl—Click() CommonDialogl.FileName="SaveFile" CommonDiaLogl.Filter="A11 Files|*.*|(*.txt)|*.txt|*.doc|*.doc" C0mmonDialogl.FilterIndex=1 CommonDialogl.DialogTitle="Save" CommonDialogl.Action=2 End Sub
C)Private Sub Cmmandl_C1ick() COmmonDialogl.FileName="Save" CommonDialogl.FiLter="A11Files|*.*|(*.txt)|*.txt|(*.doc)|*.doc" CommonDialogl.Filterindex=2 C0mmonDialogl.DialogTitle="SaveFile" CommonDialogl.Action=2 End Sub
D)Private Sub Commandl_C1ick() CommonDialogl.FileName="SaveFile" CommonDialogl.Filter="All Files|*.*|(*.txt)|*.txt|(*.doc)|*.doc" CommonDialogl.FilterIndex=1 CommonDialogl.DialogTitle=“Save” CommonDialogl.Action=1 End Sub
二、填空题(每空2分,共30分) 请将每空的正确答案写在答题卡[1]一[15序号的横线上,答在试卷上不得分。
(1)visual Basic中有一种控件组合了文本框和列表框的特性,这种控件是________
(2)Visual Basic提供的对数据文件的三种访问方式为随机访问方式_____和二进制访问方式。
(3)执行下面的程序段后,变量S的值为_______。 S=5 For i =2.6 To 4.9 Step 0.6 S=S十1 Next i
(4)为了在运行时把d:\pic文件夹下的图形文件a.jpg装入图片框Picturel,所使用的语句为_______。
(5)计时器控件能有规律的以一定时间间隔触发_______事件,并执行该事件过程中的程序代码。
(6)以下程序的功能是:生成20个200到300之间的随机整数,输出其中能被5整除的数并求出它们的和。请填空。
Private Sub Commandl_C1ick() Fori=1To 20 x=Int(____________*200+100) If_______[7] =0 Then Print xS=S十 _________ [83 End If Next i Print “Sum=”:S End Sub
(7)设有如下程序 Private Sub Form_Click() Dim a AS Integer,b As integer a=20:b=50 pla,b p2a,b p3a,b Print"a=";a,"b=";b End Sub Sub pl(x As Integer,ByVal y As Integer) x=x十10. v=v十20 End Sub Sub p2(byVal x As Integer, y As Integer) x=x十10 y=y十20 End Sub Sub p3(ByValx As Integer, ByVal y As Integer) x=x十10 y=y十20 End Sub 该程序运行后,单击窗体,则在窗体上显示的内容是:a=______和b=______。
(8)在窗体上画一个名称为Commandl的命令按钮,编写如下事件过程 PRiVate Sub Commandl_C1icK() Dim As String a=_____[11] For i =1 To 5 Print Space(6—i);Mid$3(a,6—i,2*i—1) 二级V1sualBMic语言程序设计试卷第13页 (共15页) Nexti End Sub 程序运行后,单击命令按钮,要求窗体上显示的输出结果为 456 34567 2345678 123456789请填空。
(9)在窗体上画一个名称为Combo1的组合框,画两个名称分别Label1和Label2及Caption属性分别为“城市名称”和空白的标签。程序运行后,当在组合框中输入一个新项后按回车键(ASCII码为13)时,如果输入的项在组合框的列表中不存在,则自动添加到组合框的列表中,并在Label2中给出提示“已成功添加输入项”如图所示; 如果存在,则在Label2中给出提示“输入项已在组合框中”。请在[12>、[13]和 [14>处将程序补充完整。 Private Sub Combol_________<12> (KeyAscii As integer) 1f KeyAscii=13 Then Fori=0 To Combo1.listCount—1 1f Combo1.Text=______ [13] Ihen Label2.Caption=”输入项己在组合框中” ExIt Sub End lf Next i Label2.Caption=“已成功添加输入项” Combo1.______ [14] CombO1.Text End lf End Sub
(10)设有如下程序Private sub search(a()As variant,ByVal key As Variant,index%) Dim I% ForI=LBound(a)To UBound(a) If key=a(I) Then index=I Exit Sub End If Next I Index=-1 End Sub Private Sub Form_Load() Show Dtm b() As Variant Dim n As Integer b=Array(1,3,5,7,9,11,13,15) Call search(b,11,n) Printt n End Sub 程序运行后,输出结果是________。