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

请给我们来信

我要发言

计考之友
  
  其他科目  
 

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


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

    一.选择题(1~40每个选项1分,41~50每个选项2分,共60分)

    下列各题A),B),C),D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

    (1)PASCAL程序必须包括

    A)程序首部。说明部分。语句部分B)程序首部。说明部分

    C)说明部分。语句部分D)程序首部。语句部分

    (2)下列中合法的PASCAL数是

    A)——9E7.5 B)E——6

    C)。78 D)6.0

    (3)下面数据类型不是顺序类型的是()

    A)布尔型B)集合类型C)枚举类型D)字符型

    (2)下面函数值等于7的是()

    A)ROUND(——7.49)B)TRUNC(——(ABS(——7.5)))C)ABS(0——13 MOD 54)D)ORD(CHR(PRED(8)))

    (5)设实型变量X已赋值为4.1876,下面能输出4.188的语句是

    A)WRITE(TRUNC(X*1000)/1000:5:3)B)WRITE(X:5:4)

    C)WRITE(ROUND(X*1000)/1000:5:3)D)WRITE(TRUNC(X):5)

    (6)表达式5《=xa《=10的正确的PASCAL表达式是

    A)(XA》=5)AND (XA《=10)

    B)5《=(XA)《=10

    C)XA》=5 AND XA《=10

    D)(XA》=5)OR (XA《=10)

    (7)已知仅有变量说明VAR I,J:1.。10;R:REAL;下列语句组中没有出错的是

    A)I:=5;B)I:=9;C)I:=1.5;D)J:=R4;

    J:=10;J;=I MOD 2;J;=I——9;I:=J——3;

    K:=8*IJ R:=I2*J;R:=J6;R:=I3.5;

    (8)设有如下说明

    VAR F1:FILE OF REAL;

    F2:TEXT;

    X:REAL;

    下面的过程或函数中错误的是

    A)EOF(F1)B)EOLN(F1)C)READLN(F2,X)D)WRITELN(F2)

    (9)下面对FILE类型和TEXT类型文件的描述不正确的是

    A)FILE类型和TEXT类型文件都可以用EOF()函数判断其是否已到文件尾。

    B)FILE类型和TEXT类型文件都可以用文本编辑软件来建立。

    C)FILE类型和TEXT类型文件操作完毕都应关闭文件。

    D)向FILE类型和TEXT类型文件写数据之前,都需要用REWRITE过程进行初始化。

    (10)设N为整型变量,且已赋值为1997,下面能将N的十位数字(即右边第2位数字)分离出来的语句是

    A)D:=N MOD 100 B)D:=N DIV 100 MOD 10

    C)D:=N/100 MOD 10 D)D:=(N MOD 100)DIV 10

    (11)下列说法中,肯定正确的是

    A)动态变量没有变量名,只能通过指向它的指针变量来引用

    B)动态变量获得或更换其值可以使用赋值语句,但不能使用READ过程

    C)动态变量的值只能增加而不能减小

    D)动态变量不能是布尔类型

    (12)下列中,值为FALSE的PASCAL表达式是

    A)TRUNC(1.4*4)=525 MOD 5

    B)(10《(1.5/0.3))AND ((1.5/0.5)》——5)

    C)ROUND(18.5/2.0)》=105 DIV 510

    D)NOT('A'》'D')OR NOT (18 MOD 5《2)

    (13)已知变量说明VAR LETTERS:(F,E,D,C,B,A);下列函数中函数值为布尔类型的是

    A)SUCC(C)B)TRUNC(2.8*4)C)CHR(ORD('A')2)D)ODD(7)

    (14)设有下面程序段

    Y:=2;

    WHILE Y《=32 DO

    Y:=YY;

    则程序段执行循环体的次数是

    A)3 B)4 C)5 D)6

    (15)若有说明

    TYPE

    AR=ARRAY[1.。10]OF INTEGER;

    BR=ARRAY[1.。10]OF AR;

    VAR C:BR;

    下列语句正确的是

    A)C[C[2,4]]:=123;B)C[8]:=123;

    C)C[2][4]:=123;D)C[0,2,4]:=123;

    (16)若有以下程序:

    PROGRAM XXX(INPUT,OUTPUT);

    VAR P1,P2,P3:^INTEGER;

    BEGIN

    NEW(P1);P1^:=5;P2:=P1;

    NEW(P1);P1^:=10;

    P3:=P1;P1:=P2;P2:=P3;

    WRITELN(P1^:3,P2^:3,P3^:3)

    END

    则程序运行后的输出应是

    A)5 5 10 B)5 10 10 C)5 10 5 D)10 5 10

    (17)一个班有30个学生,每个学生一个记录,记录的数据是:姓名,年龄和3门课的成绩。能正确描述这组信息的类型CLASS是

    A)TYPE

    STUDATA=RECORD

    NAME:CHAR;

    AGE:INTEGER;

    SCORE:ARRAY[1.。3]OF REAL

    END;

    CLASS=ARRAY[1.。30]OF STUDATA;

    B)TYPE

    STUDATA=RECORD

    NAME:PACKED ARRAY[1.。20]OF CHAR;

    AGE:INTEGER;

    SCORE:ARRAY[1.。3]OF REAL

    END

    CLASS=ARRAY[1.。30]OF STUDATA;

    C)TYPE

    STUNAME=PACKED ARRAY[1.。20]OF [1.。30]OF CHAR;

    STUAGE=ARRAY[1.。30]OF INTEGER;

    STUSCORE=ARRAY[1.。3,1.。30]OF REAL;

    CLASS=ARRAY[1.。30]OF STUSCORE;

    D)TYPE

    POINTER=^STUDATA;

    STUDATA=RECORD

    NAME:ARRAY[1.。20]OF CHAR;

    AGE:INTEGER;

    SCORE:ARRAY[1.。3]OF REAL

    END

    CLASS=POINTER;

    (18)有下面程序:

    PROGRAM PP3(OUTPUT);

    VAR A,B:INTEGER;

    PROCEDURE P1(A:INTEGER);

    VAR B:INTEGER;

    BEGIN

    B:=A5;

    WRITELN(A:3,B:3);

    A:=B5

    END;

    BEGIN

    A:=1;B:=2;

    P1(B);

    WRITELN(A:3,B:3)

    END

    该程序执行后的输出是

    A)2 7 B)1 6 C)2 7 D)2 7

    1 2 1 2 1 12 12 2

    (19)设A,B,C,I,J均为整型变量,有下面的程序段:

    A:=0;B:=1;C:=2;

    FOR I;=1 TO 3 DO

    FOR J:=1 TO I DO

    CASE((IJ)MOD 3)OF

    0:A:=A1;

    1:B:=B1;

    2:C:=C1

    END

    WRITELN(A;3,B:3,C:3);

    上程序段执行后的输出结果是

    A)2 4 3 B)3 4 2 C)2 3 4 C)4 3 2

    (20)有下面程序:

    PROGRAM XX(OUTPUT);

    VAR X,Y,Z:INTEGER;

    PROCEDURE P(X:INTEGER;VAR Y,Z:INTEGER);

    BEGIN

    Z:ZYX

    END;

    BEGIN

    X:=5;Y:=6;Z:=7;

    P(XYZ,X,Y);

    WRITELN(X:4,Y:4,Z:4)

    END

    该程序的运行结果是

    A)5 29 7 B)5 6 7 C)18 5 6 D)18 6 7

    (21)有下面程序段:

    A:=FALSE;B:=FALSE;

    C:=TRUE;X:=10;

    IF A THEN X:=X——5

    ELSE IF B

    THEN IF C

    THEN X:=36

    ELSE X:=45;

    假设所有变量均已说明,程序运行后X的值是

    A)5 B)10 C)36 D)45

    (22)有下面程序段:

    M:=2;S:=0;

    FOR CH:='A'TO 'F'DO

    BEGIN

    IF ODD(M)THEN S:=SM;

    M:=M3

    END;

    假设所有变量均已说明,程序运行后S的值是

    A)72 B)52 C)33 D)16

    (23)有下列函数说明:

    FUNCTION F(A,B,C:INTEGER):INTEGER;

    VAR T:INTEGER;

    BEGIN

    A:=3*A;T:=B DIV C;F:=A4*T

    END;

    则表达式F(F(1,F(1,2,3),3),2,3)的值是

    A)21 B)3 C)7 D)25

    (24)有下面程序:

    PROGRAM PP5(OUTPUT);

    VAR I,N,K:INTEGER;

    BEGIN

    N:=15469;K:=2;

    FOR I:=1 TO K——1 DO

    N:=N DIV 10;

    N:=N MOD 10;

    WRITELN(N)

    END

    该程序执行后的输出是

    A)9 B)6 C)2 D)1

    (25)设有下面四个循环程序段

    (1)A:=0;(2)A:=0;I:=1;

    I:=1;WHILE I《=5 DO

    REPEAT BEGIN

    I:=I1;A:=A1;

    A:=A1 I:=i1

    UNTIL I》6;END;

    (3)A:=0;(2)A:=0;I:=1;

    FOR I:=1 TO 5 DO REPEAT

    A:=A1;I:=I1;

    A:=A1

    UNTIL i》5;

    有三个程序段执行后A的值相同,另一个不同的是

    A)(1)B)(2)C)(3)D)(2)

    (26)计算并输出下式

    S=

    中S的值的正确程序是

    A)PROGRAM P36(OUTPUT);B)PROGRAM P36(OUTPUT);

    VAR S,S1:REAL;VAR S,S1:REAL;

    I:INTEGER;I:INTEGER;

    BEGIN BEGIN

    S:=0;S1=0;S:=0;S1:=1;

    FOR I:=1 TO 50 DO FOR I:=2 TO 50 DO

    BEGIN BEGIN

    S1:=S1I;S1:=S1I;

    S:=S1/S1 S:=S1/S1

    END END;

    WRITELN(S:10:3)WRITELN(S:10:3)

    END END

    C)PROGRAM P36(OUTPUT);D)PROGRAM P36(OUTPUT);

    VAR S,S1:REAL;VAR S,S1:REAL;

    I:INTEGER;I:INTEGER;

    BEGIN BEGIN

    S:=0;S1=0;S:=0;S1:=1;

    FOR I:=1 TO 50 DO FOR I:=2 TO 50 DO

    S1:=S1I;S:=S=1/(S1I);

    S:=S1/S1;WRITELN(S:10:3)

    WRITELN(S:10:3)END

    END

    (27)设A,B,W为实型变量,OPER为字符型变量,用IF语句改写下面的程序段:

    CASE OPER OF

    '':W:=AB;

    '——':W:=A——B;

    '*':W:=A*B;

    '/':W:=A/B

    END

    在下列写法中,错误的是

    A)IF OPER=''THEN W:=AB;B)IF OPER='*'THEN W:=A*B

    IF OPER='——'THEN W;=A——B;ELSE IF OPER='/'THEN W:=A/B;

    IF OPER='*'THEN W:=A*B IF OPER=''THEN W:=AB

    IF OPER='/'THEN W:=A/B;ELSE IF OPER='——'THEN W:=A——B

    C)IF OPER=''THEN W:=AB D)IF OPER=''THEN W:=AB

    ELSE IF OPER='——'THEN W:=A——B;ELSE IF OPER='——'THEN W:=A——B;

    IF OPER='*'THEN W:=A*B IF OPER='*'THEN W:=A*B

    ELSE W:=A/B;ELSE IF OPER='/'THEN W:=A/B;

    (28)有下面程序:

    PROGRAM PP4(OUTPUT);

    VAR X,Y,Z:INTEGER;

    PROCEDURE PROC(VAR A,B:INTEGER;C:INTEGER);

    BEGIN

    A:=AB;B:=B3;

    C:=AB;Y:=YC;

    WRITELN(A:3,B:3,C:3)

    END

    BEGIN

    X:=1;Y:=2;Z:=3;

    PROC(X,X,X);

    WRITELN(X:3,Y:3,Z:3)

    END

    该程序执行后的输出是

    A)2 4 6 B)5 5 10 C)2 5 7 D)2 4 6

    2 8 3 5 12 3 2 9 3 4 8 3

    (29)有下列程序

    PROGRAM TEST(INPUT,OUTPUT);

    VAR S:INTEGER;

    CH:CHAR;

    COUNT:ARRAY['A'……'Z']OF INTEGER;

    BEGIN

    FOR CH:='A'TO 'Z'DO

    COUNT[CH]:=0;

    READ(CH);

    WHILE NOT EOLN DO

    BEGIN

    IF(CH》='A')AND (CH《='Z')THEN

    COUNT[CH]:=COUNT[CH]1;

    READ(CH)

    END;

    S:=0;

    FOR CH:='B'TO 'Y'DO

    S:=SCOUNT[CH];

    WRITELN(S)

    END

    运行程序,输入一行正文'WE ARE PROUD OF OUR COUNTRY!'则程序的输出是

    A)10 B)22 C)11 D)23

    (30)已知有如下说明:

    TYPE T1=^REC;

    REC=RECORD

    X:INTEGER;

    NEXT:T1

    END;

    PROCEDURE PRINTLIST(P:T1);

    VAR Q:T1;

    BEGIN

    WHILE P^。NEXT《》NIL DO

    BEGIN

    Q:=P;

    WHILE (Q^。NEXT)^。NEXT《》NIL DO

    Q:=Q^。NEXT;

    WRITE((Q^。NEXT)^。X:3);

    Q^。NEXT:=NIL

    END;

    WRITELN

    END;

    若已有链表如图所示(HEAD是T1型变量,/表示结点的NEXT域为空):

    HEAD

    则执行过程调用PRINTLIST(HEAD);后的输出结果是

    A)4 3 2 B)4 3 2 1 C)1 2 3 D)1 2 3 4

    二.填空题(每空2分,共40分)

    请将每空的正确答案写在答题卡1~20序号的横线上,答在试卷上不得分

    (6)函数CHECK检查整数N中是否含有数字3,5,7.含有这些数字之一则返回TRUE;否则返回FALSE.

    例如:当N=13722或N=2549,则CHECK返回TRUE;

    当N=21689或N=9148,则CHECK返回FALSE.

    FUNCTION CHECK(N:INTEGER);BOOLEAN;

    VAR YES:BOOLEAN;

    BEGIN

    REPEAT

    YES:=(N MOD 10)IN___________;

    N:=N DIV 10

    UNTIL________OR YES;

    CHECK:=YES

    END;

    (7)设有以下程序:

    PROGRAM T3(INPUT,OUTPUT);

    VAR N:INTEGER;

    PROCEDURE P(……);

    BEGIN

    A;=A=B;B:=B*A

    END;

    BEGIN

    N:=8;

    P(N,N);

    WRITELN(N:3)

    END

    若过程首部的形式参数部分(……)分别为以下四种形式,则该程序执行后输出结果是

    (1)(A,B:INTEGER)输出结果是_____________

    (2)(A;INTEGER;VAR B:INTEGER)输出结果是___________

    (3)(VAR A:INTEGER:B:INTEGER)输出结果是______________

    (2)(VAR A:INTEGER;VAR B:INTEGER)的输出结果是____________

    (8)设有以下程序:

    PROGRAM T5(INPUT,OUTPUT);

    VAR A,X,Y,Z:INTEGER;

    PROCEDURE P(X,Y:INTEGER;VAR Z:INTEGER);

    BEGIN

    Z:=Y——X——Z;

    WRITELN(X:3,Y:3,Z:3){输出1}

    END;

    FUNCTION Q(M:INTEGER):INTEGER;

    BEGIN

    Z:=ZM;

    Q:=SUCC(M)

    END;

    BEGIN

    X:=4;Y:=6;Z:=3;

    P(5,XYZ,X);

    WRITELN(X:3,Y:3,Z:3);{输出2}

    A:=Q(2)*Q(Z);

    WRITELN(A:3,Z:3){输出3}

    END

    该程序执行后,依次的输出结果:

    (1)输出1的结果是___________;

    (2)输出2的结果是___________;

    (3)输出3的结果是___________;

    (9)下面程序实现将数组A赋于如下的值,请填空完成该程序

    1 1 1 1 1

    4 1 1 1 1

    3 4 1 1 1

    2 3 4 1 1

    1 2 3 4 1

    PROGRAM T1;

    VAR A:ARRAY[1.。5,1.。5]OF INTEGER;

    I,J,K:INTEGER;

    BEGIN

    FOR I:=1 TO 5 DO

    FOR J:=1 TO 5 DO

    IF (I——J=4)OR(__________)THEN A[I,J]:=1

    ELSE BEGIN

    K:=_____________;

    CASE KOF

    1:A[I,J]:=4;

    2:A[I,J]:=_____________;

    3:A[I,J]:=2

    END

    END

    END

    (10)已知有类型说明:TYPE COLOR——(RED,YELLOW,BLACK,BLUE,ORANGE,GREEN,WHITE);

    COLORSET=SET OF COLOR;

    函数ELEMENTSINSET返回集合A中元素的个数:

    FUNCTION ELEMENTSINSET(A:COLORSET):INTEGER;

    VAR C:INTEGER;

    X:COLOR;

    BEGIN

    X:=RED;C:=0;

    WHILE A《》[]DO

    BEGIN

    WHILE NOT (X IN A)DO

    X:=______________;

    C:=___________;

    A:=A——___________

    END

    ELEMENTSINSET:=C

    END

    1997年4月全国计算机等级考试二级笔试试卷

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

    答案及评分标准

    一.选择题

    1.C 2.D 3.A 4.D 5.B

    6.D 7.B 8.A 9.A 10.C

    11.B 12.B 13.A 14.C 15.B

    16.B 17.D 18.D 19.D 20.C

    21.D 22.D 23.B 24.D 25.C

    26.A 27.B 28.B 29.B 30.D

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

    (6)[3,5,7]集合中数的顺序不限

    (N=0)或(0=N)若无()扣1分

    (7)8

    128

    16

    256

    (8)5 13 4 评分标准:3个数中按顺序有1~2个正确者给1分

    4 6 3 评分标准:3个数中按顺序有1~2个正确者给1分

    18 10评分标准:第一个数为18给1分,第二个数为10给1分

    (9)J》=I或I《=J或NOT(JJ)

    I——J或与此等价的表达式

    3

    (10)SUCC(X)

    C=1或者说SUCC(C)或1C

    [X]



【关闭窗口】