(32) 有如下程序
a=1
DO WHILE b<15
SWAP a,b
b=a+b
LOOP
PRINT b
END
运行后输出的结果是
A) 8 B) 13 C) 21 D) 34
(33) 有如下程序
s$="ABCXYZ": t$="123456"
FOR j=1 TO 5 STEP 2
PRINT MID$(s$,j,1)+MID$(t$,(j+1)/2,1);
NEXT j
PRINT
END
运行时输出的结果是
A)ACY246 B)A2B4C6 C)ABC123 D)A1C2Y3
(34)有如下程序
INPUT "Enter a value of a:";a
SELECT CASE a
CASE IS >2
b=a+1
CASE IS>3
b=a+2
CASE IS<5
b=a+3
CASE ELSE
b=a+4
END SELECT
PRINT a;b
END
运行时从键盘输入4 ,输出的结果是
A)4 4 B)4 5 C)4 6 D)4 7
(35)有如下程序,
a$="apple"
m$=MID$(a$,5,1)
FOR j=1 TO 4
READ b$
e=INSTR(b$,m$)
s=s+e
NEXT j
PRINT s
DATA pear,orange,peach,pineapple
END
运行时输出的结果是
A)4 B)8 C)10 D)14
(36) 有如下程序
FOR j=1 TO 30
x=2*j-1
IF x MOD 3=0 OR x MOD 7=0 THEN s=s+1
NEXT j
PRINT "s=";s
END
运行后输出s的值是
A)1 B)13 C)14 D)29
(37)有如下程序,
sum=0
FOR k=1 TO 10
IF k<=5 THEN
sum=sum-k
ELSE
sum=sum+k
END IF
NEXT k
PRINT sum
END
运行时输出的结果是
A)0 B)5 C)25 D)55
(38)有如下程序,
a$="type":b$="mismatch"
PRINT LCASE$(a$)+" "+UCASE$(b$)
END
运行时输出的结果是
A)type mismatch B)Type Mismatch
C)type MISMATCH D)TYPE mismatch
(39) 有如下程序
j$="":n=1
DO WHILE n<7
j$=j$+CHR$(64+n)
n=n+1
LOOP
PRINT j$;n
END
运行时输出的结果是
A)abcdef 6 B)abcdefg 7 C)ABCDEF 7 D)ABCDEFG 7
(40) 有如下程序
FOR j=1 TO 4
GOSUB s:
m=m+1/n
NEXT j
PRINT m;n
END
s:n=j*(j+1)
RETURN
运行后输出的结果是
A).8 20 B).75 12 C)1.8 20 D)1.75 12
(41) 有如下程序
DIM a$(5)
FOR j=0 TO 4
READ a$(j)
NEXT j
PRINT a$(1)+a$(2)+a$(3)
DATA "1","2", "3","4","5"
END
运行后输出的是
A)123 B)234 C)1 2 3 D)2 3 4
(42)有如下程序
j=2
FOR k=6 TO 2 STEP -1
READ a(k)
j=j+1
NEXT k
DATA 9,7,5,3,1
DO WHILE j>2
PRINT a(j);
j=j-1
LOOP
END
运行时输出的结果是
A)1 3 5 7 9 B)0 9 7 5 3
C)0 1 3 5 7 D)9 7 5 3 1
(43)有如下程序
DIM a(3,3) AS INTEGER
FOR m=1 TO 3
FOR n=1 TO 3
a(m-1,n-1)=m+n+1
NEXT n
NEXT m
FOR m=0 TO 2
FOR n=0 TO 2
PRINT a(n,m);
NEXT n
PRINT
NEXT m
END
运行时输出的结果是
A)0 1 2 B)1 2 3 C)1 3 5 D)2 4 6
1 2 3 2 3 4 3 5 7 4 6 8
2 3 4 3 4 5 5 7 9 6 8 10
(44)有如下程序
n=3
FOR K=3 TO 1 STEP -1
x$=STRING$(k,"!")
PRINT n; x$;
n=n-1
NEXT K
END
运行时输出的结果是
A)3!!!2!!1! B)1!2!!3!!! C)3!!2! 1 D)2!!!1!!0!
(45) 有如下程序
DECLARE SUB add(x,y)
x=1:y=1
CALL add((x),(y))
PRINT "x=";x;",y=";y
END
SUB add(x,y)
x=x+y
PRINT "x=";x;",y=";y
END SUB
运行后的输出结果是
A)x=1,y=1 B)x=2,y=1 C)x=1,y=1 D)x=2,y=1
x=2,y=2 x=1,y=1 x=1,y=1 x=2,Y=1
(46) 有如下程序
s=0
FOR m=1 TO 3
IF m<=1 THEN
s=s+1
ELSEIF m<=2 THEN
s=s+2
ELSEIF M<=3 THEN
s=s+3
ELSE
s=s+4
END IF
PRINT s;
sum =sum+m
NEXT m
PRINT sum
END
运行时输出的结果是
A) 1 2 3 6 B) 1 3 6 6 C) 3 3 3 9 D) 6 6 6 6
(47) 在文本模式下,把光标移到第x行的第y个字符所用的语句是
A) LOCATE x,y B) PRESET x,y,5
C) PSET(x,y) D) POSITION x,y
(48) 有以下程序
CLS
SCREEN 13
LINE(20,20)-(120,120),5,BF
END
执行的结果,屏幕上显示
A) 一条直线 B) 一个正方形线框
C) 一个填满某种颜色的正方形块 D) 没有显示
(49) 有如下程序
CLS
SCREEN 1,0
PSET (100,100),1
DRAW "u30;r30;g30"
END
运行后屏幕上显示的是
A) 一个空心矩形 B) 一条折线
C) 一个空心三角形 D) 一个填满某种颜色的三角形块
(50)有如下程序
m$="123"
n$="456"
k$=LCASE$(m$)
j$=UCASE$(n$)
PRINT ASC(k$),ASC(j$)
END
运行时输出的结果是
A) 123 456 B) !@# $%^ C) 49 52 D) 33 36
二、填空题
请将每一个空的正确答案写在答题卡【1】至【20】序号的横线上, 答在试卷上不得分.
(1) 为了要将当前盘目录中的可执行程序ABC.EXE的输出结果存放到当前盘当前目录中的文件OUT.TXT中,则应使用的DOS命令为【1】 。
(2) 计算机网络分为广域网和局域网,因特网属于【2】 。
(3) 要想在当前目录下方便地执行C盘\UCDOS目录中的程序,就应该先执行预设搜索路径的命令,该DOS命令为【3】 。
(4) 要查看当前目录中扩展名为.DAT的所有文件目录,应该使用的DOS 命令为【4】 。
(5) 在Windows环境下,当进行复制操作时,其复制的内容将存放在【5】中
(6) 数学式|3ycos(w+p)|的QBASIC表达式为【6】 。
(7) 表达式INT(1.6)=FIX(1.6)的值为【7】 。
(8) 有如下程序
a$="al":b$="b2"
c=VAL(a$)+VAL(b$)
d=VAL(a$+b$)
PRINT c+d
END
运行后,输出的值是【8】 。
(9) 四个字符串"XY"、"XYZ"、"ab"及"abc"中的最大者为【9】 。
(10) 以下程序的功能是将字符串"abcde"转换为字符串"edcba"并打印出来。请在【10】 处将程序补充完整.
DECLARE FUNCTION rev$(a$)
old$="abcde"
PRINT old$
PRINT rev$(old$)
END
FUNCTION rev$(new$)
b$=MID$(new$,1,1)
IF b$="" THEN
rev$=""
ELSE
rev$=rev$【10】+b$
END IF
END FUNCTION
(11)有如下程序
term=1
FOR j=1 TO 5
term=term*j+term
NEXT j
PRINT term
END
运行后的输出是【11】 。
(12) 数组a中有100个小于10000的整数,下标从1到100。下面的程序采用插入排序算 法把a中所有的数按照升序存入数组b。请在【12】 、【13】 、【14】处填入适当内容将程序补充完整。
OPTION BASE 1
DIM a(100),b(100)
FOR i=1 TO 100
a(i)=INT(10000*RND):PRINT a(i);
NEXT i
PRINT
FOR i=【12】
k=1
FOR j=【13】
IF a(i)>a(j) THEN k=k+1
NEXT j
【14】
NEXT i
FOR i=1 TO 100
PRINT b(i);
NEXT i
PRINT
END
(13) 有如下程序
DECLARE SUB ab(x,y)
a=90:b=36
CALL ab(a,b)
END
SUB ab(x,y)
IF y=0 THEN
PRINT x
ELSE
CALL ab(y,x MOD y)
END IF
END SUB
运行后输出的值是【15】 。
(14) 有如下程序
a$="1234567"
FOR m=1 TO 4
PRINT TAB(5-m); 【16】
NEXT m
END
运行后的输出结果如下
4
345
23456
1234567
但程序不完整,请在【16】处补充使之完整。
(15) 有如下程序,计算从1到10的平方和并输出结果,
sum=【17】
FOR j=1 TO 10
sum=【18】
NEXT j
PRINT sum
END
请在【17】, 【18】处补充使程序完整。
(16) 下面程序的功能是产生100个1到10(含1和10)之间的整数,并把数k(1≤k≤10)的 出现次数记入数组元素a(k),请在【19】及【20】处把程序补充完整。
DIM a(10)
FOR j=1 TO 100
k=INT(【19】*RND)+1
a(k)= 【20】
NEXT j
FOR j=1 TO 10
PRINT a(j);
NEXT j
END
参考答案及评分标准
一、选择题(⑴-(40)题每题1分,(41)-(50)题每题2分,其60分)
(1) D (2) B (3) A (4) A (5) B
(6) C (7) B (8) B (9) C (10) C
(11) D (12) D (13) C (14) A (15) B
(16) B (17) D (18) C (19) B (20) C
(21) C (22) A (23) A (24) D (25) A
(26) D (27) B (28) D (29) C (30) A
(31) C (32) C (33) D (34) B (35) D
(36) B (37) C (38) C (39) C (40) A
(41) B (42) B (43) B (44) A (45) B
(46) B (47) A (48) C (49) C (50) C
二、填空题答案(每空2分,共40分)
(1) 【1】ABC >OUT.TXT 或者 ABC.EXE>OUT.TXT
(2) 【2】广域网
(3) 【3】PATH C:\UCDOS 或其它等效命令
(4) 【4】DIR *.DAT 或 DIR *.DAT/P 或 DIR *.DAT/W 或带其它参数也可
(5) 【5】剪贴板
(6) 【6】ABS(3*y*COS(w+p))
(7) 【7】-1
(8) 【8】0
(9) 【9】"abc"
(10) 【10】MID$(new$,2)
(11) 【11】720
(12) 【10】1 TO 100
【13】1 TO 100
【14】b(k)=a(i)
(13) 【15】18
(14) 【16】MID$(a$,5-m,2*m-1)
(15) 【17】0
【18】sum+j*j或j*j+sum或sum+j^2 或j^2+sum
(16) 【19】10
【20】a(k)+1