⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2001年9月二级笔试试题pascal.txt

📁 c++的大量习题,对二级考试大有帮助. 希望大家满意.
💻 TXT
字号:
全国计算机等级考试二级笔试试卷
基础部分和PASCAL语言程序设计
(考试时间:120分钟,满分100分)
2001年9月
一、选择题((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) 设ch为字符类型变量,下列语句正确的是
A) ch='-9' B) ch:=Abs(ch) C) ch:=ch D) ch:='6'+'8'
(17) 下列可用作用户自定义标识符的是
A) PROGRAM B) PROGRAM2 C) A[i] D) PROGRAM#
(18) 下面关于数组下标的描述中错误的是
A) 数组下标的类型可以是布尔型
B) 数组下标的类型不能是实型
C) 数组下标的类型可以是已定义的枚举型
D) 如果数组下标的类型是整型,则其下界必须大于0
(19) 设a为999.9,执行Write(a:5:2)后输出的是
A) 999.90 B) 999.9 C) 99.9 D) 99.90
(20) 在CASE语句中,下列的常量不能用作情况常量的是
A) 布尔型 B) 整型 C) 实型 D) 枚举型
(21) 以下关于多重循环正确的描述是
A) 多重循环中的各层循环可以交叉。
B) 多重循环的各层循环必须使用相同的循环语句。
C) 多重循环的最内层循环的循环体只能是一条简单语句。
D) 多重循环中若使用多个FOR语句,则各FOR语句循环控制变量不能相同。
(22) 设变量a,b为整型,x为布尔类型。下面正确的PASCAL赋值语句是
A) a:=b:=5 B) x:=a+b C) a+b:=x D) x:=a=b
(23) 下列表达式值为5的是
A) Pred(8 DIV 2) B) Abs(Round(23/4))
C) Succ(Trunc(22/(5 MOD(-8)))) D) ((8 MOD 5)*3+1) DIV 3
(24) 设保留字(1)CONST (2)TYPE (3)BEGIN (4)VAR,按标准PASCAL语法规则,它们在同一个程序模块中出现时正确的排列顺序是
A) (2),(4),(3),(1) B) (1),(4),(2),(3)
C) (1),(2),(4),(3) D) (2),(4),(1),(3)
(25) 以下合法的PASCAL常量是
A) False B) 5..10 C) ‵abc′ D) [1,3,5]
(26) 下列中错误的PASCAL表达式是
A) 10e3*2 B) 15 DIV 3 C) 15 DIV 3*4.0 D) 15.0 DIV 3
(27) 设变量ch为字符类型,且ch中为数字字符,下列能将ch中字符转换成对应数字的正确表达式是
A) Ord(ch-'0') B) Ord(ch)-Ord(0)
C) Ord(ch)-'0' D) Ord(ch)-Ord('0')
(28) 释放指针p所指的动态变量应使用的标准过程是
A) Notnew(p) B) Delete(p) C) Dispose(p) D) Erase(p)
(29) 函数返回值的类型可以是
A) 数组类型和简单类型 B) 记录类型和简单类型
C) 文件类型和简单类型 D) 指针类型和简单类型
(30) 设a和b是同类型记录变量,下面正确的语句是
A) a:=b B) a:=a+b C) Read(a,b) D) Write(a,b)
(31) 语句Writeln((Succ(8)+Ord(True)+5.0):3:1)执行后,正确的输出是
A) 15 B) 14.0 C) 15.0 D) 14
(32) 以下结论正确的是
A) 表达式[red,black]*[blue] 的值为[red,black,blue]
B) 表达x IN [i,j] 等价于(x=i)OR(x=j)
C) 表达式[red,black]+[red,blue,green] 的值为[black,blue,green]
D) 表达式[red]-[red,blue] 的值为[blue]
(33) 设变量a,b,c,x均为整型,且a=3,b=2,c=1,要使x值为3应执行的正确语句是
A) IF a<b THEN x:=1 B) IF c<a THEN x:=1
ELSE IF b<c THEN x:=2 ELSE IF a<b THEN x:=2
ELSE x:=3 ELSE x:=3
C) IF c<b THEN x:=1 D) IF a>b THEN x:=1
ELSE IF b<a THEN x:=2 ELSE IF b>c THEN x:=2
ELSE x:=3 ELSE x:=3
(34) 设数组定义
VAR a,b:ARRAY[1..10] OF Real;
下列语句中正确的是
A) a:=b B) Read(a,b)
C) a[1..10]:=b[1..10] D) a[b[1]]:=3
(35) 设有下列说明
TYPE
pt=^Integer;
VAR p,q: pt;
及过程首部:PROCEDURE proc(a:Integer; q:pt);
合法的过程调用是
A) proc(p,q) B) proc(p^,q^) C) proc(p^,q) D) pric(p,q^)
(36) 循环体至少被执行一次的循环语句是
A) FOR语句 B) REPEAT-UNTIL语句
C) WHILE语句 D) FOR、REPEAT-UNTIL和WHILE语句
(37) 在PASCAL中,对各种运算符进行分类,其中乘法类运算符的全集是
A) *,/,DIV,MOD,AND B) *,/,DIV,MOD
C) *,/,DIV D) *
(38) 设变量m,i,j均为整型,程序段
m:=56;
FOR i:=1 TO 3 DO
FOR j:=3 TO i DO
m:=m MOD j;
执行后,变量m的值是
A) 0 B) 2 C) 9 D) 18
(39) 设有如下定义
TYPE
set=(male,female);
VAR x,y:sex;
则下列合法的语句是
A) Read(y,x) B) Write(x,y) C) x:=y D) x:=Succ(female)
(40) 有下面程序
PROGRAM p40(Input,Output);
VAR a:ARRAY[1..2,1..3]OF Integer;
i,j:Integer;
BEGIN
FOR i:=1 TO 3 DO
FOR j:=1 TO 3 DO
Read(a[i,j]);
Readln;
FOR i:=1 TO 3 DO
FOR j:=1 TO 2 DO
Write(a[j,i]:3);
Writeln
END.
此程序执行时若从键盘输入1 2 3 4 5 6则输出是
A) 1 2 3 4 5 6 B) 1 4 2 5 3 6 
C) 1 2 3 D) 1 4
4 5 6 2 5
3 6
(41) 设有说明如下
TYPE colortype=(RED,BLUE,YELLOW,WHITE,BLACK);
person=(MAN,WOMAN);
VAR color:colortype;
student:person;
下列语句中有语法错误的是
A) FOR color:=RED TO BLACK DO Write('MAN');
B) WHILE color=BLACK DO Write('MAN');
C) IF color<>YELLOW THEN Write('YES');
D) IF WOMAN>RED THEN Write('NO');
(42) 设有如下说明:
TYPE arr=ARRAY[1..10]OF Char;
point=^arr;
VAR p1,p2:point;
若已执行了New(p1)和(New(p2),下列语句和表达式中错误的是
A) p1^[5]:='A' B) p1^[5]:=p2^[5] C) p1^[5]-p2^[5] D) p1^[5]<>p2^[5]
(43) 设变量m,n均为整型,以下程序段
m:=6; n:=3;
WHILE m>n DO
BEGIN
n:=m*n MOD 4;
m:=m*n DIV 4
END;
中循环体的执行次数是
A) 1 B) 2 C) 3 D) 4
(44) 设有以下函数定义
FUNCTION m(a,b:Integer):Integer;
BEGIN
m:=3*a-b DIV 2
END;
执行语句s:=m(m(2,3),m(3,4))后,s的值是
A) 5 B) 12 C) 6 D) 7
(45) 有下面程序
PROGRAM p45(Output);
CONST m=10;n=5;
VAR x,y:Integer;
PROCEDURE p1;
VAR y:Integer;
BEGIN
y:=m+n;x:=m
END;
BEGIN
y:=m*n;
p1;
Writeln(y)
END.
该程序的输出结果是
A) 150 B) 15 C) 10 D) 50
(46) 设有以下程序段
PROGRAM p46;
VAR a:ARRAY[1..3,1..4]OF Integer;
b:ARRAY[1..4,1..3]OF Integer;
x,y:Integer;
BEGIN
FOR x:=1 TO 3 DO
FOR y:=1 TO 4 DO
a[x,y]:=x-y;
FOR x:=4 DOWNTO 1 DO
FOR y:=1 TO 3 DO
b[x,y]:=a[y,x];
Writeln(b[3,2]);
END.
此程序运行后的输出是
A) -1 B) -2 C) 2 D) 1
(47) 函数
FUNCTION s(VAR f:Text;ch:Char):Boolean;
VAR find:Boolean;
c:Char;
BEGIN
Reset(f);
find:=False;
WHILE NOT Eof(f)AND NOT find DO
BEGIN
Read(f,c);
IF c=ch THEN find:=True;
END;
s:find
END;
的功能是
A) 从文件中读一个字符,由变量ch返回。操作成功,则函数返回True,否则函数返回False。
B) 在文件中查找与ch中字符相等的字符,若找到,则函数返回True,否则函数返回False。
C) 判断文件中最后一个字符是否与ch中字符相同,若相同,则函数返回True,否则函数返回False。
D) 判断文件中第一个字符是否与ch字符相同,若相同,则函数返回True,否则函数返回False。
(48) 有如下说明
TYPE
ptr=^rec;
rec=RECORD
x:Integer;
next:ptr
END;
PROCEDURE proc(VAR a,b:ptr);
VAR p:ptr;
BEGIN
p:=a;
WHILE p^.next<>NIL DO
p:=p^.next;
p^.next:=b
END;
在调用proc时,a,b是指向2个不同单链表的头指针。则过程proc的功能是
A) 将b链表接在a链表之后,形成一个链表。
B) 将a链表接在b链表之后,形成一个链表。
C) 找到链表a的最后结点,由b指针返回。
D) 将链表a分成两个链表,分别由a、b指针表示。
(49) 有如下函数说明
FUNCTION dn(m:Integer):Integer;
VAR v:Integer;
BEGIN
IF m=0 THEN v:=5
ELSE IF m<0 THEN v:=dn(m+1)+2
ELSE v:=dn(m-1)-2;
dn:=v
END;
则dn(1)的值是
A) 5 B) 3 C) 0 D) 4
(50) 有下列程序
PROGRAM testp1(Output);
VAR a,b,c:Integer;
PROCEDURE p1(a,b:Integer;VAR c:Integet);
BEGIN
c:=a+b+c;
END;
BEGIN
a:=5;b:=8;c:=3;
p1(a,b,c);Writeln(a:4,b:4,c:4);
END.
该程序执行后,正确的输出结果是
A) 5 3 8 B) 5 8 16 C) 5 8 5 D) 5 8 8
二、填空题(每空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) 已知有下面的类型说明和函数说明。记录变量r中存放的是某人的姓名和出生日期,函数func的作用是计算并返回该人到达2001年8月31日止的实际年龄(周岁)。请填空完成此函数。
TYPE
date=RECORD
year:Integer; {年}
month:Integer;{月}
day :Integer;{日}
END;
rec=RECORD
name:STRING; { 姓名}
birthday:date; {出生日期}
END;
FUNCTION func(r:rec):Integer;
VAR a:Integer;
BEGIN
WITH 【6】 DO
BEGIN
IF month>8 THEN
a:=1
ELSE
a:=0;
func:=2001- 【7】;
END
END;
(7) 函数func的功能是:对于给定的单循环链表(链表不为空),求出各结点数据域中的最大值。填空完成此函数。
TYPE
link=^node;
node=RECORD
data:Integer;
next:link
END;
FUNCTION func(p:link):Integer;
VAR
q:link;
m:Integer;
BEGIN
m:=p^.data;
q:= 【8】;
REPEAT
q:=q^.next;
IF q^.data>m THEN
m:= 【9】;
UNTIL q^.next=p;
【10】;
END;
(8) 以下程序的功能是计算文本文件file1.dat中数据的行数,结果写入文件file2.dat中。请填空完成此程序。
PROGRAM p8(Input,Output);
VAR
f,s:Text;
sum:Integer;
BEGIN
Assign(f,'file1.dat');
Assign(s,'file2.dat');
Reset(f);
Rewrite(【11】);
sum:=0;
WHILE NOT(【12】) DO
BEGIN
Readln(f);
【13】;
END;
Writeln(s,sum);
Close(f);
Close(s);
END.
(9) 设有以下说明:TYPE arr=ARRAY[1..20] OF Integer;函数func的作用是求数组a(为arr类型)中的最小值,并通过函数返回。请填空完成此函数。
FUNCTION func(a:arr): 【14】;
VAR i,min:Integer;
BEGIN
min:= 【15】;
FOR i:=2 TO 20 DO
IF a[i] 【16】 THEN
min:=a[i];
func:= 【17】;
END;
(10) 下面程序可以把从键盘输入的一个小于32767的十进制正整数转换为字符形式的十六进制数输出,请填空完成。
PROGRAM dtoh(Input,Output);
VAR a,k:Integer;
s:ARRAY[1..4] OF Char; {数组s存放转换后的十六进制数}
FUNCTION ntoc(a:Integer):Char;
BEGIN
IF a>9 THEN
ntoc:=Chr【18】
ELSE
ntoc:=Chr(a+Ord('0'))
END;
BEGIN
k:=1; Readln(a);
WHILE(k<=4) AND (a>0) DO
BEGIN
s[k]:=ntoc(a MOD 16);
a:= 【19】;
k:=k+1
END;
FOR a:= 【20】 DOWNTO 1 DO
Write(s[a]);
Writeln
END.
〖完〗

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -