基础部分和QBASIC语言程序设计 (考试时间:120分钟,满分100分) 一、选择题,(1-40)每题1分,(41-50)每题2分,共60分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 (1) 在32位计算机中,一个字长所占的字节数为 A) 1 B) 2 C) 4 D) 8 (2) 与十进制数511等值的十六进制数为 A) 1FF B) 2FF C) 1FE D) 2FE (3) 能将高级语言编写的源程序转换成目标程序的是 A) 编辑程序 B) 编译程序 C) 解释程序 D) 链接程序 (4) 在计算机系统中,存储一个汉字的国标码所需要的字节数为 A) 1 B) 2 C) 3 D) 4 (5) 下列带有通配符的文件名中,能表示文件ABC.TXT的是 A) *BC.? B) A?.* C) ?BC.* D) ?.? (6) 在多媒体计算机系统中,不能用以存储多媒信息的是 A) 光缆 B) 软盘 C) 硬盘 D) 光盘 (7) DOS命令“COPY/?”的功能是 A) 将当前盘当前目录中的所有文件复制到当前盘的根目录下 B) 将当前盘当前目录中所有以单个字符命名的文件复制到当前盘的根目录下 C) 以提示方式复制文件 D) 显示COPY命令的帮助信息 (8) 在Windows环境下,若要将当前活动窗口存入剪贴板,则可以按 A) Ctrl+PrintScreen键 B) Alt+PrintScreen键 C) Shift+PrintScreen键 D) PrintScreen键 (9) 在Windows环境下,单击当前应用程序窗口中的“关闭”按钮,其功能是 A) 将当前应用程序转为后台运行 B) 退出Windows后再关机 C) 退出Windows后重新启动计算机 D) 终止当前应用程序的运行 (10) 在Windows环境下,粘贴按钮是 A) B) C) D) (11) 在QBASIC集成开发环境中,要观察或调试与当前程序窗口有关的各个程序模块,第一步需从菜单条中选择的选项是 A) File B) Edit C) View D) Search (12) 在QBASIC中,对变量x#赋值即x#=12.34567,x#的数据类型是 A) 整型 B) 实型 C) 双精度型 D) 字符串型 (13) 在下列四个QBASIC表达式中,非法的表达式是 A) 3+5=2 B) 5<″A″ C)″2002/2/1″+″2002/2/15″ D) 10#-5 (14) QBASIC表达式8+3*5 mod 3^2\5*(sin(0)+1)的值是 A) 2 B) 4 C) 6 D) 8 (15) 在QBASIC中,表达式INSTR(1,“BeiJing”,″Ji″) 的值的类型是 A) 字符型 B) 关系型 C) 数值型 D) 逻辑型 (16) 在QBASIC中,下面的四组语句有语法错误的是 A) READ A,B$,C$ B) READ A,B$,C DATA 12,3.14/180,23 DATA 34,PI/180,45 C) READ,A,B$,C$ D) READ A,B$,C DATA 45,56+67,X DATA 78,PI,1+1 (17) 语句OPTION BASE 1:DIM A(5,4)定义的数组元素个数是 A) 9 B) 5 C) 20 D) 任意个 (18) QBASIC语句中,语句定义符REM定义的是 A) 数据恢复语句 B) 数组定义语句 C) 注释语句 D) 数组重定维语句 (19) 语句PRINT″11″>″109″的运行结果是 A) 0 B) -1 C) 11 D) 11>109 (20) 有如下程序 DEF FNA(y)=y+1 DEF FNS(y)=FNA(y)^2+FNA(y)+y^2+y+1 PRINT FNS(2) END 运行时输出的结果是 A) 3 B) 14 C) 19 D) 21 (21) 有如下一组程序语句 s=0 FOR i=1 TO 10 READ a$,b IF a$=″f″ THEN IF b<10 THEN s=s+1 END IF NEXT i PRINT s DATA f,10,m,67,m,14,f,23,f,1,f,17,m,2,f,11,m,10,m,56 运行时的输出结果是 A) 2 B) 56 C) 0 D) 1 (22) 有如下一组程序语句 FOR k=1 TO 3 SELECT CASE k CASE 1 a=3 CASE 3 a=2 CASE 3 a=1 END SELECT PRINT a; NEXT k PRINT k END 运行时的输出结果是 A) 1 1 1 1 4 B) 3 2 1 4 C) 1 1 1 1 3 D) 1 2 3 4 (23) 有如下一组程序语句 CONNT c=5 d=c+5 c=c+1 PRINT c+d 运行时的输出结果是 A) 6 B) 10 C) 16 D) 显示出错信息 (24) 有如下程序段 FOR i=1 TO 3 FOR j=0 To i-1 PRINT ″*″ NEXT j NEXT i 在运行时内层循环的循环总次数是 A) 1 B) 2 C) 3 D) 6 (25) 有如下程序 DEFSTR a-c a=″*″:b=″@″ FOR k=1 TO 3 c$=STRING$(LEN(a$)+k-1,b$) PRINT c+″263″; NEXT k PRINT END 运行时输出的结果是 A) @263@@263@@@263 B) *@*@*@263 C) @@@@@@263 D) 出错信息 (26) 有如下程序 a=5 b=6 PRINT a>b OR b MOD 2=0 END 运行后的输出结果是 A) –1 B) 0 C) 1 D) 2 (27) 有如下程序 FOR m=1 TO 3 FOR j=m TO 1 STEP –1 FOR k=j TO m n=n+k NEXT k NEXT j NEXT m END 运行后n的值为 A) 20 B) 27 C) 30 D) 54 (28) 有如下程序 a$=″12″ b$=″24″ c$=a$+b$ d=VAL(c$) PRIN d MOD 100 END 运行后的输出结果是 A) 12 B) 22 C) 24 D) 36 (29) 有如下程序 FOR j=0 TO 35 a=a+j MOD 6 NEXT j PRINT a END 运行后的输出结果是 A) 90 B) 75 C) 105 D) 0 (30) 有如下程序 FOR x=1 TO 4 a=0 FOR y=1 TO x+1 a=a+1 NEXT y PRINT a; NEXT x END 运行后的输出结果是 A) 1 2 3 4 B) 2 3 4 5 C) 3 4 5 6 D) 4 5 6 7 (31) 有如下程序 DEF fna(x,y)=x^3+x^2*y+x*y^2+y^3 a=4 b=3 PRINT fna(a,b) END 运行后的输出结果是 A) 37 B) 175 C) 337 D) 343 (32) 有如下程序 x=1 n=3 DO k=k+1 n=k+n x=x*2 LOOP UNTIL x>n PRINT n;x END 运行后的输出结果是 A) 13 16 B) 6 8 C) 18 32 D) 24 64 (33) 有如下程序 s=0 FOR i=1 TO 10 IF i MOD 5 <> 0 THEN s=s+1 ELSE s=s+i END IF NEXT i PRINT s END 运行后的输出结果是 A) 23 B) 40 C) 45 D) 55 (34) 有如下程序 m$=″#″ FOR k=3 TO 1 STEP –1 x$=STRING$(k,″*″) PRINT m$;x$ m$=m$+m$ NEXT k END 运行后的输出结果是 A) #* B) #* C) #*** D) #*** ##** ##** ##** ##** ###*** ####*** ###* ####* (35) 有如下程序 DECLARE SUB comb(a,b,c) u=0 x=4 FOR y=0 TO 4 CALL comb(x,y,z) u=u+z NEXT y PRINT u END SUB comb(a,b,c) IF b=0 OR b>=a THEN c=1 ELSE CALL comb(a-1,b-1,c) c1=c CALL comb(a-1,b,c) c=c1+c END IF END SUB 运行后的输出结果是 A) 8 B) 16 C) 32 D) 64 (36) 有如下程序 FOR i=1 TO 8 READ x NEXT i RESTORE 20 READ x PRINT x 10: DATA 1,2,15,18 20: DATA 10,80,90,100,75 END 运行后输出的结果是 A) 75 B) 1 C) 10 D) 运行出错 (37) 有如下程序 a=3 IF a<=3 THEN PRINT 3; END IF IF a<=4 THEN PRINT 4; END IF IF a<=5 THEN PRINT 5; END IF IF a<=6 THEN PRINT 6; ENDIF PRINT END 运行后输出结果是 A) 3 B) 3 4 C) 3 4 5 D) 3 4 5 6 (38) 有如下程序 a=1 DO WHILE a<10 a=a+2 b=b+a*a LOOP PRINT a,b END 运行后输出的结果是 A) 9 25 B) 9 164 C) 11 285 D) 11 3 (39) 有如下程序 j=0:n=0 DO WHILE n<3 j=(j+1)^2+1 n=n+1 LOOP PRINT j;n END 运行时输出结果是 A) 122 3 B) 10 2 C) 5 3 D) 5 2 (40) 有如下程序 DECLARE SUB sub1(n,j) FOR j=2 TO 5 CALL sub1(n,j):m=m+n NEXT j PRINT m,n RPINT m;n END SUB sub(n,j) n=j+n END SUB 运行后输出的是 A) 30 14 B) 28 14 C) 30 15 D) 15 15 (41) 有如下程序 DIM a(10) FOR j=1 TO 10 READ a(j) NEXT j j=1 INPUT b DO WHILE(a(j)<>b)AND(j<=10) j=j+1 LOOP PRINT j DATA 1,2,4,7,11,16,22,29,37,46, END 从键盘输入11,运行后输出的是 A) 5 B) 6 C) 10 D) 11 (42) 有如下程序 DIM arr(3,3) AS INTEGER FOR m=1 TO 3 FOR n=1 TO 3 arr(m,n)=2*m+n NEXT n NEXT m FOR m=1 TO 2 FOR n=2 TO 3 PRINT arr(n,m); NEXT n PRINT NEXT m END 运行时输出结果是 A) 3 4 B) 5 7 C) 5 6 D) 6 7 5 6 6 8 7 8 8 9 (43) 有如下程序 DECLARE SUB f(x!,y!) a=1:b=1 FOR j=1 TO 3 CALL f((a),b) NEXT j PRINT a;b END SUB f(x,y) x=x+y y=x+y END SUB 运行后的输出结果是 A) 15 1 B) 1 15 C) 13 2 D) 21 34 (44) 在QBASIC中,KILL语句和NAME语句的作用是 A) 释放数组和改变数组名称 B) 删除变量和改变变量名称 C) 删除文件和改变文件名称 D) 删除子程序和改变子程序名称 (45) 语句OPEN″abc.dat″FOR RANDOM AS #1 LEN=20执行后,对其打开的文件中的数据 A) 只能读操作不能写操作 B) 只能写操作不能读操作 C) 只能将其复制到其他文件中 D) 既可读操作又可写操作 (46) 有如下程序 OPEN ″file1.dat″FOR INPUT AS #1 OPEN ″file2.dat″FOR OUTPUT AS #2 j=1 DO WHILE NOT EOF(1) INPUT #1,a IF j MOD 2=0 THEN x=a PRINT #2,x END IF j=j+1 LOOP CLOSE END 运行后文件file2.bat中的数据 A) 是file1.dat中各项数据值的一半 B) 是file1.dat中序号为偶数的各个记录 C) 是file1.dat中序号为奇数的各个记录 D) 是file1.dat中各项数据传值的两倍 (47) 有如下程序 OPEN″worker.dat″FOR INPUT AS #1 INPUT #1,value min=value:max=value:sum=value n=1 DO WHILE NOT EOF(1) IF min>value THEN min=value IF maxsum=sum+value INPUT #1,value n=n+1 LOOP CLOSE #1 mean=sum/n PRINT ″min=″;min,″max=;″max PRINT″sum=″;sum,″mean=″;mean END 程序运行中依次从worker.dat中读入的数据为1,2,3,4,5,6,7,8,9和10。运行后的min、max、sum和mean 的值分别是 A) 1、10、55和5.5 B) 10、1、5.5和10 C) 55、10、5.5和1 D) 1、10、5.5和10 (48) 有如下程序 CLS TYPE stu num AS LONG nam AS STRING*10 score AS SINGLE END TYPE DIM rec AS stu OPEN″stud.dat″FOR RANDOM AS #1 LEN=LEN(rec) FOR k=1 TO 10 GET #1,k,rec IF k=5 THEN EXIT FOR NEXT k CLOSE END 假设文件stud.dat中有足够的数据,运行后共读出的记录数和字节数分别是 A) 10和180 B) 10和160 C) 5和90 D) 5和80 (49) 有如下程序 CLS SCREEN 1 FOR j=1 to 3 a=RND*130+100 b=RND*40+80 c=RND*40+40 CIRCLE(a,b),c,j NEXT j END 运行后的输出结果是 A) 3个颜色相同、大小相同的圆 B) 3个颜色相同、大小不同的圆 C) 3个颜色不同、大小相同的圆 D) 3个颜色不同、大小不同的圆 (50) 有如下程序 CLS SCREEN 13 FOR j=1 TO 3 READ x1,y1,x2,y2 SCLECT CASE j CASE 1 LINE(x1,y1)-(x2,y2),j,BF CASE 2 LINE(x1,y1)-(x2,y2),j,B CASE 3 LINE(x1,y1)-(x2,y2),j,BF END SELECT NEXT j DATA 20,20,60,60 DATA 60,60,100,100 DATA 100,100,140,140 运行后的输出结果是: A) 3个矩形框 B) 2个实心矩形和1个矩形框 C) 3个实心矩形 D) 1个实心矩形和2个矩形框 二、填空题(每空2分,共40分) 请将正确答案分别写在答题卡中序号为【1】至【20】的横线上, 答在试卷上不得分. (1) 计算机软件分为系统软件和应用软件,操作系统属于 【1】 。 (2) 在DOS环境下,代表键盘和显示器的设备文件名为 【2】 。 (3) 支持Internet基本服务的协议是 【3】 。 (4) 从Windows环境进入MS-DOS方式后,返回Windows环境的DOS命令为 【4】 。 (5) 某微型机的运算速度为2MIPS,则该微型机每秒执行 【5】 条指令。 (6) 数学式 的QBASIC表达为 【6】 。 (7) 表达式INT(8.6) =FIX(8.1)的值为 【7】 。 (8) 有如下程序 DEF fna(a,b,c)=(a+b*b)*c a=3:b=5;c=7 abc=fna(c,a,b) PRINT abc END 运行后,输出的值是 【8】 。 (9) 四个字符串“ABC”、“abc”、“about”及“abacus”中的最大者为 【9】 。 (10) 下面程序将打印输入串的回文(即字符串正反读相同),并且该回文长度为原来串长 的2倍,例如:输入串为“abc”,则回文为“abccba”。请在【10】、【11】处填入适当内容将程序补充完整。 INPUT a$ x= 【10】 b$=a$ FOR j=x TO 1 STEP –1 b$=a$+ 【11】 NEXT j PRINT b$ END (11) 有如下程序 sum=0 FOR j=1 TO 6 IF(j mod 2=0)THEN sum=sum+j*j ELSE sum=sum+2*j*j END IF NEXT j PRINT sum END 运行后的输出是 【12】 。 (12) 有如下程序 a$=″1234567″ FOR m=1 TO 4 PRINT TAB(5-m); 【13】 NEXT m END 运行后的输出结果如下 4 34 234 1234 但程序不完整,请在【13】处补充使之完整。 (13) 数组a中有100个整数,下标从1到100,下面的程序采用比较交换法把a中所有的数按照升序排列,请在【14】、【15】处填入适当的内容将程序补充完整。 DIM a(100),b(100) FOR i=1 TO 100 a(i)=INT(10000*RND):PRINT a(i); NEXT i PRINT FOR i=1 TO 99 FOR j= 【14】 IF a(i)>a(j) THEN SWAP 【15】 NEXT j NEXT i PRINT ″data after sorting:″ FOR i=1 TO 100 PRINT a(i); NEXT i END (14) 下面函数计算两个非负整数a与b的整除的商,并约定除数为0时商为零。请在【16】、【17】、【18】处填入适当内容将程序补充完整。 FUNCTION division(a,b) IF b=0 THEN tmp= 【16】 ELSE IF atmp=0 ELSE tmp=1+division( 【17】 ,b) ENDIF division= 【18】 END FUNCTION (15) 下面程序的功能是产生100个1到10(含1和10)之间的随机整数,统计其中数 k(1<=k<=10)的出现次数并记入数组元素a(k),请在【19】及【20】处把程序补充完整。 DIM a(10) FOR j=1 TO 100 b= 【19】 【20】 NEXT j FOR k=1 TO 10 PRINT “a(”;k; “)=”;a(k) NEXT k END 2002年9月全国计算机等级考试二级QBASIC试卷含答案 一、选择题(⑴-(40)题每题1分,(41)-(50)题每题2分,其60分) (1) C (2)A (3)B (4)B (5) C (6) A (7) D (8) D (9) D (10) D (11) C (12) C (13) B (14) D (15) C (16) D (17) C (18) C (19) B (20) C (21) D (22) B (23) D (24) D (25) A (26) A (27) A (28) C (29) A (30) B (31) B (32) A (33) A (34) D (35) B (36) C (37) D (38) C (39) A (40) A (41) A (42) B (43) B (44) C (45) D (46) B (47) A (48) C (49) D (50) B 二、填空题答案(每空2分,共40分) (1) 【1】系统软件 (2) 【2】CON 或 CON: (3) 【3】TCP/IP 或 传输控制协议/网际协议 (4) 【4】EXIT (5) 【5】二百万 或 两百万 或 2百万 或 200万 或 2000000 或 2,000,000 (6) 【6】ABS(a+2*COS(w-x)+SQR(x-y)) (7) 【7】-1 (8) 【8】80 (9) 【9】"about" 或 about (10) 【10】LEN(a$) 【11】MID$(a$,j,1) (11) 【12】126 (12) 【13】MID$(a$,5-m,m) (13) 【14】i+1 TO 100 【15】a(i),a(j) 或 a(j),a(i) (14) 【16】0 【17】a-b 【18】tmp (15) 【19】1+INT(10*RND) 或 INT(10*RND)+1 或 INT(RND*10+)【20】a(b)=a(b)+1
|