QBASIC语言程序设计
一、选择题(3*30=90)
1、1MB等于( )
A)1000字节B)1024字节
C)1000×1000字节D)1024×1024字节
2、在下列运算符中,优先级最高的是( )
A)OR B)>= C)AND D)*
3、能将高级语言编写的源程序转换成目标程序的是( )
A)链接程序 B)解释程序
C)编译程序 D)编辑程序
4、在QBASIC集成开发环境中调试程序时,键盘上的F8键是用来( )
A)设置循环步长 B)单步执行
C)过程单步执行 D)重新执行
5、进入QBASIC操作环境后,屏幕上显示的两个窗口是( )
A) 程序窗口与运行窗口
B)程序窗口与子程序窗口
C)命令窗口与运行窗口
D)程序窗口与命令窗口
6、在下列4个选项中,可作为QBASIC合法变量名的是( )
A)x1/y B)lxy C)x1y D)x1+y
7、值666&的数据类型为( )
A)整型B)长整型
C)单精度实型 D)双精度实型
8、在语句IFx=3+yTHENPRINTx中,表达式x=3+y是( )
A)赋值表达式 B)关系表达式
C)算术表达式 D)逻辑表达式
9、在QBASIC中,表达式5^2\3MOD4的值是( )A)1 B)-1 C)3 D)0
10、打印语句PRINT 1+2;“=”;1+2执行后,输出的结果是( )
A)1+2“=”3 B)3=3
C)3;=3 D)1+2=3
11、已知x=2,y=9,z=4,逻辑表达式x>yORz>xANDx<yANDNOTz>y的值是( )
A)TRUEB)-1 C)0D)FALSE
12、定义一个3行4列的二维数组,正确的语句是( )
A)DIM a(1TO3,1TO4)B)DIM a(3,4)
C)DIM a(3TO4) D)DIM a(1TO4)
13、有如下程序,运行后输出的结果是( )
DIMa(10)
FORj=20 TO 0 STEP–5
READa(1)
NEXTj
PRINTa(1)+a(2)+a(3)
DATA1,2,3,4,5,6,7,8,9,10
END
A)5 B)6 C)7 D)10
14、有如下程序,运行后输出的结果是( )
x=0
DO WHILEx<20
x=x+1
x=x*x
LOOP
PRINT x
END
A)16 B)19 C)20 D)25
15、有如下程序
a=-4.5:s=0
b=SGN(a)+2*ABS(a)
c=(INT(a)+14)/2
FOR i=a TO b STEP c
s=s+i
NEXTi
PRINT“s=”;s
END
运行后,输出的结果是( )
A)s=1 B)s=4.5 C)s=0 D)s=9
16、有如下程序段,运行后输出的结果是( )
CONST s$=“STRING”,c$=“WANG”
c#=1
PRINTc#,c$,s$
A)1WANGSTRING B)11STRING
C)错误信息 D)WANGWANGSTRING
17、有如下程序
a$=“ABCDEFGHIJK”
PRINT RIGHT$(a$,2)+STRING$(4,a$)
END
运行后,输出的结果是( )
A)JKABCD
B)JKAAAA
C)ABHIJK
D)ABEFGH
18、有如下程序
DIM a(5) AS STRING*5
FOR i=1 TO 5
READ a(i)
sum=sum+LEN(a(i))
NEXT i
PRINT sum
DATA1,zhangsan,m,90,70
END
运行后,输出的结果是( )
A)14 B)25 C)错误信息D)1zhangsam9070
19、在下列单行函数的定义中,正确的是( )
A)DEF fna(x,y)=3*x+2 B)DEF fn(x,y)=3*x+2*y
C)DEF ff(x,y)=3*x+2
D)DEF fna(x,y)=3*x+2*y ENDDEF
20、下列程序运行后,输出的结果是( )
DIM m(10)
FOR k=1 TO 10
m(k)=11-k
NEXT K
x=6
PRINT m(2+m(x))
END
A)2 B)3 C)4 D)5
21、如有下程序
FOR k=1 TO 3
s=0
IF k<1 THEN
x=1
ELSEIF k<2 THEN
x=2
ELSEIF k<3 THEN
x=3
ELSE
x=4
ENDIF
PRINT x;
s=s+x
NEXT k
PRINT s
END
运行后,输出的结果是( )
A)2349 B)2344 C)1233 D)33410
22、有如下程序
a$=“123.0”
b$=“456.0”
c=VAL(a$+b$)
PRINTc
END
运行后,输出的结果是( )
A)579 B)123.0456.0 C)123.0456 D)123
23、有如下程序
n=5
DIM a(n)
a(1)=1:a(2)=1
FOR M=1 TO n
a(m+2)=a(m)+a(m+1)
NEXT m
FOR m=1 TO n
PRINT a(m);
NEXT m
END
运行后,输出的结果是( )
A)11235 B)11200
C)下标越界错误信息 D)12222
24、如有下程序
a=0:b=1
DO WHILE b<10
SWAPa,b
b=a+b
LOOP
PRINT b
END
运行后,输出的结果是( )
A)8 B)13 C)21 D)34
25、有如下程序
i=0:n=1
DO
n=(2*n+3) MOD 7
i=i+1
LOOP UNTIL n=1
PRINT i
END
运行后,输出的结果是( )
A)1 B)3 C)5 D)7
26、有如下程序
FOR j=1 TO 3
FOR k=1 TO 3
a(j,k)=(j-1)*3+k
NEXT k
NEXT j
FOR j=2 TO 3
FOR k=1 TO 2
PRINT a(k,j);
NEXT k
PRINT
NEXT j
END
运行后,输出的结果是
A)25 B)23 C)47 D)45
36 56 58 78
27、有如下程序
b$=“”
FOR j=1 TO 3
READ a$
b$=b$+MID$(a$,j,j)
NEXT j
PRINT b$
DATA BEER,CASE,TANKS
END
运行后,输出的结果是( )
A)BASE B)BANKS C)BAT D)BASNKS
28、对OPEN“workjobs.dat”FORINPUTAS#1语句功能描述正确的是( )
A)为了向顺序文件workjobs.dat写数据而打开该文件
B)为了从顺序文件workjobs.dat读入数据而打开该文件
C)为了向随机文件workjobs.dat写数据而打开该文件
D)为了从随机文件workjobs.dat读入数据而打开该文件
29、有如下程序
DECLARE SUBfactorial(k,s)
sum=0
FOR k=2 TO 4
CALL factorial(k,s)
sum=sum+s
NEXT k
PRINT sum
END
SUB factorial(k,s)
s=1
FOR j=1 TO k
s=s*j
NEXTj
ENDSUB
运行后,输出的结果是( )
A)32 B)120 C)150 D)152
30、有如下程序
s=0
DO
s=4*(s+1)
num=num+1
LOOP UNTIL s>=20
PRINT num,s
END
运行后,输出的结果是( )
A)384 B)320 C)220 D)284
二、编程题(10)
求s=1!+2!+3!+……10!,要求用函数过程求阶乘乘积。