2001年9月二级试卷

2005-11-19 22:10:57   Count:
 
     2001年9月全国计算机等级考试二级笔试试卷FoxBase语言 

  
一、选择题((1)-(40)题每题1分,(41)-(50)题每题2分,共60分) 下列各题A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。 

(l) 在计算机系统中,一个字节的二进制位数为 
A) 16   B) 8   C) 4   D) 由 CPU的型号决定 

(2) 存储 16×16点阵的一个汉字信息,需要的字节数为 
A) 32   B) 64   C) 128   D) 256 

(3) 英文大写字母B的ASCII码为42H,英文小写字母b的ASCII码为 
A) 43H B) 84H C) 74H D) 62H 

(4) 下列计算机语言中,CPU能直接识别的是 
A) 自然语言 B) 高级语言 C) 汇编语言 D)机器语言 

(5) 在计算机领域中,所谓“裸机”是指 
A) 单片机                   B) 单板机   
C) 不安装任何软件的计算机   D) 只安装操作系统的计算机 

(6) 下列带有通配符的文件名中,能代表文件ABCDEF.DAT的是 
A) A*.*    B) ?F.*    C) *.?   D) AB?.* 

(7) 下列DOS命令中,执行时不会发生错误的是 
A) TYPE *.TXT           B) DIR *.TXT 
C) REN A.TXT A:b.TXT    D) COPY *.TXT>CON 

(8) 设当前盘为C盘,C盘的当前目录为\A\B\C。下列DOS 命令中
能正确执行的是 
A) MD \ B) MD A:\ C) MD \A\B D) CD C: 

(9) 为了将C:USER中的文件FILE.TXT同名复制到A盘根目录下,
下列DOS命令中能正确执行的是 
A) TYPE C:\USER\FILE.TXT > A:\FILE.TXT 
B) TYPE C:\USER\FILE.TXT A:\FILE.TXT 
C) COPY C:\USER\FILE.TXT > A:\FILE.TXT 
D) COPY C:\USER\FILE.TXT 

(10) 在Windows下,当一个应用程序窗口被最小化后,该应用
程序 
A) 终止运行 
B) 暂停运行
C) 继续在后台运行 
D) 继续在前台运行 

(11) 在Windows环境下,下列操作中与剪贴板无关的是 
A) 剪切 B) 复制 C) 粘贴 D) 删除 

(12) 在Windows环境下,实现窗口移动的操作是 
A) 用鼠标拖动窗口中的标题栏 
B) 用鼠标拖动窗口中的控制按钮 
C) 用鼠标拖动窗口中的边框   
D) 用鼠标拖动窗口中的任何部位 

(13) 一台计算机连入计算机网络后,该计算机 
A) 运行速度会加快   B) 可以共享网络中的资源 
C) 内存容量变大     D) 运行精度会提高 

(14) 不能作为计算机网络中传输介质的是 
A) 微波    B) 光纤    C) 光盘    D) 双绞线 

(15) 下列各项中,不属于多媒体硬件的是 
A) 声卡   B) 光盘驱动器   C) 显示器    D) 多媒体制作工具 
(16) FoxBASE是关系数据库管理系统,在FoxBASE中用以表示关
系的是 
A) 数据库字段 B) 数据库记录 C) .idx文件 D) .dbf文件 

(17) FoxBASE支持的三种基本关系运算是 
A) 选择、投影、连接   B) 索引、排序、检索 
C) 删除、插入、修改   D) 检索、更新、汇总 

(18) 在FoxBASE中,命令文件的扩展名是 
A) IDX    B) PRG    C) FMT    D) DBF 

(19) 在FoxBASE环境下,可以同时打开的数据库文件的最多个数是 
A) 2    B) 10    C) 16    D) 256 

(20) 在FoxBASE中,仅关闭当前工作区数据库文件的命令是 
A) CLOSE B) USE C) CLEAR D) CLOSE DATABASE 

(21) 在FoxBASE的库文件中,字段的数据类型可以是字符型、数字型、逻辑型、日期型和 
A) 整数型 B) 浮点数型 C) 备注型 D)时间型 

(22) 要在当前库文件的当前记录之后插入一条新记录,应该使用命令 
A) APPEND   B) EDIT   C) CHANGE   D)INSERT 

(23) MODIFY STRUCTURE命令的功能是 
A) 修改字段的类型   B) 增加新的字段 
C) 修改字段的名称   D) 修改库文件的结构 

(24) DELETE命令的作用是 
A) 为当前记录做删除标记  
B) 直接物理删除当前记录 
C) 删除当前数据库文件的所有记录 
D) 在提问确认后物理删除当前记录 

(25) 有如下命令序列: x=2 ?x=x+1 执行以上命令后,屏幕上所显示的是 
A)3    B) 命令语法错    C) .T.    D) .F. 

(26) 若未打开索引文件,APPEND命令的功能等同于命令序列 
A) GOTO EOF      B) GOTO BOTTOM INSERT INSERT BEFOR 
C) GOTO BOTTOM   D) GOTO BOTTOM INSERT AFTER INSERT 

(27) 某数值型字段的宽度为5,小数位数为1,则该字段所能存放的最小数值为 
A) 0    B) –99.9    C) -999.9    D) -9999.9 

(28) 有如下命令序列:s=“2001年下半年计算机等级考试” 
?LEFT(s,6)+RIGHT(s,4) 执行以上命令后,屏幕上所显示的是 
A) 2001年下半年等级考试 B) 2001年下等级考试 
C) 2001年考试           D) 2001年等级考试 

(29) 设有日期类型字段rq,日期格式为mm/dd/yyyy。在以下四组
命令当中,各条命令功能完全等效的是 
A) LIST FOR SUBSTR(DTOC(rq,4,4)=“2001” LIST FOR 
YEAR(rq)=2001 LIST FOR “2001”$DTOC(rq) 
B) LIST FOR SUBSTR(DTOC(rq,7,4)=“2001” LIST FOR 
YEAR(rq)=2001 LIST FOR “2001”$DTOC(rq) 
C) LIST FOR SUBSTR(DTOC(rq,1,4)=“2001” LIST FOR 
YEAR(rq)=“2001” LIST FOR “2001”$DTOC(rq) 
D) LIST FOR SUBSTR(DTOC(rq,7,4)=“2001” LIST FOR
YEAR(rq)=2001 LIST FOR “2001”$rq 

(30) 当前数据库文件的出生日期字段为日期型,另有一个数值型
的年龄字段,现要根据出生日期按年计算年龄,并写入年龄字段,
应该使用命令 
A) REPLACE ALL年龄 WITH YEAR(DATE())-YEAR(出生日期) 
B) REPLACE ALL年龄 WITH DATE()-出生日期 
C) REPLACE ALL年龄 WITH DTOC(DATE())-DTOC(出生日期) 
D) REPLACE ALL年龄 WITH VAL(DTOC(DATE()))-VAL(DTOC(出生
日期)) 

(31) 设当前数据库有一个XingMing字段,另有一个内存变量名也
为XingMing,当执行命令? XingMing时输出的结果一定是 
A) 内存变量XingMing的值   B) 数据库字段XingMing的值 
C) 不确定                 D) 指出二义性的错误 

(32 ) 有如下命令序列:GO 50 SKIP ?RECNO()设当前数
据库文件有50条记录,执行以上命令序列后输出的结果是 
A) 50    B) 51    C) EOF    D) -1 

(33) 有如下程序段 SET TALK OFF CLEAR @ 2,20 SAY 
“请选择菜单” @ 4,15 PROMPT “1.修改” @ 5,15 PROMPT 
“2.查询” @ 6,15 PROMPT “3.汇总” @ 7,15 PROMPT “0.退出” 
MENU TO sel 执行以上程序段后将在屏幕上显示一个菜单,
如果用户移动光带选择了“0.退出”项,则内存变量sel的值是 
A) 数值是4    B) 数值0    C) 字符4    D) 字符0 

(34) 在下述命令中,使函数EOF()的值一定为.T.的命令是 
A) REPLACE 基本工资 WITH 基本工资+300 
B) DISPLAY FOR 基本工资 > 1000 
C)LIST WHILE 基本工资 > 1000 
D) LIST NEXT 10 FOR 基本工资 > 1000 

(35) ACCEPT命令可以用于输入 
A) 字符型数据               
B) 字符和数值型数据 
C) 字符、数值和逻辑型数据   
D) 字符、数值、逻辑和日期型数据 

(36) 要计算职称为工程师系列(包括助理工程师、工程师和高
级工程师)的所有技术人员的工资总和,应该使用命令 
A) SUM 工资 FOR “工程师”$ 职称 
B) SUM 工资 FOR 职称>=“助理工程师” 
C) SUM 工资 FOR 职称=“助理工程师”.AND. 职称=“工程师”.AND.职称=“高级工程师” 
D) SUM 工资 FOR 职称=“助理工程师”.OR.“工程师”.OR.
“高级工程师” 

(37) 在使用@命令进行格式化输入时,为了保证只输入字母,
应该在PICTURE短语中使用模式符 
A) A    B) X    C) N    D) Z 

(38) 设变量y=2.7184,在执行命令 ?ROUND(y,3) 后显示的结
果是 
A) 2.710    B) 2.720    C) 2.719    D) 2.718 

(39) 为了将格式化数据输出到打印机上,在使用@命令进行输出
前,应该使用命令 
A) SET PRINT ON           B) SET DEVICE ON 
C) SET DEVICE TO PRINT    D) SET PRINT TO PRN 

(40) SCATTER命令用于将当前记录的字段值送到一个数组中,与
该命令相对应,利用数组中的值更新当前记录字段值的命令是 

A) REPLACE    B) UPDATE    C) CHANGE    D) GATHER 

(41)~(50)题的程序或操作均基于如下的学生.dbf文件,其中
学号、姓名和课程名字段为字符型,成绩字段为数值型:学号 
姓名 课程名 成绩 9921101 张瑞雪 Foxbase 90 
9921102 黄丽 Foxbase 88 9921103 林军 PASCAL语言程序
设计 66 9921104 崔健 C语言程序设计 46 9921101 
张瑞雪 PASCAL语言程序设计 78 9921102 黄丽 PASCAL语
言程序设计 34 9921103 林军 C语言程序设计 95 
9921101 张瑞雪 C语言程序设计 74 9921102 黄丽 BASIC语言
程序设计 69 

(41) 有如下命令序列: USE 学生 INDEX ON 成绩 TO temp 
GO TOP ?RECNO() 执行以上命令后,屏幕上显示的记录号是 
A) 1   B) 6   C) 7    D) 9 

(42) 执行LOCATE FOR 成绩 <60 命令之后,要将记录定位在
下一个成绩小于60分的记录上,应使用命令 
A) LOCATE WHILE 成绩<60     B) SKIP 
C) LOCATE FOR 成绩<60       D) CONTINUE 

(43) 有如下命令序列:USE 学生 GO 4 LIST WHILE 课程名=
“C语言程序设计”执行以上命令的显示结果是 
A) 所有课程名为“C语言程序设计”的记录 
B) 从第4条记录开始所有课程名为“C语言程序设计”的记录 
C) 从第5条记录开始所有课程名为“C语言程序设计”的记录 
D) 只有第4条记录 

(44) 有如下命令序列:USE 学生 INDEX ON 课程名 TO KC 
TOTAL ON 课程名TO temp 执行以上命令后,temp数据库文件的
第2条记录是 
A) 9921103 林军PACAL语言程序设计 66 
B) 9921104 崔健C语言程序设计 46 
C) 9921104 崔健C语言程序设计 215 
D) 9921103 林军PACAL语言程序设计 178  

(45) 有如下命令序列:USE 学生 INDEX ON 姓名 TO TEMP 
SET EXACT ON FIND 崔 ?EOF() 执行以上命令序列的输出结果
是 
A) 4    B) .T.    C) .F.    D) 0 

(46) 设学生库文件已经打开,执行以下命令 SUM TO s FOR “P”
$课程名.AND.“程序设计”$课程名 s的值是 
A) 215   B) 178   C) 640   D) 393 

(47) 有如下程序段:USE 学生 STORE 0 TO x,y,z DO WHILE .
NOT. EOF() DO CASE CASE RIGHT(学号,1)=‘1' 
x=x+成绩 CASE RIGHT(学号,1)=‘2' y=y+成绩 CASE RIGHT
(学号,1)=‘3' z=z+成绩 ENDCASE SKIP ENDDO USE ?x 执行以
上程序后,显示结果是 
A) 191   B) 161   C) 46   D) 242 

(48) 有如下命令序列:USE 学生 DELETE FOR “Foxbase”$
课程名 SET DELETED ON AVERAGE 成绩 TO aa ?aa 执行以上命
令的输出结果是 
A) 71   B) 70   C) 66   D) 89 

(49) 有如下命令序列:USE 学生 INDEX ON 课程名 TO temp 
FIND Foxbase DISPLAY 执行以上命令后,显示的记录是 
A) 9921101 张瑞雪C语言程序设计74 
B) 9921101 张瑞雪 Foxbase 90 
C) 9921102 黄丽 Foxbase 88 
D) 9921104 崔健C语言程序设计46 

(50) 有如下命令序列:SET SAFETY OF USE 学生 RECALL ALL 
DELETE FOR =“9921102”.OR. 成绩<60 PACK 执行上面命令后,
学生文件中的记录数是 
A)4     B)5    C)6    D) 7 

二、填空题(每空2分,共40分)请将每一个空的正确答案写在答题卡【l】至【20】序号的横线上,答在试卷上不得分。 

(l)为了将当前盘当前目录中的所有文本文件(扩展名为.TXT)的

内容打印输出,正确的单条DOS命令为_______。 

(2)设当前盘为C盘。为了在A盘的当前自录\USER下建立一个新的子

目录X,正确的DOS命令为______。 

(3)在 XCOPY、COPY、TIME三个 DOS命令中,属于外部命令的是 

______。 

(4)在32位的计算机中,一个字长等于______个字节。 

(5)计算机网络分为局域网和广域网,因特网属于_______。 

(6)在Foxbase中,通过赋值,可以改变内存变量的值,还可以改变

它的______。 

(7)设有人事数据库 人事.DBF,其中包括:姓名(C)、年龄(N)和职

务(C)等字段,若计算所有正处长、副处长的平均年龄,并将结果赋

予内存变量PJNL中,应使用命令_______。 

(8)设成绩文件中包含学号、课程名、成绩等字段。现要求统计每

个学生的总分,并将结果存入同结构的库文件ZF.DBF中,在已经打开

成绩文件及其按学号建立的索引文件的情况下,应使用命令_____。  
(9) 有如下售书数据库BOOK.DBF: BOOK.DBF 书号 单价 数

量 总计 B0168 19.8 3 B6915 12.6 36 B9023 40.0 100 

B4683 48.0 40 B6329 28.0 56 B8127 2.0 20 

要逐条计算总计并填入“总计”字段之中,计算按照如下规则: 
若数量小于等于10,总计等于“单价*数量”若数量大于50,总计

等于“单价*数量*(1-5/100)”若数量在11和50之间,总计等于“单

价*数量*(1-10/100)”请填空:SET TALK OFF USE BOOK 

GO TOP DO WHILE  ______ DO CASE CASE 数量<=10 

REPLACE 总计 WITH单价*数量 CASE数量 ______ REPLACE总

计 WITH 单价*数量*(1-10/100) CASE数量>50 REPLACE总

计 WITH单价*数量*(1-5/100) ENDCASE ______ ENDDO 

LIST USE SET TALK ON RETURN 

(10) 对售书数据库BOOK.DBF(如上题所示),现需要调整一些书的

单价,然后用调整后的“单价*数量”的值填入“总计”字段中。下

边程序的功能是根据用户输入的书号查找到记录,并由用户决定是否

对该记录进行修改。请填空: SET TALK OFF USE 

BOOK INDEX ON 书号 TO BOOK1 DO WHILE .T. CLEAR 

DISP ALL FIELD 书号 ACCEPT “请输入书号”TO BNO 

______ BNO IF FOUND() DISPLAY ACCEPT “

修改/不修改继续/终止程序(Y/N/E)” TO SR ELSE 

ACCEPT “书号不存在!继续/终止程序(N/E)”TO SR 

ENDIF DO CASE CASE UPPER(SR)=“Y” INPUT 

“请输入新单价”TO XDJ REPLACE_______, 总计 

WITH 单价*数量 CASE UPPER(SR)=“N” ________ 

CASE UPPER(SR)=“E” ______ENDCASE ENDDO 

USE SET TALK ON RETURN 

(11) 下面程序的功能是根据用户的输入,到P1.DBF中查找与CODE字

段匹配的记录,并将内容显示出来。如果无匹配记录,给出错误信

息,允许输入三次,三次仍输入不对,退出程序。请填空: 

SET TALK OFF SET EXACT ON CLEAR K=0 USE P1 

DO WHILE K<3 @10,10 SAY “请输入CODE的值” ACCEPT 

TO KEYWORD LOCATE FOR CODE=KEYWORD IF ______ 

CLEAR DISPLAY K=0 ELSE @10,10 SAY “您输入的字段值不对” 

WAIT “按任意键继续” ________ ENDIF ENDDO USE SET TALK 

ON RETURN 

(12) 下面程序的功能是修改P2.DBF中记录内容。为了避免破坏数据

库数据,先把记录内容存入数组BUFFER中,用户先对数组数据进行修

改,确定修改后,再把数组中的数据存入数据库中。请填空: 

SET TALK OFF DIMENSION BUFFER(3) STORE “Y” TO 

ANS,CON USE P2 DO WHILE UPPER(CON)=“Y” CLEAR 

@ 2,6 SAY “修改第几条记录?” ______ GO RNO 

SCATTER TO BUFFER @ 4,10 SAY “学号” GET BUFFER(1) 

@ 6,10 SAY “姓名” GET BUFFER(2) @ 8,10 SAY “所属系” 

GET BUFFER(3) _______ ACCEPT “(Y/N)” TO ANS 

IF UPPER(ANS)=“Y” ______ ENDIF ACCEPT “?

(Y/N)” TO CON ENDDO USE SET TALK ON RETURN   
      
        全国计算机等级考试二级笔试试卷Pascal语言 

              (考试时间120分钟,满分100分)

一.选择题 

(1)通常所说的主机主要包括 
A)CPU B)CPU和内存 C)CPU.内存与外存 D)CPU.内存与硬盘 

(2)在微机系统中,最基本的输入输出模块BIOS存放在 
A)RAM中 B)ROM中 C)硬盘中 D)寄存器中 

(3)一个24*24点阵的汉字字形信息所占的字节数为 
A)2    B)24    C)32    D)72 

(4)bit的意思是 
A)字 B)字长 C)字节 D)二进制位 

(5)某学校的工资管理程序属于 
A)系统程序B)应用程序 C)工具软件 D)文字处理软件

(6)与十六进制数BB等值的十进制数是 
A)187   B)188   C)185   D)186 

(7)设一张软盘已染上病毒,能清除病毒的措施是
A)删除该软盘上的所有文件      
B)格式化该软盘 
C)删除该罗盘上的所有可执行文件 
D)删除该软盘上的所有批处理文件 

(8)一张3.5英寸双面高密度软盘片的容量为 
A)360KB B)720KB C)1.44MB D)1.2MB

(9)与二进制小数0.1等值的十六进制小数为 
A)0.1 B)0.2 C)0.4 D)0.8 

(10)DOS系统的热启动与冷启动的不同之处为热启动时 
A)不检测键盘.外设接口与内存 B)不提示用户输入时期与时间 
C)不用装入COMMAND.COM文件   D)不能从软盘启动 

(11)为了将磁盘上的文件K1,K2,K3,集资连接在文件K4的后面, 
应使用命令 
A)COPY K1+K2+K3 K4      B)COPY K1+K2+K3+K4 
C)COPY K1+K2+K3+K4 K4   D)COPY K4+K1+K2+K3 

(12)下列文件名中可以作为批自理文件名的是 
A)AUTOEXEC.C B)AUTOEXEC C)ATX.BAT D)AUTO.TXT 

(13)要输出当前盘的根目录下所有文件与子目录清单,应使用命令 
A)DIR \>PRN B)TYPE \>PRN C)DIR >PRN D)TYPE >PRN 

(14)设可执行文件ABC.EXE所需要的本该由键盘输入的数据已经按
格式存放在文件XYZ中,并要求执行结果放在文件XYZ中输入数据的
后面. 下列命令中正确的是
A)ABC XYZ B)ABC >XYZ C)ABC< XYZ D)ABC>>XYZ

(15)设当前盘中某一目录路径为\A\B\C,当前目录为\A. 下列命令
中肯定出错的是 
A)MD \A\C B)CD.. C)MD \A\B\A D)MD \A\B 
(16)设A盘的目录结构如下: 
根目录 │ ┌──┬───┬┴───┬───┬────┐ │ │ │ │ │ │ 
ABC D1子目录 DX.C Q.DAT D2子目录 A.FOR │ │ │ │ ┌──
┬┴───┬──┐ ┌──┴┬─────┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 
B.PAS D3子目录 Y.BAS A.C A1.C D4子目录 XYZ.C │ ┌───
──┬─┴───┬───┐ │ │ │ │ 
QR.C NA.C A.TXT B.C 如果当前盘为C盘,A盘的当前目录为\D2,则下列对A盘上文件QR.C 的 指定中,合法的是 
A)\D2\D4\QR.C   B)D4\QR.C   C)A:D4\QR.C   D)A:D2\D4\QR.C 

(17)下列DOS命令中,有错误的是
 A)TYPE AAB.FOR>CON   B)TYPE ?AB.FOR 
C)COPY *.C CON        D)COPY CON PRN

(18)设当前盘为A盘,为了将当前盘当前目录下的文件AB1.TXT连接
在C盘根目录下的文件XYZ.TXT的后面,正确的命令是 
A)COPY C:\XYZ.TXT+AB1.TXT 
B)COPY AB1.TXT>>C:XYZ.TZT 
C)TYPE AB1.TXT>C:\XYZ.TZT 
D)AB1.TXT+C:\XYZ.TXT>C:\XYZ.TXT 

(19)下列命令中合法的是: 
A)DISKCOPY A: A: B)DISKCOPY A: C: 
C)DISKCOPY C: A: D)DISKCOPY C: D: 

(20)设当前盘中基本目录路径为\A\B\C\D\XU,当前目录为\A.要将
根目录 下扩展名为.C的所有文件复制到当前目录下,并将扩展名改为.FOR, 应使用命令 
A)COPY \*.C *.FOR    B)COPY *.C \A\*.FOR 
C)COPY *.FOR \*.C    D)COPY \A\*.C *.FOR 

(21)PASCAL编译程序是 
A)把PASCAL源程序转换成可运行的EXE文件的程序
B)把PASCAL源程序转换成等价的目标码的程序 
C)生成和修改一个PASCAL语言源程序的程序 
D)把PASCAL的目标码程序转换成可运行的EXE文件的程序 

(22)下列中错误的PASCAL表达式是 
A)10e6*3.7 B)17 DIV 3 C)18 DIV 3*4.0 D)4.018DIV3 

(23)下列哪种类型的常量不能用来定义子界类型 
A)Real B)Integer C)CHar D)用户定义的任何顺序类型

(24)以下正确的PASCAL实型数是 
A)0.56E2.5 B)2.56E2 C).318E1 D)34.E5 

(25)假定所有变量均为实型,算式: u+a ______的正确的PASCAL
表达式是 b-v ___+u*d c-w 
A)(u+a)/(b-v)/(c-w)+u*d   B)(u+a)/(b-v)/(c-w))+u*d 
C)(u+a)/((b-v)/(c-w)+u*d) D)(u+a)/((b-v/c-w)+u*d) 

(26)设x是实型变量,下列哪 一个表达式能将x四舍五入后保留二
位小数? 
A)Round(x)             B)Round(x)/100.0 
C)Round(x*100.0)/100.0 D)Trunc(x*100.0)/100.0 

(27)a1,a2,a3是布尔型变量,分别等于True,True,False, 下列表
达式的值 为False的是 
A)NOT a1 AND NOT a2 
B)a1 OR a2 AND a3 
C)(NOT a1 OR a2)AND(a2 OR a3)
D)False OR NOT a1 AND a2OR NOT a3 

(28)设有说明CONST letter='h'; 则语句Writeln 
(Chr(Ord
(letter)+(Ord('A')-Ord('a')))) 输出结果是 
A)H    B)h    C)72    D)104 

(29)设a,b,x均是基类型为字符型的集合变量.且a=['a','c','f','u'], b=['c','d','f','u'],下列哪个赋值
语句使x为非空集合? 
A)x:=a-b-['a'] B)x:=a*b-['a'] C)x:=a+a*a-a D)x:=(a+a)*(a-a) 

(30)下面的输出语句中错误的语句是(各选项中所用的均是单
引号) 
A)Writeln('''$''is used to mean ''US doller''');
B)Writeln('The word ''china''has five letters'); 
C)Writeln('The sign ''$''is used to mean ''USdoller'''); 
D)Writeln('The word 'china'has five letters'); 

(31)已知有说明如下:VAR p,q:^Integer; a,b:Integer; 下列
哪个赋值语句无语法错误? 
A)p:=a; B)a:=p+q; C)q^:=p^+a^; D)b:=a+q^; 

(32)要设计一个只由主程序调用的子程序(过程或函数),其功能
是把参数 ch修改后的内容不用全局变量传给主程序,应使用下面
哪个过程或函数的 首部? 
A)PROCEDURE upcase(ch:Char); 
B)FUNCTION upcase(ch:Char):Char; 
C)FUNCTION upcase(VAR ch:Char); 
D)FUNCTION upcase(ch:Char):Integer; 

(33)下列说法中正确的是 
A)动态变量不能是二维数组 
B)动态变量只能是指针类型的变量 
C)动态变量不能在程序运行过程中生成和删除 
D)动态变量的值是指针变量所指的存储单元的内容 

(34)设有说明 TYPE byte=0..7; word=0..15; num=Real; 
VAR a:byte; b,c:word; d:Integer; e:num f:Char; 则
下列中不合法的赋值语句是 
A)b:=a; B)d:=c; C)e:=d; D)a:=f; 

(35)下列说明中不正确的是 
A)TYPE a=RECORD 
B)VAR x:Real; a1:Integer; y:=RECORD a2:Real; 
x:=Integer; a3:b y:=Char; END; z:RECORD b=RECORD 
y:Real; b1:Char; z:Boolean b2:Real END END; END; 
VAR x:a; 
C)TYPE a=^b; 
D)TYPE b=RECORD b=RECORD b1:Char; b1:Char; b2:Real b2:a END; END; a=RECORD VAR x:a; a1:Integer; a2:b END; 

(36)设x,z,m,j为整型变量,且z,m均已赋值,并有程序段: x:=z; 
FOR j:=1 TO m DO x:x-1; 下面赋值语句与上述程序段等价的是 
A)x:=x-j; B)x:=z-m; C)x:=j-z; D)x:=j+m;

(37)设a,b,c为整型变量且变量已赋值.下面程序段中能实现当
a b)THEN BEGIN c:=a; a:=b; b:=c; b:=a; a:=b END;

(38)程序PROGRAM pp(Output); VAR a,k:Integer; BEGIN a:=5; 
WHILE a<10 DO BEGIN k:=0; PRPEAT Writeln('*'); k:=k+2 
UNTIL k>a; a:=a+2 END END. 执行后输出'*'的个数是 
A)11个   B)12个   C)13个   D)15个 

(39)若希望得到a=2,b=4,c=6,d=8,针对下面的读语句 Read(a); 
Readln(b,c); Readln(d); 以下不正确的输入形式( 表示回车
符符符符符符符符符符符符符符符符符符符符符符符符符符符
符符符符符)是 
A)2   B)2   C)2 4    D) 2 4 6 4 4 6 8 6 6 8 8 8 

(40)已知有类型说明: TYPE t1=(red,yellow,blue); 下面哪个
过程可以输出枚举变量a的值? 
A)PROCEDURE putout(a:t1); 
B)PROCEDURE putout(a:t1); BEGIN BEGIN CASE a OF CASE 
Ord(a) OF 'red':Writeln('red'); 0:Writeln('red'); '
yellow':Writeln('yellow'); 1:Writeln('yellow'); 'blue': 
Writeln('blue') 2:Writeln('blue') 
END END END; END; 
C)PROCEDURE putout(a:t1); 
D)PROCEDURE putout(a:t1) BEGIN BEGIN CASE a OF CASE Ord 
(a) OF 0:Writeln('red'); red :Writeln ('red'); 1:Writeln('yellow'); 
yellow:Writeln('yellow'); 2:Writeln('blue') blue: Writeln('blue') END END END; END;

(41)设变量均已说明,下列过程或程序段合法的是 
A)PROCEDURE pric1(a:Char; VAR b:Char); BEGIN b:=Chr
(Ord(a)+1); proc1:=b END; 
B)PROCEDURE proc2(a,b:Integer); BEGIN ... END; BEGIN 
{主程序} ... proc2(2.4,1); ... END. 
C)PROCEDURE proc3(a:Real; VAR b:Real); BEGIN ... END; 
BEGIN {主程序} ... x:=1.0; y:=2.0; proc3(x+y,x-y); ... 
END. 
D)PROCEDURE proc4(a,b:Real); BEGIN ... END; BEGIN {主程序} ... proc4(1,2); ... END. 

(42)下面程序 PROGRAM p1(Output); VAR a,k:Integer; 
BEGIN a:=13972; k:=0; WHILE a<>0 DO BEGIN a:=a DIV 
10; k:=k+1 END; Writeln(k) END. 执行后的输出是
A)0    B)4    C)5    D)6 

(43)已知有如下类型说明和函数: 
TYPE parr=ARRAY[1..20]OF ^Integer; 
FUNCTION ff(a:parr):Integer; VAR k,b:Integer; 
BEGIN b:a[1]^; FOR k:=2 TO 20 DO IF a[k]^>b 
THEN b:=a[k]^; ff:=b END; 函数ff返回的是 
A)指针a所指的整数数组中数的最大值 
B)指针数组a中的最大的指针值 
C)指针数组a各元素所指的数中的最大值 
D)指针a所指的整数数组中数的最大值 

(44)阅读下面函数: 
FUNCTION func:Integer; VAR x:Integer; 
FUNCTION ff(y:Integerf):Boolean; BEGIN 
ff:=(y>=1) AND (y<=12) END; BEGIN REPEAT 
Readln(x) UNTIL NOT ff(x); func:=x 
END; 此函数从键盘接收并只返回特定的值,而不理睬
其它值,这些特定的值是 
A)大于等于1且小于等于12的任意整数 
B)小于等于1或大于等于12的任意整数 
C)大于1且小于12的任意整数 
D)小于1或大于12的任意整数 

(45)有程序段: 
s:[1..5,10..20]; FOR i:=1 TO 5 DO a[i]:=3 
*i-4; FOR i:=1 TO 5 DO IF a[i] IN s THEN 
Write('0') ELSE Write('1'); 假设变量均已说明,
则程序段后的输出为 
A)10110   B)00111   C)10010   D)11010 

(46)下列程序中输出为1-1的是 
A)PROGRAM one(Output); VAR a,b:Integer; PROCEDURE 
proc1(x,y:Integer); BEGIN x:=a+b; y:=a-b; Writeln(x:3,
y:3) END; BEGIN a:=1; b:=2; proc1(a,b) END. 
B)PROGRAM one(Output); VAR a,b:Integer; PROCEDURE proc2(x,y:Integer); BEGIN x:=a+b; y:=a-b; END; 
BEGIN a:=1; b:=2; proc2(a,b) Writeln(a:3,b:3) END. 
C)PROGRAM three (Output); VAR a,b:Integer; PROCEDURE 
proc3(x:Integer;VAR y:Integer); BEGIN x:=a+b; y:=a-b; 
END; BEGIN a:=1; b:=2; proc3(a,b) Writeln(a:3,b:3) END. 
D)PROGRAM four (Output); VAR a,b:Integer; 
PROCEDURE proc4(x:Integer;VAR y:Integer); BEGIN 
x:=a+b; y:=a-b; END; BEGIN a:=1; b:=2; proc4(a,b) 
Writeln(a:3,b:3) END. 

(47)设有过程p1的说明如下(仅给出过程的主要部分) 
PROCEDURE p1; VAR a,b: Integer; c,d:Char; 
PROCEDURE p2 (VAR e:Integer); VAR b,f:Real; 
BEGIN ... END; BEGIN ... END. 
在过程p2中,对变量e最适当的描述是 
A)e是一个值型参数. B)e是一个全局变量. 
C)e是一个形式参数. D)e是一个实际参数. 

(48)已知有过程: 
PROCEDURE graph(hight:Integer; ch1,ch2:Char); 
VAR i,j: Integer; BEGIN FOR i:=1 TO hight 
DO BEGIN Write(ch1:10-i); FOR j:=1 TO 2*i-3 DO 
Write(ch2); IF i=1 THEN Writeln ELSE Writeln 
(ch1) END END; 若在主程序
中执行graph(6,'*','+')则输出图形是 
A) * 
B)*+++++++++* *+* *+++++++* *+++* *+++++* 
*+++++* *+++* *+++++++* *+* * * * * * * * 
C) + 
D) * +*+ *+* +***+ *+++* +*****+ *+++++* +****
***+ *+++++++* +*********+ *+++++++++* 

(49)已知有函数f1如下: 
FUNCTION f1(a,b:Integer):Integer; BEGIN IF b=0 
THEN f1:=a ELSE f1:=f1(Pred(a),Pred(b)) END; 
执行 Writeln(f1(10,6));后的输出是 
A)4 B)6 C)10 D)16 
(50)程序PROGRAM 
p1(Output); VAR a:ARRAY[1..4]OF Char; c,ch:Char; 
BEGIN FOR ch:='A' TO 'D' DO a[Ord(ch)-Ord('A')+1]:
=ch; FOR ch:='A' TO 'D' DO BEGIN FOR c:=ch TO'D'DO 
Write(a[Ord(c)-Ord('A')+1]; Writeln END END. 的输出是 
A)A   
B)D   
C)ABCD   
D)ABCD B C ABC BCD C B AB CD D A A D 

二.填空题(将每空的正确答案写在答题卡上1--20的序号横线上, 答在试 卷上不得分.) 

(1)自动批处理文件名为 1 _____ 

(2)DOS命令分为内部命令与外部命令,COMP命令属于 2 命令 _____ 

(3)设当前盘为C盘,现要用一条DOS命令在打印机上输出A盘当前目录

下所 有扩展名为.DAT的文件内容.这一条DOS命令为 3 _____ 

(4)要将当前盘当前目录下的子目录XYZ中所有扩展名为.BAK 的文件

名改 成扩展名为.FOR,应使用的DOS命令为 4 ______ 

(5)设DOS外部命令文件所在的路径均已用PATH命令打通.现要将当前

盘当 前目录下的文件WST.TXT设置为只读属性,应使用的DOS命令为 

5 ___ 

(6)下面计算并输出下式中s 的值 请填空完成程序. 

PROGRAM t6(Input,Output); VAR k,n:Integer; 

s,r:Real; BEGIN s: 6 ______ FOR k:=2 TO 20 

DO BEGIN r:=0; FOR n:=1 TO 7 DO 

_____ r:=r+Ln(n); s:=s+ 8 ___ END; 

Writeln(s:10:3) END.

(7)下面的程序将n个学生的英文成绩从键盘输入,按0-59分,60-69

分 70-79分,80-89分90-100分,分组统计人数. 

PROGRAM exam2(Input,Output); CONST n=20; 

VAR i,k:Integer; s:ARRAY[1..5] OF Integer; 

a:ARRAY[1..N]OF Integer; BEGIN FOR i:=1 

TO 9 DO _____ s[i]:=0; FOR i:= 1 TO 10 

DO ____ BEGIN 11; ____ IF a[i]>=90 THEN 

k:=1 ELSE IF a[i]>=80 THEN k:=2 ELSE IF 

a[i]>=70 THEN k:=3 ELSE IF a[i]>=60 THEN 

k:=4 ELSE k:=5; s[k]:= 12 ______ END; Readln; 

FOR i:=1 TO 5 DO Write (s[i]:3); Writeln END. 

(8)从键盘输入两个数x1,x2,判断它们是否互质. 判断两数是否互质

的方法是:设大数为x1,小数为x2,如果x1/x2为整数 则非互质;如果x2

和x1能同时被2--x2/2间任一整数整除,则x1 和x2 也非互质.其它情

况均为互质. 

PROGRAM sj11(Input,Output); VAR x1,x2,t,n,

i:Integer; yes:Boolean; BEGIN Write('Please 

input x1,x2'); Readln(x1,x2); IF( 13 ) THEN 

_________ BEGIN t:=x1;x1:=x2;x2:=t END; 

yes:=True; IF (x1 MOD x2) =0 THEN yes :=False 

ELSE BEGIN n:=x2 DIV 2; FOR i:=2 TO 14 DO _____ 

IF 15 THEN ____ yes:=False END; IF 16 THEN ____ 

Writeln('They are mutual prime numbers') {x1,x2互质} 

ELSE Writeln('They are not mutual prime numbers') 

{x1,x2互质} END. (9)已知有说明:TYPE ptr=^rec; 

rec=RECORD data:Integer; next:ptr END; 函数append

可建立一个无重复结点的单链表,即该函数检查已建

立的结点中是否 有da 

(9)已知有说明:TYPE ptr=^rec; rec=RECORD datd:lnteger; 

next:ptr END; 函append可建立一个无重复结点的单链表,即该

函数检查已建立的结点中是否有data或与n相等的节点.若有这样

的节点则原链表不变,并返回假,否则以n作为一个新节点链接在

原链表之后,并返回真. PUNCTION append (VAR 

head:ptr;n:lnteger):Boolean; VAR r,p,q:ptr; linked:

Boolean; BEGIN linkcd:=True;New(q);q^.next:=NIL;q^.

data:=n; IF head=NIL THEN 17 :=q ──── ELSE BEGIN 

p:=head; REPEAT r:=p; IF p^.data=n THEN linked:=False 

ELSE IF 18〈〉NIL THEN ──── p:=p^.ncxt UNTIL 

( 19 ) OR NOT linkcd; ──── IF linked THEN 20 :=q 

─── ELSE Dinked (q) END; append:=linked END;

            全国计算机等级考试二级笔试试卷C语言 

一、选择题((1)-(40)题每题1分,(41)-(50)题每题2分,共60分) 下列各题A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。 

(l)在计算机系统中,一个字节的二进制位数为 
A) 16 B) 8 C) 4 D) 由 CPU的型号决定 

(2)存储 16×16点阵的一个汉字信息,需要的字节数为 
A) 32 B) 64 C) 128 D) 256 

(3)英文大写字母B的ASCII码为42H,英文小写字母b的ASCII码为 A) 43H B) 84H C) 74H D) 62H 

(4)下列计算机语言中,CPU能直接识别的是 
A) 自然语言 B) 高级语言 C) 汇编语言 D)机器语言 

(5)在计算机领域中,所谓“裸机”是指 
A) 单片机                 B) 单板机 
C) 不安装任何软件的计算机 D) 只安装操作系统的计算机 

(6) 下列带有通配符的文件名中,能代表文件ABCDEF.DAT的是 A) A*.* B) ?F.* C) *.? D) AB?.* 

(7) 下列DOS命令中,执行时不会发生错误的是 
A) TYPE *.TXT         B) DIR *.TXT 
C) REN A.TXT A:b.TXT  D) COPY *.TXT>CON 

(8) 设当前盘为C盘,C盘的当前目录为\A\B\C。下列DOS 命令中
能正确执行的是 
A) MD \ B) MD A:\ C) MD \A\B D) CD C: 

(9) 为了将C:USER中的文件FILE.TXT同名复制到A盘根目录下,
下列DOS命令中能正确执行的是 
A) TYPE C:\USER\FILE.TXT > A:\FILE.TXT 
B) TYPE C:\USER\FILE.TXT A:\FILE.TXT 
C) COPY C:\USER\FILE.TXT > A:\FILE.TXT 
D) COPY C:\USER\FILE.TXT 

(10) 在Windows下,当一个应用程序窗口被最小化后,该应用
程序 
A) 终止运行 
B) 暂停运行 
C) 继续在后台运行 
D) 继续在前台运行 

(11) 在Windows环境下,下列操作中与剪贴板无关的是 
A) 剪切 B) 复制 C) 粘贴 D) 删除 

(12) 在Windows环境下,实现窗口移动的操作是 
A) 用鼠标拖动窗口中的标题栏 
B) 用鼠标拖动窗口中的控制按钮 
C) 用鼠标拖动窗口中的边框   
D) 用鼠标拖动窗口中的任何部位 

(13) 一台计算机连入计算机网络后,该计算机 
A) 运行速度会加快 B) 可以共享网络中的资源 
C) 内存容量变大   D) 运行精度会提高 

(14) 不能作为计算机网络中传输介质的是 
A) 微波 B) 光纤 C) 光盘 D) 双绞线 

(15) 下列各项中,不属于多媒体硬件的是 
A) 声卡 B) 光盘驱动器 C) 显示器 D) 多媒体制作工具 

(16) 在C语言中,合法的长整型常数是 
A) OL B) 4962710 C) 324562& D) 216D 

(17) 以下有4组用户标识符,其中合法的一组是 
A) For   
B) 4d  
C) f2_G3
D) WORD -sub DO IF void Case Size abc define 

(18) 以下选项中合法的字符常量是 
A)“B” B) ‘\010' C) 68 D) D 

(19) 假定x和y为 double型,则表达式x=2,y=x+3/2的值是 
A) 3.500000 B) 3 C) 2.000000 D) 3.000000 

(20) 以下合法的赋值语句是 
A) x=y=100 B) d--; C) x+y; D) c=int(a+b); 

(21) 设正x、y均为整型变量,且x=10 y=3,则以下语句的输出
结果是 pprintf(”%d,%d\n”,x--,--y); 
A) 10,3   B) 9.3   C) 9.2   D)10.2 

(22) x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,
正确的输入语句是 
A) INPUT x、y、z;           
B) scanf(“%d%d%d”,&x,&y,&z); 
C) scanf(“%d%d%d”,x,y,z); 
D) read(“%d%d%d”,&x,&y,&z); 

(23) 以下程序的输出结果是 main() { int a=3; printf
(“%d\n”,(a+a-=a*a) ); } 
A) –6    B)12    C) 0    D) -12 

(24) 设 a、b、C、d、m、n均为 int型变量,且 a=5、b=6、
c=7、d=8、m=2、n=2,则逻辑表达式 (m=a>b)&&(n=c>d)运算后,
n的值位为 
A) 0    B) 1    C)2    D) 3 

(25) 阅读以下程序:
main() { int x; scanf(“%d”,&x); 
if(x--<5) printf(“%d”'x); else printf
(“%d”'x++); } 程序运行后,如果从键盘上输人5,
则输出结果是 
A)3    B) 4    C) 5    D) 6 

(26) 假定w、x、y、z、m均为int型变量,有如下程序段: w=1; x=2; y=3; z=4; m=(w 则该程序运行后,m的值是it 
A) 4    B) 3    C) 2    D) 2 

(27) t为int类型,进人下面的循环之前,t的值为0 while
( t=l ) { …… } 则以下叙述中正确的是 
A) 循环控制表达式的值为0  B) 循环控制表达式的值为1 
C) 循环控制表达式不合法   D) 以上说法都不对 

(28) 以下程序的输出结果是 
main() { int num= 0; while(num<=2) { num++; printf
(“%d\n”,num); } 
A) 1   B) 1    C)1    D) l 2 2 2 3 3 4 

(29) 以下各选项企图说明一种新的类型名,其中正确的是 
A) typedef v1 int;   B) typedef v2=int; 
C) typedefv1 int v3; D) typedef v4: int; 

(30) 在调用函数时,如果实参是简单变量,它与对应形参之间
的数据传递方式是 
A) 地址传递                         
B) 单向值传递 
C) 由实参传给形参,再由形参传回实参 
D) 传递方式由用户指定 

(31) 以下函数值的类型是
fun ( float x ) { float y; 
y= 3*x-4; return y; } 
A) int B) 不确定 C) void D) float 

(32 ) 设有以下函数: 
f ( int a) { int b=0; static int 
c = 3; b++; c++; return(a+b+c); } 如果在下
面的程序中调用该函数,则输出结果是 
main() { int a = 2, i; for(i=0;i<3;i++) 
printf(“%d\n”,f(a)); } 
A) 7   B) 7   C) 7   D) 7 8 9 10 7 9 11 13 7 

(33) 以下程序的输出结果是 
main() { char c='z'; printf(
“%c”,c-25); } 
A) a   B) Z   C) z-25   D) y 

(34) 以下选项中,非法的字符常量是 
A) ‘\t' B) ‘\17' C)“n” D) ‘\xaa' 

(35) 若有说明:int i, j=2,*p=&i;,则能完成i=j赋值
功能的语句是 
A) i=*p; B) p*=*&j; C) i=&j; D) i=**p; 

(36) 以下定义语句中,错误的是 
A) int a[]={1,2};       B) char *a[3]; 
C) char s[10]=”test”; D) int n=5,a[n]; 

(37) 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是 
A) 3    B) 6    C) 10    D) 20 

(38) 以下程序的输出结果是 
main() { int i, a[10]; for(i=9;i>=0;i--) 
a[i]=10-i; printf(“%d%d%d”,a[2],a[5],a[8]); } 
A) 258 B) 741 C) 852 D) 369 

(39) 以下数组定义中不正确的是 
A) int a[2][3];         
B) int b[][3]={0,1,2,3}; 
C) int c[100][100]={0}; 
D) int d[3][]={{1,2},{1,2,3},{1,2,3,4}}; 

(40) 以下程序的输出结果是 
main() { int a[4][4]={
{1,3,5},{2,4,6},{3,5,7}}; 
printf(“%d%d%d%d\n”,a
[0][3],a[1][2],a[2][1],a[3][0]; } 
A) 0650 B) 1470 C) 5430 D) 输出值不定 

(41) 以下程序的输出结果是 
main() { char st[20]= 
“hello\0\t\\\”; printf(%d %d \n”,
strlen(st),
sizeof(st)); } 
A) 9 9   B) 5 20   C) 13 20   D) 20 20 

(42) 以下选项中,不能正确赋值的是 
A) char s1[10];s1=“Ctest”; 
B) char s2[]={‘C', ‘t', ‘e', ‘s', ‘t'}; 
C) char s3[20]=“Ctest”; 
D) char *s4=“Ctest\n” 

(43) 以下程序的输出结果是 
amovep(int p, int (a)
[3],int n) { int i, j; for( i=0;i<;i++) 
for(j=0;j } main() { int *p,a[3][3]={
{1,3,5},{2,4,6}}; p=(int *)malloc(100); 
amovep(p,a,3); printf(“%d %d \n”,p[2],p[5]);
free(p); } 
A) 56    B) 25    C) 34    D) 程序错误 

(44) 以下程序的输出结果是 
struct HAR { int x, y; struct HAR *p;} h[2]; 
main() { h[0],x=1;h[0];y=2; h[1],x=3;h[1];y=4; 
h[0],p=&h[1],p=h; printf(“%d %d \n”,(h[0],p)
->x,(h[1],p)->y); } 
A) 12    B) 23    C) 14    D) 32 

(45) 以下程序的输出结果是
main() { int a, b; for(a=1, 
b=1; a<=100; a++) { if(b>=10) break; 
if (b%3= =1) { b+=3; continue; } } 
printf(“%d\n”,a); } 
A) 101    B) 6    C) 5   D) 4 

(46) 以下程序的输出结果是
union myun { struct 
{ int x, y, z; } u; int k;} a;
main() { a.u.x=4; a.u.y=5; a.u.z=6; 
a.k=0; printf(%d\n”,a.u.x); } 
A) 4    B) 5    C) 6    D) 0 

(47) 以下程序的输出结果是
int a, b; void fun() { a=100; b=200; } 
main() { int a=5, b=7; fun(); 
printf(“%d%d \n”, a,b); } 
A) 100200 B) 57 C) 200100 D) 75 

(48) 以下程序的输出结果是 
#define M(x,y,z) x*y+z main() 
{ int a=1,b=2, c=3; printf(“%d\n”, 
M(a+b,b+c, c+a)); } 
A) 19    B) 17    C) 15    D) 12 

(49) 整型变量x和y的值相等、且为非0值,则以下选项中,结果
为零的表达式是 
A) x || y B) x | y C) x & y D) x ^ y 

(50) 下面的程序执行后,文件testt.t中的内容是 
#include void fun(char *fname.,char *st) 
{ FILE *myf; int i; myf=fopen(fname,“w” ); 
for(i=0;i fclose(myf); } main() 
{ fun(“test”,“new world”; fun(“test”,“hello,”
0;) 
A)hello,   B)new worldhello, 
C)new world D) hello, rld 
二、填空题(每空2分,共40分)请将每一个空的正确答案写在答题卡【l】至【20】序号的横线上,答在试卷上不得分。 

(l)为了将当前盘当前目录中的所有文本文件(扩展名为.TXT)的

内容打印输出,正确的单条DOS命令为 【l】 。 

(2)设当前盘为C盘。为了在A盘的当前自录\USER下建立一个新的子

目录X,正确的DOS命令为 【2】 。 

(3)在 XCOPY、COPY、TIME三个 DOS命令中,属于外部命令的是 

【3】 。 

(4)在32位的计算机中,一个字长等于【4】个字节。 

(5)计算机网络分为局域网和广域网,因特网属于 【5】 。 

(6)语句:x++;?++x; x=x+1;?x=l+x; ,执行后都使变量x中的值增

1,请写出一条同一功能的赋值语句(不得与列举的相同) 

【6】 。 

(7)设y是int型变量,请写出判断y为奇效的关系表达 【7】 。 
(8)以下程序运行后的输出结果是 【8】 。 
main() { int i=10, j=0; do { j=j+i; i-; 
while(i>2); printf(“%d\n”,j); } 

(9) 设有以下程序: main() { int n1,n2; scanf(“%

d”,&n2); while(n2!=0) { n1=n2%10; n2=n2/10; 

printf(“%d”,n1); } } 程序运行后,如果从键盘上

输入1298;则输出结果为 【9】 。 

(10) 以下程序输出的最后一个值是【10】 。 

int ff(int n) { static int f=l;f=f*n; return f; } 

main() { int i; for(I=1;I<=5;I++ printf(“%d\n”,ff(i)); 
} 

(11) 以下函数的功能是:求x的y次方,请填空。 

double fun( double x, int y) { int i; double z; 

for(i=1, z=x; i return z; } 

(12) 设有以下程序: 
main() { int a, b, k=4, 

m=6,*p1=&k, *p2=&m; a=pl==&m; b=(*p1)/

(*p2)+7; printf(“a=%d\n”,a);

printf(“b=%d\n”,b); } 

执行该程序后,a的值为【12】 ,b的值为【13】 。 

(13) 若已定义:int a[10], i;,以下fun函数的功能是:在第

一个循环中给前10个数组元素依次赋1、2、3、4、5、6、7、8、

9、10;在第二个循环中使a数组前10个元素中的值对称折叠,

变成1、2、3、4、5、5、4、3、2、1。请填空。 

fun( int a[ ]) { int 

i; for(i=1; i<=10; i++) 【14】=i; 

for(i=0; i<5; i++) 【15】=a[i]; } 

(14) 以下程序运行后的输出结果是 【16】 。 

main() { char s[ ]=“9876”,*p; 

for ( p=s ; p  } 

(15) 若有定义语句: char s[100],d[100]; int j=0, i=0;,

且s中已赋字符串,请填空以实现字符串拷贝。(注:不得使用

逗号表达式) while([i]){ d[j]= 【17】;j++;} d[j]=0; 

(16) 以下程序段用于构成一个简单的单向链表,请填空。 

struct STRU { int x, y ; float rate; 

【18】 p; } a, b; a.x=0; a.y=0; a.rate=0; 

a.p=&b; b.x=0; b.y=0; b.rate=0; b.p=NULL; 

(l7) 若有如下结构体说明: 

struct STRU { int a, b ; 

char c; double d: struct STRU p1,p2; }; 

请填空,以完成对t数组的定义,t数组的每个元素为该结构

体类型 【19】 t[20]; 

(18) 以下程序段打开文件后,先利用 fseek函数将文件位置指

针定位在文件末尾,然后调用ftell函数返回当前文件位置指针

的具体位置,从而确定文件长度,请填空。 

FILE *myf; ling f1; 

myf= 【20】 (“test.t”,“rb”); 

fseek(myf,0,SEEK_END); 

f1=ftel(myf); fclose(myf); 

printf(“%d\n”,f1); 

 
           全国计算机等级考试二级笔试试卷Fortran语言 
                 (考试时间性120分钟,满分100分)

一、选择题((1)-(40)题每题1分,(41)-(50)题每题2分,共60分)下列各题A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。

(1) 在计算机系统中,一个字节的二进制位数为
A) 16 B) 8 C) 4 D) 由 CPU的型号决定

(2) 存储 16×16点阵的一个汉字信息,需要的字节数为
A) 32 B) 64 C) 128 D) 256

(3) 英文大写字母B的ASCII码为42H,英文小写字母b的ASCII码为
A) 43H B) 84H C) 74H D) 62H

(4) 下列计算机语言中,CPU能直接识别的是
A) 自然语言 B) 高级语言 C) 汇编语言 D)机器语言

(5) 在计算机领域中,所谓"裸机"是指
A) 单片机                 B) 单板机
C) 不安装任何软件的计算机 D) 只安装操作系统的计算机

(6) 下列带有通配符的文件名中,能代表文件ABCDEF.DAT的是
A) A*.* B) ?F.* C) *.? D) AB?.*

(7) 下列DOS命令中,执行时不会发生错误的是

A) TYPE *.TXT         B) DIR *.TXT
C) REN A.TXT A:b.TXT  D) COPY *.TXT>CON

(8) 设当前盘为C盘,C盘的当前目录为\A\B\C。下列DOS 命令中
能正确执行的是
A) MD \ B) MD A:\ C) MD \A\B D) CD C:

(9) 为了将C:USER中的文件FILE.TXT同名复制到A盘根目录下,
下列DOS命令中能正确执行的是

A) TYPE C:\USER\FILE.TXT > A:\FILE.TXT
B) TYPE C:\USER\FILE.TXT A:\FILE.TXT
C) COPY C:\USER\FILE.TXT > A:\FILE.TXT
D) COPY C:\USER\FILE.TXT

(10) 在Windows下,当一个应用程序窗口被最小化后,该应用程序A) 终止运行 
B) 暂停运行 
C) 继续在后台运行 
D) 继续在前台运行

(11) 在Windows环境下,下列操作中与剪贴板无关的是 
A) 剪切 B) 复制 C) 粘贴 D) 删除

(12) 在Windows环境下,实现窗口移动的操作是
A) 用鼠标拖动窗口中的标题栏 
B) 用鼠标拖动窗口中的控制按钮
C) 用鼠标拖动窗口中的边框 
D) 用鼠标拖动窗口中的任何部位

(13) 一台计算机连入计算机网络后,该计算机
A) 运行速度会加快 B) 可以共享网络中的资源
C) 内存容量变大   D) 运行精度会提高

(14) 不能作为计算机网络中传输介质的是
A) 微波 B) 光纤 C) 光盘 D) 双绞线

(15) 下列各项中,不属于多媒体硬件的是
A) 声卡 B) 光盘驱动器 C) 显示器 D) 多媒体制作工具

(16) 在下列FORTRAN77运算符中,优先级最高的是
A) .AND. B) .NOT. C) .OR. D) .EQ.

(17) 下列FORTRAN77表达式中,值为.TRUE.的是A) .NOT..FALSE..AND..NOT..TRUE. 
B) .FALSE..OR..NOT..TRUE
C) .TRUE..AND..NOT..FALSE.      
D) X.GT.Y.AND.X.LE.Y

(18) FORTRAN77表达式"6/5+9/2**3/2"的值为
A) 33 B) 1 C) 5 D) 3
(19) 下列FORTRAN77 表达式中,合法的是
A) 0.0.LE.X.AND..NOT.X.GE.10.0 
B) 0.0.GE.X.LT.10.0
C) 0.0.LE.X.GE.10.             
D) 10.0.LE.X.OR..AND.X.GT.0.0

(20) 阅读下列FORTRAN77程序: M=0N=100DO 10 K=1,NM=M+1IF(M.GT.50) N=5110 CONTINUEWRITE(*,*) MEND 运行上述程序后,
输出的M值为
A) 50 B) 51 C) 52 D) 100

(21) 阅读下列FORTRAN77程序:READ(*,*) NX=1.0IF (N.GE.0) X=2*XIF (N.GE.5) X=2*X+1.0IF (N.GT.15) X=3*X.-1.0WRITE
(*,*) XEND运行上述程序时,如果从键盘输入15<回车>则最后
输出的X值为
A) 14.0 B) 2.0 C) 1.0 D) 5.0

(22) 阅读下列FORTRAN77程序:M=0DO 10 K=2, 100,3IF 
(M.NE.20) M=M+110 CONTINUEWRITE(*,*) MEND运行上述程序后。
输出的M的值为
A) 0 B) 20 C) 32 D) 33

(23) 阅读下列FORTRAN77 程序:READ(*,100) M,NK=M+NWRITE(*,100) K100 FORMAT(1X,2I3)END 运行上述程序时,如果从键
盘输入123456789<回车>则最后输出的结果为
A) 579 B) 79 C) 801 D) 01

(24) 阅读下列FORTRAN77程序:READ(*,100) X,Y Z=X+YWRITE(*,100) Z100 FORMAT(1X,2F4.1)END运行上述程序时,如果从
键盘输入543219876<回车>则最后输出的结果为
A) **** B) 1419.7 C) 141.9 D) 19.7

(25) 阅读下列FORTRAN77程序:DIMENSION M(3,4)DATA M/4*2,4*1,4*-1/N=0DO 10 K=1 ,410 N=N+M(1,K)WRITE(*,*) 
NEND 运行上述程序后,输出的N的值为
A) 8 B) 5 C) 4 D) 3

(26) 阅读下列FORTRAN77程序:N=0DO 20 K=1,50N=N+1DO 10 J=1,50-KN=N+120 CONTINUEWRITE(*,*) NEND运行上述程序后,
输出的N的值为
A) 1275 B) 1225 C) 1375 D) 1325
(27) 下列FORTRAN77语句中,正确的是
A) READ(*,*) (N,A(K),K=1,N) 
B) WRITE(*,*) (M(K,J),K=1,10;J=1,10)
C) WRITE(*,*) (10,A(K),K=1,10) 
D) DATA A,B,C/2*0.0/

(28) 为了将以字母I,J,K开头的所有变量定义为双精度实型,
下列说明语句中正确的是
A) IMPLICIT DOUBLE (I-K)  
B) IMPLICIT DOUBLE PRECISION (I-K)
C) IMPLICIT DOUBLE(I,J,K) 
D) IMPLICIT DOUBLE I,J,K

(29) 阅读FORTRAN77下列程序:READ(*,100) A,B,C,DWRITE(*,*) D100 FORMAT(F2.1,3(1X,F3.1))END运行上述程序时,如果从键盘
输入1234567890123456<回车>则最后输出的X值为
A) 1.2 B) 12.3 C) 2.3 D) 23.4

(30) 阅读FORTRAN77下列程序:READ(*,100) X100 FORMAT(3F3.1)WRITE(*,*) XEND运行上述程序时,如果从键盘输入1234.675
<回车>则最后输出的X值为
A) 1234.675 B) 1234.6 C) 12.3 D) 123.0

(31) 阅读下列FORTRAN77程序:
READ(*,100) I,J,K100 FORMAT(3I4)WRITE
(*,200) K200 FORMAT(1X,I4)END运行上述程序时,
如果从键盘输入(□表示空格)□12□□34□5□6□
□749845<回车>则最后输出的K值为
A) 5060 B) 9845 C) 560 D) 56

(32) 阅读下列FORTAN77程序:
READ(*.200) K,JY=MOD(K,J)/JWRITE(*,*) 
Y200 FORMAT(1X,I2,2X,I2)END运行上述程序时,
如果从键盘输入1248048965<回车>则最后输出的Y值为
A) 0.3 B) 0.25 C) 0.5 D) 0.0

(33) 阅读下列FORTRAN77程序:
READ(*,*) A,B P=MOD(B,A)100 IF 
(ABS(P).GT.0.1) THENB=AA=PP=MOD(B.A)GOTO 
10END IFWRITE(*,*) AEND运行上述程序时,如
果从键盘输入3.6,2.4<回车>则最后输出的A值为
A) 3.6 B) 2.4 C) 1.2 D) 0.0

(34) 阅读下列FORTRAN77程序:
LOGICAL X,YREAD(*,100) X,Y100 FORMAT(2L4)
IF (X) THENP=1.0ELSE IF (Y) THENP=2.0ELSE 
IF (.NOT.X.OR.Y) THENP=3.0ELSE P=0.0END IF 
WRITE(*,*) PEND 运行上述程序时,如果从键盘输
入FXYZTABC<回车>则最后输出的P的值为
A) 2.0 B) 3.0 C) 1.0 D) 0.0

(35) 阅读下列FORTRAN77程序:
N=0DO 100 K=1,3DO 100 J=1,2N=N+K+J100 
CONTINUEWRITE(*,*) NEND运行上述程序后,
输出的N的值为
A) 6 B) 9 C) 12 D) 21

(36) 阅读下列FORTRAN77程序:
READ(*,*) NK=1P=0.0IF ((N.LE.7).AND.(N.GE.3)) 
THEN10 IF (K.LE.N) THENP=P+KK=K+1GOTO 10END 
IFEND IF WRITE(*.*) PEND运行上述程序时,如果从
键盘输入5<回车>则最后输出的P值为
A) 0.0 B) 12.0 C) 15.0 D) 6.0

(37) 阅读下列FORTRAN77程序:
DIMENSION N(2)DATA N/2*0/DO 100 K=1,2DO 
100 J=1,2N(J)=N(K)+1100 CONTINUEWRITE(*,200) 
N(2)200 FORMAT(1X,I1)END运行上述程序后,输出的
结果为
A) 0 B) 3 C) 2 D) 4

(38) 阅读下列FORTRAN77程序
DIMENSION M(3,2)READ(*,100) ((K,L,M(I,J),J=1,2),
I=1,3)WRITE(*,200) ((M(I,J),I=1,3),J=1,2)100 
FORMAT(20I1)200 FORMAT(1X,2I1)END 运行上述程序时,
如果从键盘输入123456789012345678<回车>则最后输出
的结果为
A) 34 B) 39 C) 35 D) 3478 56 74 5612 28 68 78

(39) 阅读下列FORTRAN77程序:
M=1N=2CALL S(M,N,L,3)WRITE(*,100) M,N,L100 
FORMAT(1X,3I1)END SUBROUTINE S(K,J,M,L)K=K+1J=J+2N=1M=N+LEND 运行上述程序后,
输出的结果为
A) 254 B) 412 C) 244 D) 424

(40) 阅读下列FORTRAN77程序:
DIMENSION M(4,4)DATA M/4*6,4*4,4*2,4*0/P=S
(M,2)WRITE(*,100) P100 FORMAT(1X,F5.2)ENDFUNCTION 
S(B,N)INTEGER B(N,N)S=1DO 200 K=1,N200 S=S*B(K,K)
END运行上述程序后,输出的P值为
A) 0.00 B) 16.00 C) 24.00 D) 36.00

(41) 阅读下列FORTRAN77程序:
DIMENSION A(4,3)COMMON /P/AP=0.0DO 10 K=1,3DO 
10 J=1,3IF (P.LE.5.0) P=P+A(J,K)10 CONTINUEWRITE
(*,*) PEND BLOCK DATA ABC DIMENSION B(4,3)COMMON 
/P/BDATA B/4*4.0,4*-3.0,4*2.0/END运行上述程序后,
输出的P值为
A) 8.0 B) 7.0 C) 5.0 D) 4.0

(42) 阅读下列FORTRAN77程序:DIMENSION 
A(3,3)DO 100 K=1,3 DO 100 J=1,3 100 A(K,J)=K+JS
=P(A,2,8)WRITE(*,*) S END FUNCTION P(B,M,N)DIMENSION 
B(N)P=0.0DO 10 K=M,N10 P=P+B(K)END 运行上述程序后,
输出的S值为
A) 20.0 B) 24.0 C) 28.0 D) 32.0

(43) 阅读下列FORTRAN77程序:
DIMENSION P(3,3)DO 10 K=1,3DO 10 J=1,310 
P(K,J)=(K-1)*3+JCALL SUB(P(2,1),3,X)WRITE(*,*) 
X ENDSUBROUTINE SUB(Q,N,P)DIMENSION Q(N)P=0.0DO 
100 K=1,N100 P=P+Q(K)END 运行上述程序后,输出的X
值为
A) 12.0 B) 15.0 C) 16.0 D) 13.0

(44) 阅读下列FORTRAN77程序:
INTEGER B(4,5)DATA B/11,20,15,1,9,12,18,2,6,8,* 10,3,22,15,21,3,17,9,35,4/K=S(B,4,5)WRITE(*,*) 
KEND INTEGER FUNCTION S(A,M,N)INTEGER A(M,N),D,
PDO 100 L=1,MP=A(L,1) K=1DO 10 J=1,NIF (A(L,J).LT.P) 
THENP=A(L,J)K=JEND IF10 CONTINUED=A(1,K)DO 20 J=1,
MIF (A(J,K).GT.D) D=A(J,K)20 CONTINUEIF (P.EQ.D) THENS=PGOTO 200END IF 100 CONTINUE200 CONTINUEEND运
行上述程序后,输出的K的值为
A) 1 B) 10 C) 35 D) 3

(45) 阅读下列FORTRAN77程序:
EXTERNAL PPINTEGER P,PP,Q(4,4)DATA Q/1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
16/WRITE(*,*) P(Q,4,PP)END INTEGER FUNCTION 
PP(B,N)INTEGER B(N,N)PP=0DO 10 K=1,N10 PP=PP+B(K,K)ENDINTEGER FUNCTION P(B,N,S)INTEGER S,B(N,N)P=0DO 
10 K=1,N10 P=P+S(B,K)END 运行上述程序后,输出的结
果为
A) 55 B) 56 C) 57 D) 58

(46) 阅读下列FORTRAN77程序:
COMMON K,M,N,LK=4M=5CALL AAAWRITE(*,100) 
K,M,N 100 FORMAT(1X,I2)ENDSUBROUTINE AAACOMMON 
J,K,M,NJ=J+K M=J*KN=J+MEND运行上述程序后,输出
的结果为
A) 4 B) 4 C) 9 D) 95 5 5 529 20 45 29

(47) 在FORTRAN77中,下列叙述中正确的是
A) 两个字符型常量进行比较时,数字字符"0"最小
B) 两个字符串比较时,是自右向左进行比较的
C) 两个字符串比较时,如果除空格外的所有字符都相等,则
两者相等
D) 在字符关系表达式中,可以使用6种关系运算符

(48) 阅读下列FORTRAN77程序:
F(X,Y)=X*X+Y*YOPEN(8,FILE='FD.DAT',STATUS='NEW',
ACCESS='DIRECT',* FORM='UNFORMATTED',RECL=16)DO 
10 K=1,6P=F(REAL(K),REAL(K+1))10 WRITE(8,REC=K) 
PCLOSE(8)OPE(6,FILE='FD.DAT',STATUS='OLD',ACCESS
='DIRECT',* FORM='UNFORMATTED',RECL=16)DO 20 K=2,
6,2READ(6,REC=K) T 20 WRITE(*,100 ) T100 FORMAT
(1X,F4.1)CLOSE(6)END 运行上述程序后,输出的结果为
A) 5.0    B) 5.0 
C) 13.0   D) 41.013.0 25.0 41.0 61.025.0 61.0 85.0 85.0

(49) 阅读下列FORTRAN77程序:
INTEGER B(4,4),PN=4CALL SUB(B,N)WRITE(*,*) 
P(B,N)ENDSUBROUTIME SUB(Q,N)INTEGERDO 10 N=1,2DO 
10 M=1,810 Q(M,N)=8*(N-1)+MENDINTEGER FUNCTION P(B,N)INTEGER B(N,N)P=0DO 100 K=1,N100 P=P+B(K,K)END 
运行上述程序后,输出的结果为
A) 15 B) 16 C) 17 D) 18

(50) 阅读下列车员FORTRAN77程序段:
S=0.0DO 10 J=0,NS=S+XX=X+0.5CONTINUE下面程序段中
与上述程序段等价的是
A) S=XJ=010 IF (J.LT.N) THEN X+X+0.5S=S+XJ=J+1GOTO 
10END IF B)S=0.0J=010 IF (J.LE.N) THENJ=J+1S=S+XX=
X+0.5GOTO 10END IF 
C)S=0.0J=010 S=S+KJ=J+1X=X+0.5IF (J.LE.N) GOTO 10
D)S=XJ=0 10 X=X+0.5S=S+XJ=J+1IF (J.LT.N) GOTO 10

二、填空题(每空2分,共40分)请将每一个空的正确答案写在答题卡【l】至【20】序号的横线上,答在试卷上不得分。

(1) 为了将当前盘当前目录中的所有文本文件(扩展名为.TXT)的内

容打印输出,正确的单条DOS命令为 【l】 。

(2) 设当前盘为C盘。为了在A盘的当前自录\USER下建立一个新的子

目录X,正确的DOS命令为 【2】 。

(3) 在 XCOPY、COPY、TIME三个 DOS命令中,属于外部命令的是 

【3】 。

(4) 在32位的计算机中,一个字长等于【4】个字节。

(5) 计算机网络分为局域网和广域网,因特网属于 【5】 。

(6) 阅读下列FORTRAN77程序:INTEGER P(4,5)READ(*,100) ((P

(K,J),J=1,5),K=1,4)100 FORMAT(4I4)WRITE(*,200) ((P

(K,J),J=1,5),K=1,4)200 FORMAT(1X,5I4)END在执行上述程序时,至

少需要输入【6】行数据;运行后共输出【7】行每行为【8】个数

据。
(7) 阅读下列FORTRAN77程序:DIMENSION B(10)DO 10 K=1,10 10 B

(K)=P(2*K)/P(K)WRITE(*,100) B(1),B(2)100 FORMAT(1X,2F3.1)

END FUNCTION P(N)K=0DO 10 J=1,N10 K=K+JP=KEND运行上述程序

后,输出的B(1)值为【9】,B(2)值为【10】 。 

(8) 阅读下列FORTRAN77 程序EXTERNAL P CALL S(P,3.0,4.0,T)

WRITE(*,100) T100 FORMAT(1X,F5.1)END FUNCTION P(X,Y)

P=X*X+Y*YEND SUBROUTINE S(F,A ,B ,C)C=F(A,B )C=F(B,C)END 运

行上述程序后,输出的T的值为【11】 。

(9) 下列FORTRAN77 程序的功能是,从键盘输入5组实数,每组有10个

实数,并输出各组中元素绝对值之和的最大值与最小值。请在程序中

的下划线处填入合适的内容。AMAX=0.0AMIN=0.0SO 200 K=1, 5

【12】DO 100 J=1,10READ(*,*) XSUM=SUM+【13】100 CONTINUE IF 

(SUM.GT.AMAX ) 【14】IF ((K.EQ.1).OR.(SUM.LT.AMIN)) 

AMIN=SUM CONTINUE WRITE(*,*) 'AMAX=',AMAX, 'AMIN=',AMIN END

(10) 下列FORTRAN77程序的功能是,从键盘依次输入10个实数赋给一

个长度为10的一维实型数组。在输入数据过程中,要求保持该数组中

的元素是从小到大排列的,并且去掉值相同的数据,最后在数组的最

后的剩余元素中均赋以0。请在程序中的下划线处填入合适的内容。

DIMENSION A(10)K=1DO 100 KK=1,10READ(*,*) XJ=K-110 IF 

(J.GT.0) THENIF (X.LT.A(J)) THEN【15】J=J-1GOTO 10END IFEND 

IFIF ((J.GT.0).AND.(X.EQ.A(J))) THENDO 50 L=J+1,K-150 A(L)=A

(L+1)ELSE【16】K=K+1END IF100 CONTINUEDO 200 KK=K,10200 

【17】WRITE(*,300) (A(K),K=1,10)FORMAT(1X,5F10.5)END

(11) 下面FORTRAN77程序的功能是输出2到点500之间的所有亲密数

对。亲密数对的定义为:如果M的因子(包括号1但不包括自身,下同)

之和为N,且N的因子之和为M,则称自然数M与N为一对亲密数,例如,6的

所有因子之和为1+2+3=6,因此6与它自身构成一对亲密数。请在程序

中的下划线处填入合适的内容。DO 100 M=【18】N=0【19】DO 10 

K=1, LIF (MOD(M,K).EQ.0) N=N+K10 CONTINUEJ=0【20】DO 20 

K=1, LIF (MOD(N,K).EQ.0) J=J+K20 CONTINUEIF ((M.EQ.J).AND.

(M.LE.N)) WRITE(*,*) M,N100 CONTINUEEND



            全国计算机等级考试二级笔试试卷Q Basic语言 
                   (考试时间120分钟,满分100分)

一、选择题((1)-(40)题每题1分,(41)-(50)题每题2分,共60分) 下列各题A) 、B)、C)、D)四个选项中,
只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。 

(l) 在计算机系统中,一个字节的二进制位数为 
A) 16 B) 8 C) 4 D) 由 CPU的型号决定 

(2) 存储 16×16点阵的一个汉字信息,需要的字节数为 
A) 32 B) 64 C) 128 D) 256 

(3) 英文大写字母B的ASCII码为42H,英文小写字母b的ASCII码为 
A) 43H B) 84H C) 74H D) 62H 

(4) 下列计算机语言中,CPU能直接识别的是 
A) 自然语言 B) 高级语言 C) 汇编语言 D)机器语言 

(5) 在计算机领域中,所谓“裸机”是指 
A) 单片机                 B) 单板机 
C) 不安装任何软件的计算机 D) 只安装操作系统的计算机 

(6) 下列带有通配符的文件名中,能代表文件ABCDEF.DAT的是 
A) A*.* B) ?F.* C) *.? D) AB?.* 

(7) 下列DOS命令中,执行时不会发生错误的是 
A) TYPE *.TXT         B) DIR *.TXT 
C) REN A.TXT A:b.TXT  D) COPY *.TXT>CON 

(8) 设当前盘为C盘,C盘的当前目录为\A\B\C。下列DOS 命令中能正确执行的是 
A) MD \ B) MD A:\ C) MD \A\B D) CD C: 

(9) 为了将C:USER中的文件FILE.TXT同名复制到A盘根目录下,下列DOS命令中能正确执行的是 
A) TYPE C:\USER\FILE.TXT > A:\FILE.TXT 
B) TYPE C:\USER\FILE.TXT A:\FILE.TXT 
C) COPY C:\USER\FILE.TXT > A:\FILE.TXT 
D) COPY C:\USER\FILE.TXT 

(10) 在Windows下,当一个应用程序窗口被最小化后,该应用程序 
A) 终止运行 B) 暂停运行 C) 继续在后台运行 D) 继续在前台运行 

(11) 在Windows环境下,下列操作中与剪贴板无关的是 
A) 剪切 B) 复制 C) 粘贴 D) 删除 

(12) 在Windows环境下,实现窗口移动的操作是 
A) 用鼠标拖动窗口中的标题栏 B) 用鼠标拖动窗口中的控制按钮 
C) 用鼠标拖动窗口中的边框   D) 用鼠标拖动窗口中的任何部位 
(13) 一台计算机连入计算机网络后,该计算机 
A) 运行速度会加快 B) 可以共享网络中的资源 
C) 内存容量变大   D) 运行精度会提高 

(14) 不能作为计算机网络中传输介质的是 
A) 微波 B) 光纤 C) 光盘 D) 双绞线 

(15) 下列各项中,不属于多媒体硬件的是 
A) 声卡 B) 光盘驱动器 C) 显示器 D) 多媒体制作工具 

(16) QBASIC中,装入一个已有文件,应使用菜单File下的命令: 
A) New B) Open C) Save D) Exit 

(17) 如果想观察一个QBASIC程序中的各个子程序和函数,应使用菜单View下的命令: 
A) New B) Split C) SUBs D) Output Screen 

(18) 下面叙述正确的是 
A) 程序的行号或标号与程序的执行完全无关 
B) 程序的行号或标号是程序执行顺序的唯一依据 
C) 同一个程序段中不能有相同的二个行号或标号 
D) 同一个程序段中,必须统一用行号或标号,不能有的用行号有的用标号 

(19) 在QBASIC中,常量8888888&的数据类型是 
A) 整型 B) 实型 C) 双精度型 D) 长整型 

(20) 下面四项中不能作为QBASIC变量名的是 
A) xyz.xyz B) uvwxyz123456 C) sincos D) 123xyz 

(21) 在QBASIC中,执行下面四个语句,将得到错误信息的是 
A) ?SGN(0) B) ?ASC(“0”) C) ?ABS(0) D) ?COS(“0”) 

(22) 表达式FIX(-23.87)+INT(24.56)的值为 
A) 0 B) 1 C) -1 D) 2 

(23) 四个字符“D”,“z”,“A”,“9”的ASCII码值最大的是 
A) “D” B) “z” C) “A” D) “9” 

(24) m,n是整数,且n>m,在以下四个语句中,能将x赋值为
一个m-n之间(含m,n)任意整数,即满足m≥x≥n的是 
A) x=INT(RND*(n-m+1))+m B) x=INT(RND*n)+m 
C) x=INT(RND*m)+n       D) x=INT(RND*(n-m))+m 

(25) 在以下四个逻辑表达式中,其逻辑值为“真”的是 
A) NOT(3+5<4+6) B) 2>1 and 3<2 C) 1>2 OR 2>3 D) NOT(1>2) 
(26) 下面的四项叙述中错误的是 
A) 在一行中有多条语句时,逗号“,”可作为语句间的分隔符 
B) 在PRINT语句中,有多个输出项时逗号“,”可作为输出项间
的分隔 
C) 一个DIM语句定义多个数组时,逗号“,”可作为数组间的分隔符 
D) 在READ语句中,有多个变量时逗号“,”可作为变量间的分隔符 

(27) 表达式“Turbo”+“c”>“True”+“Basci”的值是 
A) 0 B) 1 C) –1 D) 2 

(28) 语句DIM arr(-3 to 5, 2 to 6)AS INTEGER定义的数组元素有 
A) 45个 B) 40个 C) 11个 D) 54个 

(29) 下面四组程序成分中语法正确的是 
A) DEF fncdy(n) 
B) DEF cdy(n) cdy=2*3.1416*n cdy=2*3.1416*n fncdy=cdy 
END cdy END DEF 
C) DEF fncdy() 
D) DEF fncdy(n) cdy=2*3.1416*n cdy=2*3.1416*n 
fncdy()=cdy END fncdy END DEF 

(30) 有如下程序 a=3:b=4 PRINT b END 运行后,输出的结果是 
A) 4>3 B) -1 C) 0 D) 显示出错信息 

(31) 有如下程序 a=0 FOR j=1 TO 20 STEP 2 a=a+j\5 
NEXT j PRINT a END 运行后,输出的结果是 
A) 12 B) 16 C) 40 D) 100 

(32) 有如下程序 s=0 i=1 DO WHILE i<=100 IF i 
MOD 10<>0 THEN s=s+i i=i+1 
ELSE i=i+1 END IF LOOP 
PRINT s END 运行后的输出结
果是 
A) 4050 B) 5050 C) 5000 D) 4500 

(33 ) 有如下一组程序语句 DIM zxs AS INTEGER 
zxs%=232 zxs=232.32 PRINT zxs%,zxs 
运行时的输出结果是 
A) 232 232.32    B) 232 232 
C) 232.32 232.32 D) 显示出错信息 

(34) 有如下一组程序语句 DEFSTR C-F d$=“321” 
f=“654” PRINT d+f$ 运行时的输出结果是 
A) 321654 B) “321654” C) 321+“654” D) 显示出错信息 

(35) 有如下程序 c=70 FOR k=11 TO 20 READ x IF x 
d=d+x:c=x ELSE d=d+c END IF NEXT k PRINT d DATA 
75,55,45,80,30,25,40,15,20,5 END 
运行时的输出结果是 
A) 335 B) 330 C) 390 D) 485 

(36) 有如下程序 
xcase=1 INPUT “input value of t:”;t 
SELECT CASE t CASE IS>0 y=xcase+1 CASE IS=0 
y=xcase+2 CASE ELSE y=xcase+3 
END SELECT PRINT xcase;y END 
运行时,从键盘输入1,输出的结果是 
A) 1 2 B) 1 1 C) 1 3 D) 1 4 

(37) 有如下程序 
a=3 IF a<=3 THEN PRINT 3; 
END IF IF a<=4 THEN PRINT 4; 
ENDIF IF a<=5 THEN PRINT 5; 
END IF IF a<=6 THEN PRINT 6; 
END IF PRINT END 
运行后输出结果是 
A) 3 B) 3 4 C) 3 4 5 D) 3 4 5 6 

(38) 有如下程序 
a$=“54321”:b$=“abcde” FOR j=1 TO 5 
PRINT MID$(a$,6-j,1)+MID$(b$,j,1); 
NEXT j PRINT END 
运行后输出结果是 
A) a1b2c3d4e5 B) a5b4c3d2e1 
C) 1a2b3c4d5e D) e1d2c3b4a5 

(39) 有如下程序 CONST st$=“CHINA” 
st$=“GREAT” st$=“HeBei” 
END PRINT st$ END 
运行后输出结果是 
A) CHINA B) GREAT C) HeBei D) 显示出错信息 

(40) 有如下程序 
FOR m=1 TO 4 a=0 FOR j=1 TO 5 
a=1 FOR k=1 TO 6 a=a+3 
NEXT k Next j NEXT m PRINT a 
END 运行后输出结果是 
A) 18 B) 19 C) 90 D) 360 

(41) 在文本模式下,屏幕上显示的最小单位是 
A) 一条直线 B) 一个小圆 
C) 一个字符 D) 一个显象管的象素点(象元) 

(42) 有如下程序 DECLARE SUB A(m,n) m=5: n=4 
CALL A((m),n) PRINT m,n END 
SUB A(m,n) s=m m=s/n n=s mod n 
END SUB 运行后输出结果是 
A) 1 1 B) 5 4 C) 1 4 D) 5 1 

(43) 有如下程序 x=0 FOR k=3 TO 5 
GOSUB ab; s=s+x NEXT k PRINT s 
END ab: x=x+2 RETURN 运行后输出结果是 
A) 3 B) 12 C) 6 D) 9 

(44) 有如下程序 a=30:b=30:c=120:d=120 
CLS SCREEN 1,0 LINE(a,b)-(c,d),1,BF 
END 运行时屏幕上显示 
A) 一个矩形                B) 一条直线 
C) 一个填满了颜色的矩形块  D) 无任何图形 

(45) COMMON SHARED a!,b#语句定义的变量a及b是 
A) 普通型和特别型的通用变量 
B) 单精度实型和双精度实型的全局变量 
C) 单精度实型和双精度实型的局部变量 
D) 普通型和特别型的全局变量 

(46) 有如下程序DECLARE FUNCTION Count(title) 
INPUT title fee=Count(title) PRINT fee 
END FUNCTION Count(title) IF title<40 THEN 
pay=title/2 ELSE pay=10+title END IF 
Count=pay END FUNCTION 运行时从键盘输入40,输出结
果是 
A) 50 B) 20 C) 10 D) 显示出错信息 

(47) 有如下程序 TYPE goods Num AS INTEGER 
Num AS INTEGER * 13 END TYPE DIM cloth 
AS goods 该程序段定义了两个程序成分,它们分
别是 
A) 记录类型和记录变量 B) 记录类型和数组 
C) 显示类型和数组     D) 记录变量和数组 

(48) 有如下程序OPEN “student.dat” FOR OUTPUT 
AS #1 READ num,nam$,sex$,score DO UNTIL 
nam$=“end” WRITE #1,num,nam$,sex$,score 
READ num,nam$,sex$,score LOOP DATA 101,Li,m,
90,103,Wang,f,98 DATA 104,Xiu,f,100,105,Zhang,m,
78 DATA 000,end,, CLOSE END 运行后,在文件student.dat
中写入的记录共有 
A) 3个 B) 4个 C) 5个 D) 6个 

(49) 以下程序的功能是由键盘输入10个数,然后将此10个数
从小到大排序,并将排序后的10个数显示在屏幕上。但程序不
完整,须在【49】处将程序补充完整。 DIM a(10) FOR 
j=1 TO 10 INPUT a(j):PRINT a(j); NEXT j:PRINT 
FOR i=1 TO 9 FOR j=I+1 TO 10 IF a(j) NEXT 
j NEXT j FOR j=1 TO 10 PRINT a(j); 
NEXT j PRINT END 【49】处的内容可在如下四项中选择
一项 
A) a(j)= a(j)    B) CHANGE a(j), a(j) 
C) SWAP i,j      D) SWAP a(ij), a(j) 

(50) 有如下程序 OPEN “goods.dat”FOR INPUT AS #1 
n=1 DO UNTIL EOF(1) INPUT #1,no,part$,place$,price 
PRINT no, part$,place$,price n=n+1 IF n=5 THEN EXIT 
DO LOOP CLOSE END 在数据文件goods.dat中共有10个记录,
运行此程序后,实际从文件goods.dat中读入的记录有 
A) 3个 B) 4个 C) 5个 D) 6个 

二、填空题(每空2分,共40分)请将每一个空的正确答案写在答题卡【l】至【20】序号的横线上,答在试卷上不得分。 

(l)为了将当前盘当前目录中的所有文本文件(扩展名为.TXT)的

内容打印输出,正确的单条DOS命令为 【l】 。 

(2)设当前盘为C盘。为了在A盘的当前自录\USER下建立一个新的子

目录X,正确的DOS命令为 【2】 。 
(3)在 XCOPY、COPY、TIME三个 DOS命令中,属于外部命令的是 

【3】 。 
(4)在32位的计算机中,一个字长等于【4】个字节。 

(5)计算机网络分为局域网和广域网,因特网属于 【5】 。 

(6)数学式 的QBASIC表达式 【6】 。 

(7)在QBASIC程序中定义长度为10的字符串型变量ab的语句是 

【7】 。 

(8)表达式34 MOD (1-3^3)的值为【8】 。  

(9) 四个字符串“ABC”、“Average”及“access”中的最大者为

【9】 。 

(10) 下面程序运行后的输出结果如下:D CD BCD 

ABCD 但程序不完整,请在处【10】补充使之完整。 程序如下: 

a$=“ABCD” FOR m=1 TO 4 PRINT 【10】 NEXT m 
END 

(11) 下面一段程序定义了一个学生记录,包括name、age及birthday

三个域,其中birthday为字符型,格式为mm/dd/yyyy,但程序不完

整,请在【11】处补充使之完整。 TYPE student nam AS 

STRING*12 age AS INTEGER birthday AS 【11】 END 

TYPE 

(12) 下面程序运行后的输出是【12】 。 k=1:m=5 FOR 

j=1 TO m k=k+j*j NEXT j PRINT k\m END 

(13) 下面的程序是从键盘输入一个数,在已知的数列中进行查找,

未找到该数时返回-1,找到时返回该数在数列中的序号。查找在一个

独立模块的函数中实现。请在【13】 、【14】 、【15】处将程序补

充完整。程序如下: 【13】 FUNCTION srch(b(),a) 

OPTION BASE 1 DIM SHARED b(50) FOR j=1 TO 50 B

(j)=j NEXT j INPUT “enter a number to find:”;n 
m=srch(b(),n) IF m<>-1 THEN PRINT “Found at ”,m 
ELSE PRINT “Not Found” END IF END 【14】 

srch(b(),a) FOR j=1 TO 50 IF b(j)=a THEN srch=j 
EXIT 【15】 ELSE srch=-1 END IF NEXT j 

END FUNCTION 

(14) 下面程序的作用是利用随机函数产生100个100~200之间(包含

100、200)的随机函数,打印其中17的整数倍的数及除去17的整数倍

的数之外的其它数的总和。请根据程序的需要在【16】 、【17】 、

【18】三处填上正确内容。 RANDOMIZE TIMER s=0 FOR 

m=1 TO 100 x=INT(RND*【16】):s=s+x IF 【17】 THEN 
PRINT x; k1=k1+x ENDIF NEXT m PRINT 

PRINT “The sum=”; 【18】 END 

(15) 下面程序的作用为判断是否闰年(非闰年为不可被4整除,或能

被100整除但不能被400整除的年份),请在【19】 、【20】 处补充

使之完整。 程序如下: INPUT “Year=”;y IF y MOD 

4<>0 THEN 【19】 ELSEIF 【20】 THEN  Leapyear=0 
ELSE  Leapyear=1 ENDIF IF Leapyear=0 THEN  

PRINT “Non-Leap Year!” ELSE PRINT “Leap Year!” 
END IF END 



浏览该文章的用户为您推荐了该信息: 
       
   
   
 
站内检索:
栏目导航
本月授课安排
阅读排行