求解几道PASCAL选择题
pascal吧
全部回复
仅看楼主
level 1
RIEXUEYING 楼主
1、设变量ch为字符类型,且ch为数字字符,下列能将ch中字符转换成对应数字的正确表达式是A.Ord(ch-'0') B.Ord(ch)-Ord(0)C.Ord(ch)-'0' D.Ord(ch)-Ord('0')2.以下程序段执行后,Data的值是L1:=False; L2:=True; L3:=False Data:=0;IF L1 Then Data:=5else if Not L2 ThenIf Not L3 Then Data:=10else Data:=15A.0 B.5 C.10 D.153.判断ch是否是小写字母的正确表达式是A.'a'<=ch<='z' B.(ch>='a') And (ch<='z')C.(ch>=a) And (ch<=z) D.(ch>='a') or (ch<='z')4.以下所有变量均已说明,以下程序段中既无语法错又无逻辑错的是..A.x:=1 y:=0;while x<10 dobegin y:=y+x; writeln(y);end.B.x:=10; repeat writeln(x); x:=x+1; until x<0;C. case num of 0,1:rate:=0.05; 1,2:rate:=0.10; 3,4:rate:=0.15;D.x:=0; y:=10; while (x<10) and (y>=0) do begin x:=x+1; y:=y+2;end;5.以下合乎语法的函数过程首部有A.function sum(n:integer);B.procedure add(x,y:var z);C.procedure abc;D.function(a:integer,b:real):integer; 6.以下
正确的
数组类型定义是A.type arr1 = array[1..Sqrt(3)] of Integer;B.type arr2 = array[0.1..0.9] of Real;C.type arr3 = array[Boolean] of Boolean;D.type arr4 = array['a'..'E'] of Integer;7.已知有函数定义function fn(a,b,c:Real);Real;begin fn:=sin(a)/(sin(a-b)*sin(a-c));end;通过调用函数fn计算m:=sin(x)/(sin(x-y)*sin(x-z))+sin(y)/(sin(y-z)*sin(y-x))+sin(z)/(sin(z-x)*sin(z-y));正确语句是A.m:=fn(x,y,z)+fn(x,y,z)+fn(x,y,z);B.m:=fn(x-y)+fn(y-z)+fn(z-x);C.m:=fn(x,y,z)+fn(y,z,x)+fn(z,x,y);D.m:=fn(x)+fn(y)+fn(z);8.下面的程序运行结果是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 D9.function FIB(n:Integer):Integer; begin if n=1 Then FIB:=0 else if n=2 Then FIB:=1 else FIB:=FIB(n-1)+FIB(n-2);end;表达式FIB(FIB(5))的值是A.1 B.2 C.3 D.5 
2007年06月07日 04点06分 1
level 1
RIEXUEYING 楼主
大家帮帮忙吧
2007年06月07日 04点06分 2
level 1
RIEXUEYING 楼主
10.不能作为for语句循环控制变量的是下列哪种类型变量A.整型 B.布尔型 C.实型 D.字符型11.有下面程序段:a:=False; b:=False; c:=False; x:=15;if a then x:=x-10else if b then x:=x-5else if c then x:=20else x:=25;假设所有变量均已说明,程序运行后x的值是A.25 B.20 C.15 D.512.对条件"n是偶数且1<=n<=100",错误的条件表达式是A.Not Odd(n) And (n>=1) And (n<=100)B.Odd(n+1) And (n>=1) Or (n<=100)C.(n Mod 2=0) And(n>0) And (n<101)D.Odd(n-1) And (n>=1) And (n<=100)13.设i,x为整型变量,下列程序段中会出现死循环的是A.i:=1; While x<=100 do begin i:=i+2; Read(x); end;B.i:=1; repeat i:=i+2; write(i); Until i=100;C.i:=23456; While i>0 do begin i:=i-2; Read(x); end;D.i:=23456; Repeat i:=i-2; Write(x); Until i<0;14.有如下说明: var A:integer; B:1..100; C:real; procedure P1(x:real; var y:real);下面的过程调用中哪个是正确的?A.P1 (A,B); B.P1 (C,D); C.P1 (C,A); D.P1(B,C);15.设数组定义 var a,b:array[1..10] of Real; 下列语句中正确的是A.a:=b; B.Read(a,b)C.a[1..10]:=b[1..10];D.a[b[1]]:=3;16.有过程如下procedure s(n:Integer; var p:Integer); var a:integer; begin p:=0 while (n>0) do begin a:=n mod 10; n:=n Div 10; p:=p+a; end; end;若m为整型变量,其初值为8,当调用过程s(5301,m)后,m的值为A.8 B.10 C.11 D.917.下面的程序运行结果是var A,B,C:Integer;procedure PROC(var A:integer; B:integer); begin A:=1; B:=2; C:=3; end;begin A:=5; B;=6; C:=7; PROC(A,B); WriteLn(A:2,B:2,C:2);end.A.1 6 3 B.1 2 3 C.1 6 7 D.5 6 718.设有以下函数定义function m(a,b:Integer):Integer; begin m:=3*a-b div 2; end;执行语句s:=m(m(2,3),m(3,4))后,s的值是A.5 B.12 C.6 D.7
2007年06月07日 05点06分 3
level 0
个人理解,仅供参考1.? 2.C 3.D 4.A 5.? 6.B 7.? 8.?``太难了,一般都是错的,我才学2个月!,以后懂了再来!
2007年12月19日 21点12分 4
1