|
全国计算机等级考试二级笔试试卷 基础知识和QBASIC语言程序设计 (考试时间120分钟,满分100分)
=版权所有 软件 下载 学院 版权所有=
一、选择题((1)~(40)题每题1分,(41)~(50)题每题2分,共60分) 下列各题A)、B)、C)、D)四个选项中,只有一个答案是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。 (1)在计算机中,一个字节所包含二进制位的个数是 A)2 B)4 C)8 D)16 (2)在多媒体计算机中,CD-ROM属于 A)存储媒体 B)传输媒体 C)表现媒体 D)表示媒体 (3)在DOS系统中,带有通配符的文件名*.*表示 A)硬盘上的全部文件 B)当前盘当前目录中的全部文件 C)当前盘上的全部文件 D)根目录中的全部文件 (4)十六进制数100转换为十进制数为 A)256 B)512 C)1024 D)64 (5)能将高级语言编写的源程序转换为目标程序的软件是 A)汇编程序 B)编辑程序 C)解释程序 D)编译程序 (6)在Internet中,用于在计算机之间传输文件的协议是 A)TELNET B)BBS C)FTP D)WWW (7)在Windows环境下,资源管理器左窗口中的某文件夹左边标有"+"标记表示 A)该文件夹为空 B)该文件夹中含有子文件夹 C)该文件夹中只包含有可执行文件 D)该文件夹中包含系统文件 (8)在Windows环境下,下列叙述中正确的是 A)在"开始"菜单中可以增加项目,也可以删除项目 B)?quot;开始"菜单中不能增加项目,也不能删除项目 C)在"开始"菜单中可以增加项目,但不能删除项目 D)在"开始"菜单中不能增加项目,但可以删除项目 (9)从Windows环境进入DOS方式后,返回Windows环境的命令为 A)QUIT B)WIN C)EXIT D)ESC (10)下列叙述中正确的是 A)计算机病毒只感染可执行文件 B)计算机病毒只感染文本文件 C)计算机病毒只能通过软件复制的方式进行传播 D)计算机病毒可以通过读写磁盘或网络等方式进行传播 (11)按QBASIC的规定,以下正确的字符型常量是 A)ABCD B)NO(3) C)"SQR(2) " D)N$ (12)下面表达式中,运算结果与其它三个不同的是 A)EXP(-3.5) B)INT(-3.5)+0.5 C)-ABS(-3.5) D)FIX(-3.5)-0.5 (13) 在 QBASIC 语言中,打开一个已有的文件,应使用菜单File下的命令 A)New B)Open C)Save D)Exit (14)下面各组语句中,非执行语句有 A)LET,INPUT B)PRINT,END C)DIM,READ D)REM,DATA (15)语句PRINT "SGN(-26)= "; SGN(-26)的输出结果是 A)SGN(-26)=26 B)SGN(-26)= -26 C)SGN(-26)=1 D)SGN(-26)= -1 (16)下面四个字符串中,哪个可作为 QBASIC 语言中的变量名 A)fnabc B)abc.def C)gh-kl D)123abc (17)在 QBASIC 语言中,表达式y1+z2=a*SIN(b*x+c)+k是 A)算术表达式 B)关系表达式 C)逻辑表达式 D)错误表达式 (18)当a = 4,b = 7时,语句PRINT a - b= -3输出的结果是 A)-1 B)0 C)-3 D)4 (19)下列程序运行后输出的结果是 FOR j = 1 TO 20 STEP 2 a = a + j MOD 5 NEXT j PRINT a END A)20 B)30 C)40 D)100 (20)下列程序运行后输出的结果是 a = 3: b = -5 c=a: a=b: b=c PRINT b, a END A)-5 3 B)3 3 C)-5 -5 D)3 -5 (21)abc# 表示的变量类型是 A)字符型 B)整型 C)长整型 D)双精度型 (22)下面不正确的语句是 A)READ a,b,c$ B)READ a,b,c$ DATA 1,2,3 DATA 1%,2%,3& C)READ a,b,c$ D)READ a,b,c$ DATA 1+2,2,"3" DATA 1,2,"a=1b=2",3 (23)下列程序运行后输出的结果是 k=1 IF k〈=1 THEN a=2*k IF k〈=2 THEN a=2*k+1 IF k〈=3 THEN a=k PRINT k;a END A) 1 2 B)1 3 C) 1 1 D) 3 1 (24)下列程序运行后输出的结果是 aa$="11.1" : bb$="22.2" : cc$="C" dd=VAL(aa$)+VAL(bb$) ee$=STR$(dd) PRINT cc$+ee$ END A)C 11.1 B)C 33.3 C)C 11.122 D)C 11.1+22.2 (25)下列程序运行后输出的结果是 FOR j=1 TO 10 READ x IF x〈0 THEN a=a+ABS(x) NEXT j PRINT a DATA 1,-2,3,-4,5,-6,7,-8,9,-10 END A)-25 B)25 C)-30 D)30 (26)下列程序运行后输出的结果是 a$="A" : b=12.89 : c$="C" d$=a$+STR$(b)+c$ PRINT LEN(d$) END A)6 B)7 C)8 D)9 (27)以下正确的变量类型说明语句是 A)DIM x AS INT B)DIM a$ AS STRING C)DEFLONG x D)DEFINT a,s-y (28)下列程序运行后输出的结果是 sum=0 FOR j=1 TO 10 IF j=10 THEN EXIT FOR ELSE sum=sum+j END IF NEXT j PRINT sum END A)45 B)55 C)10 D)36 (29)下列程序运行后的输出结果是 DO READ a,b,c a=a-b LOOP UNTIL a=-1 AND c=1 PRINT a; b; c DATA 9,2,3,8,9,1,1,5,1,7,1,1 END A)8 9 1 B)4 1 1 C)-1 9 1 D)9 2 3 (30)下列程序运行后的输出结果是 FOR x=1 TO 2 a=0 FOR y=1 TO x+1 a=a+1 NEXT y PRINT a; NEXT x END A) 1 1 B) 0 0 C) 1 2 D) 2 3 (31)有如下程序 INPUT "Enter a value of a : " ; a SELECT CASE b CASE IS 〉2 b = a+1 CASE IS 〉3 b = a + 2 CASE IS 〈 5 b = b + 3 CASE ELSE b = b + 4 END SELECT PRINT a ; b END 运行时,从键盘输入4,输出的结果是 A) 4 5 B)4 6 C) 4 3 D) 4 4 (32)语句 DIM b(-2 TO4 ,3 TO 7) AS INTEGER 定义的数组元素个数为 A)8 B)24 C)35 D)28 (33)分别对四个字符串赋值: a$= MID$("12345",2,4):b$= SPACE$(3):c$=UCASE$("ChiNa"):d$=STRING$(3,"= ") 其中变量值最小的为: A) a$ B) b$ C) c$ D) d$ (34)下列程序运行后输出的结果是 FOR j = 1 TO 3 FOR k = 1 TO 3 arr(j, k) = (j - 1) * 3 + k NEXT k NEXT j FOR j = 1 TO 3 FOR k = j TO 3 PRINT TAB(k * 3); arr(j, k); NEXT k: PRINT NEXT j END A)1 2 3 B)1 4 7 C)1 D)1 2 3 4 5 6 5 8 4 5 5 6 7 8 9 9 7 8 9 9 (35)程序是计算1*3 +5*7+9*11+13*15+……+97*99,请在【35】处将程序补充完整。 FOR j = 1 TO 99 STEP 4 sum = sum + j * (【35】) NEXT j PRINT "sum="; sum END A)j+1 B)j+2 C)j+3 D)j+4 (36)程序是打印出1000以内的所有素数,并统计出它们的个数。请在【36】处将程序补充完整。 FOR j=2 TO 1000 x = 0: k = 2 DO WHILE k 〈= SQR(j) AND x = 0 IF j MOD k = 0 THEN x = 1 k = k + 1 LOOP IF x = 【36】 THEN y = y + 1: PRINT j; NEXT j PRINT y END A)0 B)1 C)k D)j (37)下列程序运行后输出的结果是【37】 FOR j = 2 TO 15 STEP 3 k = k + j NEXT j PRINT k + j END A)16 B)40 C)55 D)57 (38)下列程序计算sum=1+(1+3)+(1+3+5)+…+(1+3+5+7+…+39),请在【38】处将程序补充完整。 m = 1: sum = 0: t = 0 DO WHILE m 〈= 39 t = t + m sum = sum +【38】 m = m + 2 LOOP PRINT "sum="; sum END A) 1 B)m C) t D) m+2 (39)下列程序运行后输出的结果是 a$="" FOR j=1 TO 3 READ b$ a$=a$+RIGHT$(b$,j) NEXT j PRINT a$ DATA am,set,meter END A)asm B)mtr C) metter D)amsetmeter (40)下列程序运行后输出的结果是 a$ = "AB": b$ = "BC": c$ = "CA" FOR j = 1 TO 2 a$ = b$: b$ = c$: c$ = a$ NEXT j PRINT a$ + b$ + c$ END A)BCCAAB B)CAABBC C)BCCABC D)CABCCA (41)下列程序是从键盘上输入二个数,输出它们的最大公约数,请在【41】处将程序补充完整。 INPUT "X,Y="; x, y DO WHILE x【41】y IF x 〉 y THEN x = x - y ELSE y = y - x LOOP PRINT "H.C.F. -- "; x END A) 〉 B) = C) 〈〉 D) 〈 (42)程序的功能是:从键盘输入一个数,输出这个数的平方根,请在【42】处将程序补充完整。 INPUT "n="; n m = 1: x = 1 DO WHILE ABS(n - x * x) 〉 .001 IF x * x 〉 n THEN x = x【42】: m = m * .1 x = x + m LOOP PRINT x; " is the square root of number "; n; "." END A) +1 B) -1 C) +m D)-m (43)下列程序从键盘输入4后,运行输出的结果是 DECLARE FUNCTION yy (y) INPUT "n="; n ee = yy(yy(n)) PRINT ee END FUNCTION yy (y) IF y 〈 20 THEN y = y + 20 yy = y END FUNCTION A) 16 B)17 C) 36 D)24 (44)有如下程序段 FUNCTION myfun(x) IF x〈=1 THEN tmp=1 ELSE tmp=myfun(x-1)*2 END IF myfun=tmp END FUNCTION 以参数10调用此函数的返回的值为 A)1024 B)512 C) 20 D) 不停止 (45)输入一个字符串,删去第三、第六、第九、…位置上的字符,得到一个新字符串,请在【45】处将程序补充完整。 INPUT "Input a string "; aa$ FOR j = 1 TO LEN(aa$) STEP 【45】 bb$ = MID$(aa$, j, 2) cc$ = cc$ + bb$ NEXT j PRINT "The old string is "; aa$ PRINT "The new string is "; cc$ END A) 2 B) 3 C) 4 D) 5 (46)下列程序运行后输出的结果是 DEFSTR x-z xx = "12": yy = "34" zz = STR$(ASC(xx)) + STR$(ASC(yy)) ww = VAL(zz) PRINT ww END A)120 B)241 C)361 D)4951 (47)下列程序运行后,显示在屏幕上的是 CLS SCREEN 9: COLOR 3 LINE (50, 20)-(500, 300), 4, B LINE (500, 20)-(50, 300), 0, B END A) 一个矩形 B) 二个不同颜色的矩形 C) 无任何显示 D) 显示错误信息 (48)下列程序运行后输出的结果是 WHILE j〈30 j=j*j+1 n=n+1 WEND PRINT n END A)0 B) 5 C) 30 D)4 (49)(50)下列程序的功能是:随机产生100个1到100之间的整数,在其中查找某个数,并输出其所在位置。请在【49】【50】处将程序补充完整。 DECLARE FUNCTION search(a(),n,x) DIM a(100) FOR j=0 TO 99 a(j)=【49】 NEXT j INPUT x k=search(a(),100,x) IF k〈〉-1 THEN PRINT "found "; x; " at first position "; k ELSE PRINT "Not found "; x END IF END FUNCTION search(a(),n,x) j=0 DO WHILE 【50】 j=j+1 LOOP IF j〉=n THEN j=-1 search=j END FUNCTION (49)A) INT(1+RND*100) B) INT(RND*100) C)1+RND*100 D)RND*99+1 (50)A) a(j)=x AND j x AND j C) a(j)〉x ANDj 二、填空题(每空2分,共40分) 请将每空的正确答案写在答题卡【1】~【20】序号的横线上,答在试卷上不得分。 (1)计算机软件分为系统软件与应用软件,UNIX属于 【1】 。 (2)假设在当前盘的当前目录下有两个文件A.TXT和B.TXT,现要将文件B.TXT合并连接到文件A.TXT的后面。若使用TYPE命令,则完整的命令为 【2】 。 (3)Internet的信息服务方式分为基本服务和扩展服务,电子邮件属于 【3】 。 (4)在Windows环境下,利用菜单命令删除固定硬盘上的文件与文件夹,实际上是将需要删除的文件与文件夹移动到 【4】 文件夹中。 (5)在Windows环境下,为了进行"添加/删除程序"操作,首先打开 【5】 ,然后双击其中的相应图标。 (6) 计算 43 MOD (1 - 3 ^ 2) 的值是 【6】 。 (7) 在 A 驱动器磁盘当前目录中有一通讯录文件 a.dat (内容为姓名na$、地址add$),程序功能是为每个记录加上电话号码,请在 【7】 处将程序补充完整。 OPEN "a: a.dat" FOR INPUT AS #1 OPEN "a: b.dat" FOR OUTPUT AS #2 WHILE NOT 【7】 INPUT #1, na$, add$ INPUT "Input the telephone number -- "; tel$ WRITE #2, na$, add$, tel$ WEND CLOSE KILL "a:a.dat" NAME "a:b.dat" AS "a:a.dat" END (8)下列程序运行后输出的结果是 【8】 。 DEF fnabc(x)=x * x + 1 y = fnabc(fnabc(2)) PRINT y END (9)下列程序运行后的输出结果是 【9】 。 DECLARE SUB add (x, y) x = 1: y = 1 CALL add((x), y) PRINT x, y END SUB add (x, y) x = x+y y=2*x END SUB (10)下列程序的功能是画一条正弦曲线,请在【10】处将程序补充完整。 DEF fncsin (z) = 180 * SIN(z) + 200 SCREEN 12 LINE (0, 200)-(628, 200), 13 FOR j = 1 TO 628 【10】 (j, fncsin(j / 50)), 13 NEXT END (11)下列程序运行后输出的结果是 【11】 。 k = 5 FOR j = 3 TO 7 STEP -1 k = k + j NEXT j PRINT k + j END=版权所有 软件 下载 学院 版权所有= (12)下列程序运行后输出是: 1 2 3 4 8 7 6 5 9 10 11 12 16 15 14 13 请在【12】处将程序补充完整。 FOR a = 1 TO 4 FOR b = 1 TO 4 IF a / 2 = a 2 THEN PRINT TAB(4 * b); 4 * a + 1 - b; ELSE PRINT TAB(4 * b); 4 * ( 【12】 ) + b; END IF NEXT PRINT NEXT END (13)从键盘上输入一个数n,插入到已经从小到大排列的有序数组中,使该数组仍为有序。请在 【13】 处将程序补充完整。 DIM aa(13) FOR j = 1 TO 12: READ aa(j): PRINT aa(j); : NEXT j: PRINT INPUT "n=";aa(13) j = 12 DO WHILE aa(j) 〉aa(j+1) AND j〉 0 【13】 : j = j - 1 LOOP FOR k = 1 TO 13: PRINT aa(k); : NEXT: PRINT DATA 8,25,46,61,89,96,113,132,147,199,201,267 END (14)下列程序的功能是:随机生成10个整数,分别计算其中偶数的和及奇数的和。请在【14】、【15】处将程序补充完整(程序中evensum代表偶数之和,oddsum代表奇数之和)。 evensum=0:oddsum=0 FOR j=1 TO 10 x=INT(RND*100) IF x MOD 【14】 THEN 【15】 ELSE oddsum=oddsum+x END IF NEXT j PRINT evensum, oddsum END (15)从键盘上读入三个整数,判断是否为勾股数(即其中一个数的平方等于另外两个数平方的和)。 INPUT a,b,c IF a〉c THEN SWAP a,c IF b〉c THEN 【16】 IF 【17】 THEN PRINT "YES" ELSE PRINT "NO" END (16)下列程序的功能是:输入若干个学生成绩(成绩为负数时结束),统计平均成绩,并将低于平均成绩的成绩输出。 DIM a(20) n=0 DO INPUT a(n) n=n+1 LOOP WHILE 【18】 n=n-1: sum=0 FOR j=0 TO n-1 sum=sum+a(j) NEXT j avg=sum/ 【19】 FOR j=0 TO n-1 IF 【20】 THEN PRINT a(j) NEXT END
答案: 一、选择题 (1) C (2) A (3) B (4) A (5) D (6) C (7) B (8) A (9) C (10)D (11)C (12)A (13)B (14)D (15)D (16)B (17)B (18)A (19)A (20)D (21)D (22)C (23)C (24)B (25)D (26)C (27)D (28)A (29)C (30)D (31)C (32)C (33)B (34)D (35)B (36)A (37)D (38)C (39)C (40)D (41)C (42)D (43)D (44)B (45)B (46)D (47)C (48)B (49)A (50)B 二、填空题 (1) 【1】 系统软件 (2) 【2】 TYPE B.TXT 〉〉 A.TXT (英文字母大小写均可) (3) 【3】 基本服务 (4) 【4】 回收站 (或 "回收站") (5) 【5】 控制面板 (或 控制面板窗口) (6) 【6】 7 (7) 【7】 EOF(1) (8) 【8】 26 (9) 【9】 1 4 (10) 【10】 PSET (11) 【11】 8 (12) 【12】 a-1 (13) 【13】 SWAP aa(j), aa(j+1) (或其它等价语句) (14) 【14】 2=0 【15】 evensum=evensum+x (15) 【16】 SWAP b,c (或其它等价语句) 【17】 a*a+b*b=c*c或a^2+b^2=c^2 (16) 【18】 a(n-1)〉=0 【19】 n 【20】 a(j)〈 avg
|