left 您的位置: 洪恩在线 -> 继续教育 -> 计算机考级 right

请给我们来信

我要发言

计考之友
  
  其他科目  
 

1998年9月全国计算机等级考试二级笔试试卷全国计算机等级考试二级笔试试卷基础知识和Pascal语言程序设计


    一。选择题

    (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 K1K2K3 K4 B)COPY K1K2K3K4

    C)COPY K1K2K3K4 K4 D)COPY K4K1K2K3

    (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)ABCXYZ 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.TXTAB1.TXT

    B)COPY AB1.TXT》》C:XYZ.TZT

    C)TYPE AB1.TXT》C:、XYZ.TZT

    D)AB1.TXTC:、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)假定所有变量均为实型,算式:ua

    _________的正确的PASCAL表达式是

    b——v

    ___u*d

    c——w

    A)(ua)/(b——v)/(c——w)u*d B)(ua)/(b——v)/(c——w))u*d

    C)(ua)/((b——v)/(c——w)u*d)D)(ua)/((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 a2 OR 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:=aa*a——a D)x:=(aa)*(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:=pq;C)q^:=p^a^;D)b:=aq^;

    (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:=jm;

    (37)设a,b,c为整型变量且变量已赋值。下面程序段中能实现当ab)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:=k2

    UNTIL k》a;

    a:=a2

    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(xy,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:=k1

    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:=ab;

    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:=ab;

    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:=ab;

    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:=ab;

    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:=rLn(n);

    s:=s8

    ___

    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;1998年9月全国计算机等级考试二级笔试试卷

    基础知识和Pascal语言程序设计

    答案及评分标准

    一。选择题((1)~(40)题,每题1分;(41)~(50)题,每题2分,共60分)

    (1)B (2)B (3)D (4)D (5)B

    (6)A (7)B (8)C (9)D (10)A

    (11)D (12)C (13)A (14)B (15)D

    (16)C (17)B (18)A (19)A (20)A

    (21)B (22)D (23)A (24)B (25)C

    (26)C (27)A (28)A (29)B (30)D

    (31)D (32)B (33)D (34)D (35)A

    (36)B (37)B (38)B (39)B (40)B

    (41)D (42)C (43)C (44)D (45)C

    (46)C (47)C (48)D (49)A (50)D

    

    二。填空题(│1 │~│20 │每空2分,共40分)

    

    (1)~(5)题中所有字母都允许大、小写或大小写混合

    (1)┌──┐

    │1 │AUTOEXEC.BAT

    (2)┌──┐

    │2 │外部(答外部命不扣分)

    (3)┌──┐

    │3 │COPY A:*。DAT PRN

    └──┘(在COPY后面与A:*。DAT后面都至少要一具空格)

    (4)┌──┐

    │4 │REN XYZ、*。BAK*。FOR或RENAME XYZ、*。BAK*。FOR └──┘(在REN或RENAME后面一XYZ、*。BAK后面都至少要有一个空格)

    (5)┌──┐

    │5 │ATTRIB R WST.TXT

    └──┘(在ATTRIB后面与R 后面都至少要有一个空格)或ATTRIB WST.TXT R (在ATTRIB后面与WST.TXT后面都至少要有一个空格)

    (6)┌──┐

    │6 │0

    │7 │k

    │8 │Ln(r)或Ln(r);

    (7)┌──┐

    │9 │5

    └──┘

    │10 │n

    │11 │Read(a[i])或Readln(a[i])

    └──┘

    │12 │s[k]1或s[k]1;或succ(s[k])或succ(s[k]);

    (8)┌──┐

    │13 │x1〈x2或x1〈=x2或not(x2〈x1)或not(x2〈=x1)

    │14 │n或x2 div 2或sqrt(x2)或n~x2 ——1中的整数广

    │15 │(x1 MODi=0)AND(x2 MODi=0)或

    └──┘(x2 MODi=0)AND(x1 MODi=0)或

    ((x1 MODi)=0)AND((X2 MODi)=0)或

    ((x2 MODi)=0)AND((x1 MODi)=0)

    │16 │yes或yes=True或not(yes=false)或yes〈〉false

    (9)┌──┐

    │17 │head

    │18 │p^。next

    ┌──┐

    │19 │r^。next=nil或not(r^。next〈〉nil)

    │20 │p^。next



【关闭窗口】