一九九七年度初级程序员级 下午试卷
发表于:2007-05-26来源:作者:点击数:
标签:
试题一 阅读下列BASIC程序,将应填入__(n)__处的字句,写在答卷的对应栏内。 [程序1.1] A=1 B=-1 IF AB AND B=ABS(B) THEN GOTO P A=2 IF A=B OR NOT(A+B)(A-B)THEN GOTO P A=3 IF(A=2 OR B-1=-A)OR(A=B+4 AND NOT (A3) THEN GOTO P A=4 P:PRINT
试题一
阅读下列BASIC程序,将应填入__(n)__处的字句,写在答卷的对应栏内。
[程序1.1]
A=1
B=-1
IF A>B AND B=ABS(B) THEN GOTO P
A=2
IF A=B OR NOT(A+B)<(A-B)THEN GOTO P
A=3
IF(A=2 OR B-1=-A)OR(A=B+4 AND NOT (A<>3) THEN GOTO P
A=4
P:PRINT A+ABS(B)
END
程序执行后,输出结果为__(1)__.
[程序1.2]
DECLARE FUNCTION P$(X,Y)
COMMON SHARED A,B,C$
INPUT “A=”,A
INPUT “B=”,B
C$=“TEST-RESULT”
PRINT P$(A,B)
END
FUNCTION P$(X,Y)
IF X>=Y THEN
Z$=
MID$(C$,6,6)+“1=”+STR$((SQR(X)+ABS(Y))/2)
ELSE
Z$=MID$(C$,6,6)+“2=”+STR$(INT(X+Y)*100)
END IF
P$=Z$
END FUNCTION
若对变量A、B分别输入16和-3,则输出结果为__(2)__。
若对变量A、B分别输入23.3和39.5,则输出结果为__(3)__。
[程序1.3]
C$=“0123456789ABCDEF”
I=16
DIM X$(I)
L: INPUT“S=”,S
INPUT“D=”,D
IF (S<2’ORS>16 OR D < 0 OR D>32767 THEN
PRINT “ERROR”
GOTO L
END IR
DO WHILE D<> 0
A=D
D=INT(A/S)
B=A-D*S
X$(I)=MID$(C$,B+1,1)
I=I-1
LOOP
FOR J=I+1 TO 16
PRINT X$(J);
NEXT J
END
若对变量S、D分别输入16和175,则输出结果为__(4)__。
[程序1.4]
OPTION BASE 1
DIM B(6)
K=1
WHILE K<=6
READ B(K)
K=K+1
WEND
FOR K1=1 TO 5
L=B(K1+1)
FOR K2=K1 TO 1 STEP –1
IF L>B(K2)THEN
GOTO S
END IF
B(K2+1)=B(K2)
NEXT K2
S: B(K2+1)=L
NEXT K1
I=1
DO UNTIL I>6
PRINT B(I);” ”;
I=I+1
LOOP
DATA 9,-1,4,18,-5,7
END
程序执行后,输出结果为__(5)__。
试题二
阅读以下与C语言有关的叙述,将应填入__(n)__处的字句,写在答卷的对应栏内。
已知int x=1,y=2,z=3;
则z + = x > y ? + + x : + + y的值是__(1)__。
已知int a[ ] ={10,9,8,7,6},*p=a;
则*(p+1)*(p+2)[2]的值是__(2)__。
已知char ch ;
则判别 ch 是英文字符的逻辑表达式是__(3)__。
已知int p( ),(*q)( );
则P是__(4)__,而q是__(5)__.
试题三
阅读以下FoxBASE程序,将应填入__(n)__ 处的字句,写在答卷的对应栏内。
[程序3.1]
SET TALK OFF
P=CTOD(‘07/01/97’)
Q=‘东方之珠:香港’
R=‘庆祝回归’
M=SUBSTR(Q,10,4)+SUBSTR(R,5,4)+’日’
? DTOC(P)+’是+SUBSTR(R,1,4)+M
SET TALK ON
RETURN
程序执行后,输出结果为__(1)__。
[程序3.2]
* P1.PRG
SET TALK OFF
A=100
B=1
DO P2 WITH B
? B*4+SQRT(A)
SET TALK ON
RETURN
* P2.PRG
PARAMETERS U
U=U+2
IF U<20
RETRY
ENDIF
RETURN
程序执行后,输出结果为__(2)__。
[程序3.3]
* G1.PRG
SET TALK OFF
CLEAR
DIMENSION X (2)
PUBLIC A
A=’绿化’
B=146.77
X(1)=’BC’
X(2)=’EF’
C=’祖国’
DO G2
? A+C
?X(1)+X(2),B+100.1
SET TALK ON
RETURN
* G2.PRG
PRIVATE B
A=’保卫’
B=476.22
STORE’AA’ TO X
RETURN
程序执行后,输出结果为__(3)__和__(4)__。
[程序]
*.PRG
SET TALK OFF
CLEAR
INPUT’A=’ TO A
INPUT’B=’ TO B
INPUT’C=’ TO C
G=100*CAL(A,B,C)
?’程序输出:‘+STR(G,5,1)
SET TALK ON
RETURN
*自定义函数CAL.PRG
PARAMETERS X,Y,Z
S=(X+Y+Z)/2
RETURN SQRT(S*(S-X)*(S-Y)*(S-Z)
当A、B、C分别键盘输入3,4,5经程序执行后,输出结果为__(5)__。
试题四
阅读以下程序说明和BASIC程序,将应填入__(n)__处的字句。写在答卷的对应栏内。
[程序说明]
本程序按得分从大至小打印出十佳运动员的编号、得分和名次。运动员编号、得分由DATA语句提供,分别存入在数组N和数组M中。每个运动员得分最高为120分。得分从大到小排序方法采用冒泡法,为提高排序速度,算法中啬了下列措施:若在某一次冒泡过程中发现没有发生过数据交换,则表示数据已排序完毕,此时可提前结束排序。
具有相同得分的运动员,其名次相同。例如前4位运动员排序后的名次情况如下:
编号 得分 名次
4 119 1
7 119 1
2 116 3
5 110 4
[程序]
DIM N(10),M(10),L (10)
FOR I=I TO 10
READ N(I),M(I)
NEXT I’
I=10
S1: FLAG=0
FOR__(1)__
IF M(J) < M(J-1) THEN __(2)__
SWAP N(J), N(J-1)
SWAP M(J),M(J-1)
FLAG=1
S2: NEXT J
I=I-1
IF__(3)__ THEN GOTO S1
PRINT“编号”,“得分”,“名次”
L(1)=1
FOR I=2 TO 10
PRINT N(I-1),M(I-1),L(I-1)
IF M(I-1)=M(I) THEN __(4)__ELSE __(5)__
NEXT I
PRINT N(10),M(10),L(10)
DATA 1,102,2,118,3,99,4,107,5,117
DATA 6,115,7,111,8,117,9,102,10,104
END
试题五
阅读以下程序说明和C语言,
原文转自:http://www.ltesting.net