收藏 分享(赏)

高级语言程序设计试卷及答案两套.doc

上传人:dzzj200808 文档编号:2724416 上传时间:2018-09-26 格式:DOC 页数:12 大小:583KB
下载 相关 举报
高级语言程序设计试卷及答案两套.doc_第1页
第1页 / 共12页
高级语言程序设计试卷及答案两套.doc_第2页
第2页 / 共12页
高级语言程序设计试卷及答案两套.doc_第3页
第3页 / 共12页
高级语言程序设计试卷及答案两套.doc_第4页
第4页 / 共12页
高级语言程序设计试卷及答案两套.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、第 1 页 共 12 页答案参见我的新浪博客:http:/ A一、选择题(每题 2 分,共 16 分)1 若 a = TRUE , b = FALSE , x = 10 , i = 1 , j = 1 ,则表达式 a AND NOT(x0) AND (ij+3) OR ab AND b 的值为 A.0 B.1 C.TRUE D.FALSE2 下面的程序执行后,x 的值是 a:= 9; b:= 0;IF ( ab) THENIF a6 THENIF a10 THEN x:=0.5 ELSE x:=1.5ELSE IF a2 THEN x:= 10 ELSE x:= 20;A0.5 B.1.5 C

2、.10 D.203 执行下面的程序段后,结果是 a:= 2; b:= 0;REPEATWRITE (AAA); b:= b + 1 UNTIL ( a b );A.打印一个 AAA B.打印 2 个 AAA C.打印无数个 AAA D.什么也不打印4 下述程序段将打印出 s:= 0; c:= 0;FOR c:= 2 TO 7 DOCASE C OF 4 , 7 , 1:S:= S + 1;2 , 6 , 3:;0 , 10 , 5:S:= S + 3END;WRITELN (S = , S);A.S = 4 B.S =5 C.S =4 D.S =55 下列常量说明中,合法的是 A. CONST

3、 color = red . . blue ; B. CONST const = 10*5 ;C. CONST x 1 : = 3.9 ; D. CONST abc = abc ;6 下列类型的变量中,不能用 Write 语句直接输出的变量是 A. 布尔型变量 B. 枚举型变量C. 整型变量 D. 字符型变量7 设有一单向链表,指针 p,q 分别指向链表中的结点,q是 p的前驱结点,现要把指针 p0 指向的结点插在 q和 p之间,应用语句 A. p0.next:=q.next; q.next:=p0;B. p0:=p; q.next:=p0;C. p0.next:=p.next; q.next

4、:=p0;D. p0.next:=p; q.next:=p0;8 以下程序段共执行循环体的次数是 i : = 2.5 ;WHILE i ABS (a i,j ) THEN m 2:= ABS ( ai ,j);END;x:=(m 1 - m2)* (m 1 + m2)END;BEGINFOR i: = 1 TO m DOFOR j: = 1 TO n DO ai,j:= i * j;m1:=10;m 2:=20 ;BB ( a,b) ; WRITE (b,m 1,m 2);END.说明过程 BB 的功能, 并写出程序运行结果。 3. 设有 a 为一个二维数组, 以下程序段运行结果是( )FOR

5、 I : = 1 TO 3 DOBEGINFOR J : = 1 TO 3 DOIF I = 3 THEN a I, J : = a I-1 , aI-1,j + 1ELSE a I, J : = J;Write( a I, J )END;WritelnEND.4. 设有程序段如下,求其输出ch1 : = z ; ch2 : = x ;if ch1 BTHENBEGINCASE c2 OF A:CASE c2 OF C: write(AA);B: write(BB)END;B: write(CC)ENDENDELSEwrite(DD);A. AA B. BB C. CC D. DD6 有以下程

6、序段,假设所有变量已说明,运行后 s 的值是 m:=2; s:=5;FOR ch:=g DOWNTO b DOBEGIN IF odd(m) THEN s:=s+m;m:=m+3END第 8 页 共 12 页答案参见我的新浪博客:http:/ 72 B. 52 C. 16 D. 387 下列表达式中值为假的是( )A. ab 2198 下面的程序的输出是 PROGRAM t(input,output);VAR a,b,x:integer;FUNCTION proc(a:integer):integer;BEGINx:=1; a:=a+1; write(a,x); proc:=aEND;BEGI

7、Na:=1; x:=2; b:=proc(a); writeln(a,b,x)END.A. 2 1 2 2 1 B. 2 2 1 2 2 C. 2 1 2 2 2 D. 2 1 1 2 2二、填空题(每空 3 分,共 54 分)1类型 ARR 为:TYPEARRARRAY116 OF INTEGER;己知数组 A 中有 15 个整数已按从小到大的顺序排列,过程 INSERTONE 把任意整数 B 填入 A 中并使 A中数据仍然有序。 (9 分)PROCEDURE INSERTONE(VAR A:ARR;B:INTEGER);VARK:INTEGER;BEGINK: (1) ;WHILE (K1

8、) AND ( (2) ) DOBEGINAK:AK-1;K:K-1;END;AK: (3) ;END; 2.已知有类型说明:TYPECOLOR=(RED,YELLOW,BLACK,BLUE,ORANGE,GREEN,WHITE);COLORSETSET OF COLOR;函数 IFIN 返回集合 A 中元素的个数: (9 分)FUNCTION IFIN(A:COLORSET):INTEGER;VARC:INTEGER;X:COLOR;第 9 页 共 12 页答案参见我的新浪博客:http:/ A DOBEGINWHILE NOT (X IN A) DOx: (1) ;C: (2) ;A:A-

9、 (3) END;IFIN :=C;END; 3下面程序实现将数组 A 赋与如下的值,请填空完成该程序。 (9 分)1111141111341112341112341PROGRAM T1;VARA:ARRAY15,15 0F INTEGER;I,J,K:INTEGER;BEGINFOR I:1 TO 5 DOFOR J:1 TO 5 DOIF (I-J4) OR ( (1) ) THEN AI,J:1ELSEBEGINK: (2) ;CASE K OF1:AI,J:4;2:AI,J: (3) ;3:AI,J:2;END;END;END4利用已定义的函数 SN 计算值: (3 分)MSIN(X)

10、(SIN(XY)SIN(XZ)十 SIN(Y)(SIN(YZ)SIN(YX)+SIN(Z)(SIN(ZX)SIN(ZY)函数定义为:FUNCTION SN(A,B,C:REAL):REAL;第 10 页 共 12 页答案参见我的新浪博客:http:/ 调用程序有:READ(X,Y,Z);M:= ;WRITELN(M); 5.设有以下程序: (12 分)PROGRAM T3(INPUT,0UTPUT);VARN:INTEGER;PR0CEDURE P();BEGINA:A-B;B:=B*A;END;BEGINN:8;P(N,N);WRITELN(N:3);END 若过程首部的形式参数部分()分别

11、为以下四种形式,则该程序执行后输出结果是:(1)(A,B:INTEGER)输出结果是 (1) (2)(A:INTEGER;VAR B:INTEGER)输出结果是 (2) (3)(VAR A:INTEGER;B:INTEGER)输出结果是 (3) (4)(VAR A:INTEGER;VAR B:INTEGER)的输出结果是 (4) 。6. 己知有说明:TYPEptrrec;recBECORDdata:Integer;next:ptr;END;函数 append 可建立一个无重复结点的单链表,即该函数检查己建立的结点中是否有data 或与 n相等的节点。若有这样的节点则原链表不变,并返回假;否则以

12、 n 作为一个新节点链接在原链表之后,并返回真。 (12 分)第 11 页 共 12 页答案参见我的新浪博客:http:/ append(VAR head:ptr;n:Integer):Boolean;VARr,p,q:ptr;linked:Boo1ean;BEGINlinked:True;New(q);qnext:=NIL;qdata:n;IF headNIL THEN (1) :qELSEBEGINp:head;REPEATr:p;IF pdatanTHEN linked:FalseELSE IF (2) b; Write(a,b) 问 REPEAT 循环体执行次数和输出结果? (4 分)

13、2 设有 TYPE pointer=b;第 12 页 共 12 页答案参见我的新浪博客:http:/ RECORDnum:INTEGER;next:pointer;END;VAR h:pointer;过程 PROCEDURE A(VAR head:pointer;n:INTEGER);s,p:pointer; i:INTEGER;BEGINNEW(s); head:=s; s.num:=2; p:=s;FOR i:=2 TO n DO BEGINNEW(s);s.num:=2*i; p.next:=s; p:=sEND;p.next:=head;head:=pEND;(1) 说明当用实参 h,

14、 5 调用该过程后结果如何?以图示说明.(4 分)(2) 调用后设 h:=h.next;问 h.num 的值是多少? (2)3 以下程序(1)当输入 n=324693, k=3 结果是什么? (2)(2)当输入 n=3246, k=5 结果是什么? (2 分)(3)说明该程序的功能是什么? (2 分)PROGRAM A(INPUT,OUTPUT);VAR n,k,k2,d,count:INTEGER;BEGINRead(n,k);Count:=0;k2:=k;WHILE (n0) DOBEGIN d:=n MOD 10; n:=n DIV 10;count:=count+1; k:=k-1END;IF countk2 THEN write(data error)ELSE write(result=,d)END.四、编程题(10 分)输入任一自然数 X 和 n,用递归算法实现 要求:写出完整的程序

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报