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

📄 2000年4月二级笔试试题pascal.txt

📁 c++的大量习题,对二级考试大有帮助. 希望大家满意.
💻 TXT
字号:
2000年4月
全国计算机等级考试二级笔试试卷
基础部分和PASCAL语言程序设计
(考试时间性120分钟,满分100分)
一、选择题(1)~(40)题每小题1分,(41)~(50)题每小题2分,共60分)
下列各题A),B),C),D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答卡相应位置上,答在试卷上不能得分。
(1) 下列述叙中正确的是
A) 显示器和打印机都是输出设备 B) 显示器只能显示字符
C) 通常的彩色显示器都有7种颜色 D) 打印机只能打印字符和表格
(2) 微型计算机中运算器的主要功能是进行
A) 算术运算 B) 逻辑运算 C) 算术和逻辑运算 D) 初等函数运算
(3) COMMAND。COM是DOS系统的最外层模块,通常称之为
A) 引导程序 B) 输入输出系统 C) 命令处理系统 D) 文件管理系统
(4) 电子邮件是
A)网络信息检索服务
B)通过Web网页发布的公告信息
C)通过网络实时交互的信息传递方式
D)一种利用网络交换信息的非交互式服务
(5) 和十进制数225相等的二进制数是
A) 11101110 B) 11111110 C) 10000000 D) 11111111
(6) 下列叙述中正确的是
A) 指令由操作数和操作码两部分组成
B) 常用参数xxMB表示计算机的速度
C) 计算机的一个字长总是等于两个字节
D) 计算机语言是完成某一任务的指令集
(7) 计算机的内存储器比外存储器
A) 价格便宜 B) 存储容量大 C) 读写速度快 D) 读写速度慢
(8) 设当前盘为C盘,执行DOS命令"COPY B:\A.TXT PRN"之后,结果是
A) B盘上的A.TXT文件被复制到C盘的PRN文件
B) 屏幕上显示B盘上的A.TXT文件内容
C) B盘上的A.TXT文件内容在打印机上输出
D) B盘上的A.TXT文件被复制到B盘上的PRN文件
(9) 要将当前盘当前目录下的两个文件X1.TXT和B1.TXT连接起来之后存入B盘当前目录下并且命名为Z.TXT,无论B盘当前目录是什么,完成这件任务可以使用的命令是
A) COPY A:X1.TXT+C:B1.TXT Z.TXT
B) COPY X1.TXT+C:\WS\B1.TXT B:\Z.TXT
C) COPY A:X1.TXT+C:\WS\B1.TXT
D) COPY X1.TXT+B1.TXT B:Z.TXT
(10) 下列四组DOS命令中,功能等价的一组是
A) COPY A:*.* B:与DISKCOPY A: B:
B) COPY ABC.TXT+XYZ.TXT 与TYPE XYZ.TXT>>ABC.TXT
C) COPY ABC.TXT+XYZ.TXT与COPY XYZ.TXT+ABC.TXT
D) TYPE *.FOR>CON与COPY *.FOR CON
(11) 设当前目录为D:\BB,现要把D:\AA目录下首字符是A的文本文件全部删除,
应该使用命令
A) DEL A*.TXT B) DEL \AA\A.TXT
C) DEL \AA\A*.TXT D) DEL \AA\A?.TXT
(12) 在Windows中,启动应用程序的正确方法是
A) 用鼠标指向该应用程序图标
B) 将该应用程序窗口最小化成图标
B) 将该应用程序窗口还原
D) 用鼠标双击该应用程序图标
(13) 在Windows中,终止应用程序执行的正确方法是
A) 将该应用程序窗口最小化成图标
B) 用鼠标双击应用程序窗口右上角的还原按钮
C) 用鼠标双击应用程序窗口中的标题栏
D) 用鼠标双击应用程序窗口左上角的控制菜单框
(14) 在微机系统中,对输入输出设备进行管理的基本程序模块(BIOS)存放在
A) RAM中 B) ROM中 C) 硬盘中 D) 寄存器中
(15) 使计算机病毒传播范围最广的媒介是
A) 硬磁盘 B) 软磁盘 C) 内部存储器 D) 互联网
(16) 若未做任何常量定义,则下面正确的PASCAL常量是
A) Flase B) ln3 C) 'PASCAL' D) .008
(17) PASCAL源程序中不正确的注释语句是
A) 用一对"{"和"}"括起来的字符串
B) 用一对"/*"和"*/"括起来的字符串
C) 用一对"(*"和"*)"括起来的字符串
D) A)或C)
(18) 下列类型定义中不合法的是
A) TYPE A=(B,C,D); B) TYPE A=(B,C,D);
a1=D..B; a2=B..C;
C) TYPE A=(B,C,D); D) TYPE A=(B,C,D);
a3=B..D; a4=C..C;
(19) 下列常量说明中合法的是
A) CONST write=2.5; B) CONST s=(a,b,c);
C) CONST pi=π; D) CONST t=1..9;
(20) 语句Writeln('25*4=')正确的输出结果是
A) 100 B) '25*4=' C) 25*4= D) 25*4=100
(21) 要使表达式(x<=100)AND(x>=10) OR NOT(x<>0)的值为True,则整型变量x值的范围是
A) 10~100与0 B) 10~100或0 C) 0 D) 10~100
(22) 表达式False AND Odd(-305)>(5-7<=-2)的值是
A) False B) True C) 1 D) 0
(23) 设a,b,c均为整型变量,下面语句
a:=2; b:=4; c:=1;
a:=a+b; b:=a-b; c:=a DIV b;
运行后,a,b,c的值分别是
A) 2 4 0 B) 6 2 3 C) 2 4 1 D) 6 2 0
(24) 已知有说明
VAR x,y:Integer;
u,v:Real;
则下列赋值语句合法的是
A) x:=u-v; B) u:=x+y; C) x:=x/y; D) y:=x MOD u;
(25) 下面哪组语句与Writeln(a,b,c);完全等价?
A)Write(a); Write(b); Write(c);
B) Writeln(a); Writeln(b); Writeln(c);
C) Writeln(a,b); Write(c);
D) Write(a,b); Writeln(c);
(26) 若希望得到 a=1,b=2,c=3,d=4,针对以下读语句
Read(a,b);
Readln(c);
Readln(d);
下面不正确的输入格式是
A) 1 B) 1 2 C) 1 2 D) 1
2 3 4 3 2 3
3 4 4
4
(27) 下列哪个函数的值不是'D'?
A) Chr(Ord('A')+3) B) Succ(Succ(Succ('A')))
C) Succ(Chr(Pred(Ord('A'))+4)) D) Pred(Chr(Ord('A')+4))
(28) 下面变量说明中语法正确的是
A) VAR a,b:ARRAY[a..c,1..10] OF Char;
B) VAR a:PACKED ARRAY['a'..'f'] OF Char;
C) VAR a:ARRAY[5..1,False..True] OF Char;
B) VAR a:ARRAY[1..10] OF Char ARRAY[1..5] OF Integer;
(29) 设有如下程序段
a:=0; {a,i为整型变量}
FOR i:=1 TO 15 DO
a:=a+i MOD 3;
Writeln(a);
该程序段运行后输出的结果是
A) 90 B) 1 C) 15 D) 120
(30) 下面正确的枚举类型或子界类型定义是
A) TYPE vowel=('a','e','i','o','u');
B) TYPE day=1..31 or 1..30 or 1..28;
C) TYPE color=(red,blue,green);
D) TYPE workdays=mon..fri;
workdays=(mon,tue,wed,thu,fri,sat,sun);
(31) 设有说明
TYPE t=(A,B,C,D);
VAR s:ARRAY(11..15) OF ARRAY[t] OF Integer;
则数组s中共有多少个元素?
A) 4 B) 5 C) 9 D) 20
(32) 设有变量说明:VAR c:'A'..'Z';
a,b: SET OF 'A'..'Z';
下列哪个表达式的值不能直接用Write语句输出?
A) c IN (a+b) B) a<b C) a*b D) a=[c]
(33) 下面合乎语法的函数或过程首部是
A) PROCEDURE print:Char;
B) PROCEDURE add(x,y,VAR z);
C) FUNCTION sum(n:Integer);
D) PROCEDURE abc;
(34) 下面循环语句能构成有限次循环的是
A) i:=4; B) i:=7;
REPEAT REPEAT
i:=i+1 i:=i+1
UNTIL i>0; UNTIL i<0;
C) i:=8; D) i:=1;
REPEAT REPEAT
i:=i-2 i:=i+2
UNTIL i=1; UNTIL i=8;
(35) 下列表达式中结果为空集的是
A) [1..5]-[6] B) [1..5]+[6] C) [1..5]*[6] D) 6 IN [1..5]
(36) 下列描述中错误的是
A)文本文件不是随机文件
B) 只能对文件指针所指的元素进行读写
C) Readln过程不能用于随机文件
D) 随机文件只能随机读写,不能顺序读写
(37) 请阅读下面函数
FUNCTION f(n:Integer):Integer;
BEGIN
IF n<1 THEN
f:=0
ELSE
f:=f(n-1)+n
END;
此函数的功能是
A) 返回n!的值 B) 返回1+2+3+...+n的值
C) 返回n×n的值 D) 返回n×2的值
(38) 变量r指向如下图所示的存储结构,其中p是指向字符串(长度=10)的指针域,
next是指向该结构的指针域,data存放整形数。 
p next data
┌────┬────┬────┐
r→│ │ │ │
└────┴────┴────┘
下面对此结构的类型定义和变量r的说明正确的是 
A) VAR r:RECORD B) VAR r:RECORD
p:^Char; p:^STRING[10];
next:^r; next:^r;
data:Integer data:Integer
END; END;
C) TYPE link=^node; D) TYPE link=^node;
node=RECORD node=RECORD
p:^STRING[10]; p:^STRING[10];
next:link; next:link;
data:Integer data:Integer
END; END;
VAR r:link; VAR r:node;
(39) 设有说明
VAR p,q:^Integer;
x:ARRAY[10..30] OF Integer;
当执行过程语句
New(p); New(q);
后,若有赋值语句
p^:=10; q^:=20;
则下列赋值语句合法的是
A) x[q]:=p^ B) x[q^]:=p C) x[q^]:=p^ D) x[q]:=p
(40) 设有如下说明
TYPE link=^rec;
rec=RECORD
data:Integer;
next:link
END;
FUNCTION f(head:link):Integer;
VAR n:Integer;
BEGIN
n:=0;
WHILE head<>NIL DO
BEGIN
n:=n+1;head:=head^.next
END;
f:=n
END;
若调用函数f时的实参为指向一个单链表的头节点的指针,则函数返回的是
A) 链表中节点数据的最大值 B) 链表中节点数据的最小值
C) 链表中节点的个数 D) 链表中节点数据值之和
(41) 设有说明
TYPE
t1=RECORD
a:Integer;
b:Real
END;
t2=RECORD
a:Integer;
b:Real;
d:t1
END;
VAR r:t2;
若要求对r.a赋值为1,则下列哪个程序段能满足要求?
A) WITH r DO B) WITH d DO
WITH d DO WITH r DO
BEGIN BEGIN
a:=1; a:=1;
b:=2; b:=2;
c:=3 c:=3
END; END;
C) WITH d,r DO D) WITH r DO
BEGIN BEGIN
a:=1; a:=1;
b:=2; WITH d DO
c:=3 BEGIN
END; a:=1;b:=2;c:=3
END
END;
(42) 请阅读下面函数
FUNCTION f(n:Integer):Integer;
VAR t,k:Integer;
BEGIN
t:=n+1;
FOR k:=3 TO n DO
t:=t*k;
f:=t
END;
此函数返回的是下列哪个表达式的值?
A) n! B) (n+1)!-2 C) (n+1)! D) (n+1)!÷2
(43) 设n,t,k是整型变量,为使下面的程序段可以正确输出n!的值(n<=7)
Readln(n);
t:=1; k:=1;
WHILE k<n DO
BEGIN
k:=k+1;
p(t,k)
END;
Writeln(t);
应选用的过程是
A) PROCEDURE p(t,a:Integer);
BEGIN
t:=t*a; a:=a+1
END;
B) PROCEDURE p(VAR t:Integer; a:Integer);
BEGIN
t:=t*a; a:=a+1
END;
C) PROCEDURE p(t:Integer; VAR a:Integer);
BEGIN
t:=t*a; a:=a+1
END;
D) PROCEDURE p(VAR t,a:Integer)
BEGIN
t:=t*a; a:=a+1
END;
(44) 设有说明
VAR i,j:Integer;
a:ARRAY[1..5] OF Integer;
并有下列程序段
a[1]:=1;
FOR i:=1 TO 5 DO
FOR j:=1 TO 5 DO
a[j]:=a[i]+1;
FOR i:=1 TO 5 DO
Write(a[i]:3);
Writeln
则程序段运行后的输出结果是
A) 1 2 3 4 5 B) 1 3 5 7 9
C) 2 3 4 5 6 D) 2 4 6 8 10
(45) 有如下程序
PROGRAM p30(Input,Output);
VAR i,j,y:Integer;
a:ARRAY[1..8] OF Integer;
BEGIN
i:=1; y:=18;
WHILE y>=1 DO
BEGIN
a[i]:=y MOD 2;
y:=y DIV 2;
i:=i+1
END;
FOR j:=i-1 DOWNTO 1 DO
Write(a[j]);
Writeln
END.
则程序运行后的输出结果是
A) 10000 B) 10010 C) 00110 D) 10100
(46) 有下列程序
PROGRAM exam(Output);
VAR m,n:Integer;
BEGIN
m:=63; n:=14;
WHILE m<>n DO
BEGIN
WHILE m>n DO
m:=m-n;
WHILE n>m DO
n:=n-m;
END;
Writeln(m:4,n:4)
END.
则运行结果是
A) 1 1 B) 7 7 C) 1 7 D) 7 1
(47) 有以下程序
PROGRAM p28(Input,Output);
TYPE arr=ARRAY[1..8] OF Integer;
VAR a:arr;i,n:Integer;
PROCEDURE select(VAR b:arr; VAR n:Integer);
VAR i,j:Integer;
BEGIN
i:=0;
FOR j:=1 TO n DO
IF b[j] MOD 2=0 THEN
BEGIN
i:=i+1; b[i]=b[j]
END;
n:=i
END;
BEGIN
n:=8;
FOR i:=1 TO n DO
Read(a[i]);
Readln;
select(a,n);
FOR i:=1 TO n DO
Write(a[i]:3);
Writeln
END.
若程序运行时输入数据:
1 2 3 4 5 6 7 8<回车>(每个数据之间有一个空格符)
则程序的运行结果是
A) 1 3 5 7 B) 2 4 6 8 C) 1 2 3 4 D) 2 2 4 4
(48) 设文件file.dat的内容是1 2 3 4 5 6 (每个数据之间有一个空格符),并有下列程序:
PROGRAM main(Input,Output);
CONST n=6;
VAR i,x:lnteger;
a:ARRAY[l..n] OF lnteger;
f:Text;
BEGIN
Assign(f,'file.dat');
Reset(f);
FOR i:=n DOWNTO 1 DO
BEGIN
Read(f,x); a[i]:=x
END;
Colse(f);
FOR i:=1 TO n DO
IF i MOD 2=0 THEN
Write(a[i]:3);
Writeln
END.
则程序的运行结果是
A) 1 3 5 B)5 3 1 C) 2 4 6 D) 6 4 2
(49) 有下列程序
PROGRAM aaa(Output);
FUNCTION p(x,n:Integer):Integer;
BEGIN
IF n=0 THEN
p:=1
ELSE IF Odd(n) THEN
p:=x*Sqr(p(x,n DIV 2))
ELSE
p:=Sqr(p(x,n DIV 2))
END;
BEGIN
Writeln(p(2,3))
END.
则程序的运行结果是
A) 2 B) 4 C) 6 D) 8
(50) 设a,b是整形变量。对任意正整数a,b,下面哪个函数可以正确返回a DIV b的值?
A) FUNCTION f(a,b:Integer):Integer; B) FUNCTION f(a,b:Integer):Integer;
VAR x,k:Integer; VAR x,k:Integer;
BEGIN BEGIN
x:=b; k:=0; x:=b; k:=0;
REPEAT REPEAT
k:=k+1; x:=x+b k:=k+1; x:=x+b
UNTIL x=a; UNTIL x>=a;
f:=k f:=k
END; END;
C) FUNCTION f(a,b:Integer):Integer; D) FUNCTION f(a,b:Integer):Integer;
VAR x,k:Integer; VAR x,k:Integer;
BEGIN BEGIN
x:=b; k:=0; x:=b; k:=0;
WHILE x<a DO WHILE x<=a DO
BEGIN BEGIN
k:=k+1; x:=x+b k:=k+1; x:=x+b
END; END;
f:=k f:=k
END; END;
二、填空题(每空2分,共40分)
请将每空的正确答案写在答题卡上【1】-【20】序号的横线上,答在试卷上不得分。
(1) 计算机网络按通信距离来划分,可分为局域网和广域网。因特网属于 【1】 。
(2) 当前盘是C,确保在D盘的根目录下建立一个子目录USER的一条DOS命令是 【2】 。
(3) 要将当前盘当前目录中所有扩展名为.TXT的文件内容显示在屏幕上的DOS命令是【3】 。
(4) DOS命令分为内部命令和外部命令,CHKDSK命令是 【4】 命令。
(5) 在Windows中,为了终止一个应用程序的运行,首先单击该应用程序窗口中的控制菜单框,然后在控制菜单中单击 【5】 命令。
(6) 下面过程swap的功能是:将两个整数指针所指的内容进行交换。请填空完成。
PROGRAM swap(p,q:^Integer);
VAR temp:Integer;
BEGIN
temp:=^p;
^p:= 【6】 ;
^q:= 【7】 ;
END;
(7) 下面函数可以返回1~n之间所有可以被5整除的奇数之和。请填空完成。
FUNCTION func(n:Integer):Integer;
VAR k,s:Integer;
BEGIN
s:= 【8】 ;
FOR k:=1 TO n DO
IF (k MOD 5=0) AND ( 【9】 ) THEN
s:=s+k;
func:=s
END;
(8) 下面程序将所有小写字母从z开始以降序每隔一个输出。
即输出 z x v t ...... d b 请填空完成。
PROGRAM prog8(Output);
VAR ch:Char;
BEGIN
ch:= 【10】 ;
WHILE ch>='a' DO
BEGIN
Write(ch:3);
ch:=Pred(ch);
ch:= 【11】 ;
END
END.
(9) 函数comp的功能是:计算方阵a中所有奇数行元素的最大值减去a中所有偶数行元素的最小值的差。(其中类型arr为:arr=ARRAY[1..10,1..10] OF Integer;)请填空完成。
FUNCTION comp(a:arr):Integer;
VAR i,j,max,min:Integer;
BEGIN
max:=a[1,1]; min:=a[2,1];
FOR i:=1 TO 10 DO
FOR j:=1 TO 10 DO

BEGIN
IF 【12】 THEN
IF a[i,j]>max THEN
max:=a[i,j];
IF 【13】 THEN
IF a[i,j]<min THEN
min:=a[i,j];
END;
【14】 
END;
(10) 输入一串小写英文字母,利用集合在字母表中找出所有未曾出现过的小写英
文字母。输入字符串以回车符结束。请填空完成。
PROGRAM main(Input,Output);
TYPE charset=SET OF Char;
VAR ch:Char;letter: 【15】 ;
BEGIN
letter:= ['a'..'z'];
Writeln('Please input a string:');
WHILE NOT Eoln DO
BEGIN
Read(ch);
letter:= 【16】 
END;
Readln;
IF letter=[ ] THEN
Writeln('Not found!')
ELSE
BEGIN
Writeln('The letter is :');
FOR ch:='a' TO 'z' DO
IF 【17】 THEN
Write(ch:2);
Writeln
END
END.
(11) 下面程序计算并输出m和n的最大公约数,请填空完成。
PROGRAM xxx(Input,Output);
VAR m,n,a:Integer;
find:Boolean;
BEGIN
Readln(m,n);
a:=n;
find:= 【18】;
WHILE (NOT find) AND ( 【19】) DO
BEGIN
IF (m MOD a=0) AND (n MOD a=0) THEN
find:=True;
a:= 【20】;
END;
Writeln(a+1)
END.


 

⌨️ 快捷键说明

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