⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2001年4月二级笔试试题pasca.txt

📁 c++的大量习题,对二级考试大有帮助. 希望大家满意.
💻 TXT
📖 第 1 页 / 共 2 页
字号:
r2=RECORD
a:r1;
b:Integer;
END;
VAR t:r2;
下列语句中错误的是
A)Read(t.a.x); B) WITH t DO
Read(a.x);
C) WITH r2, r1 DO; D) WITH t, a DO;
Read(x); Read(x);
(44) 有如下函数
FUNCTION s(VAR f:Text): Integer;
VAR num:Integer;
BEGIN
Reset(f);
num:=0;
WHILE NOT Eof(f) DO
BEGIN
Readln(f);
num:=num+1
END;
s:=num
END;
该函数的功能是
A)统计文本文件中文本的行数
B)统计文本文件中每行的字符数
C)将文件指针调整到文件的最后一行开始位置,并返回该行的字符个数
D)统计文本文件中字符总数
(45) 有如下5行语句
IF year MOD 4=0 THEN
IF year MOD 100<>0 THEN leap:=1
ELSE IF year MOD 400=0 THEN leap:=1
ELSE leap:=0
ELSE leap:=0
与上述5行语句等价的语句是
A)IF(year MOD 4=0)AND(year MOD 100=0) THEN leap:=1
ELSE leap:=0;
B)IF( year MOD 4=0) AND(year MOD 100<>0) OR (year MOD 400=0)
THEN leap:=1 ELSE leap:=0;
C)IF(year MOD 4=0) OR(year MOD 400=0) THEN leap:=1
ELSE leap:=0;
D)IF( year MOD 4=0) AND(year MOD 400=0)OR NOT (year MOD 100=0)
THEN leap:=1 ELSE leap:=0;
(46) 有如下程序
PROGRAM p46(Input,Output);
VAR p1,p2,p3:^Interger,
BEGIN 
New(p1);New(p2);New(p3);
p1^:=3; p2^:=5; p3^:=7;
p1:=p2;p2:=p3; p3:=p1;
Writeln(p1^:3,p2^:3,p3^:3);
END.
该程序的运行结果是 
A) 5 7 5 B) 3 5 7 C) 5 7 3 D) 5 5 7
(47) 没有下列函数说明
FUNCTION func(n:integer):integer;
BEGIN
IF n=0 THEN func:=0
ELSE IF n=1 THEN func:=2
ELSE func:=func(n-1)+func(n-2)
END;
表达式func(5)的值是
A) 8 B) 6 C) 10 D) 12
(48) 下列变量说明中正确的是
A) VAR a:RECORD B) VAR a:RECORD
a,b;Integer; a,b:Integer
CASE flag:(x,y,z) OF CASE flag:(a,b,c) OF
x:( ); a:( )
y:(a:Integer); b:(x:Integer);
z:(b,c:Integer) c:(y,z:Integer)
END; END;
C) VAR a:RECORD D) VAR a:RECORD
n,m:Integer; a,b:Integer;
CASE flag(a,b,c) OF CAST flag:(x,y,z) OF
a:( ); x:( );
b:(x:Integer); y:(x:Integer);
c:(y,z:integer) z:(y,z:Integer)
END; END;
(49) 能正确输出   A B C D E F 的程序段是
A)loop:='A'; B) loop:='F'
WHILE loop<='F' DO WHILE loop>'A' DO
BEGIN BEGIN
Writeln(loop,''); Write(loop,'');
loop:=Succ(loop) loop:=Pred(loop)
END; END; 
C) loop:='A'; D) loop:='A'
WHILE loop<='F' DO WHILE loop<F DO
BEGIN BEGIN
Write(loop,''); Write(loop,'');
loop:=Succ(loop) loop:=Succ(loop)
END; END; 
(50) 有下面程序段
IF x>=5 THEN
IF y<3 THEN z:=1
ELSE z:=2
ELSE
IF y<2 THEN z:=3
ELSE z:=4;
该程序段执行后,变量z的值变为3,那么,变量x,y的值只能是
A) 6 1 B) 2 2 C) 1 1 D) 3 3
二、填空题(每空2分,共40分)
请将每一个空的正确答案写在答题卡【1】至【20】序号的横线上,答在试卷上不得分
(1) 计算机机领域中,通常用英文单词"Byte"表示 【1】 。
(2) 在DOS环境下,自动批处理的文件名为 【2】 。
(3) 要将当前盘当前目录下所有扩展名为.TXT的文件内容在打印机上打印输出,应使用的单条DOS内部命令为 【3】 。
(4) 在Windows环境下,可以利用单击、双击、拖动这三种鼠标操作之一的 【4】 操作实现窗口的移动。
(5) 在Windows环境下,可以将窗口最小化为 【5】 。
(6) 设有类型说明 TYPE arr=ARRAY[1..20] OF Integer;过程proc的作用是把数组a中下标为奇数的元素中的数按升序排序,排序结果仍放在下标为奇数的元素中,请填空完成。
PROCEDURE proc(VAR a:arr);
VAR i,j,k,temp:Integer;
BEGIN
FOR i:=1 TO 10 DO
BEGIN
k:= 【6】 
FOR j:=i TO 10 DO
IF a[k]>a[2*j-1] THEN
k:= 【7】 
temp:= a[k]; a[k]:=a[2*j-1];a[2*i-1]:=temp;
END;
END;
(7) 哥德赫猜想是:任意一个不小于6的偶数可以表示为2个素数之和。下面程序从键盘接受一个不小于6的偶数,找出组成它的2个素数输出。例如:若输入12,则输出12=7+5请填空完成?
  PROGRAM p1(Input,Output);
VAR a,b,x:Interger;
FUNCTION isprime(n:Integer):Boolean;
VAR k:Integer;
prime:Boolean;
BEGIN
prime:=n>1;
FOR k:=2 T0 n DIV 2 DO
prime:= 【8】 AND (n MOD k<>0);
isprime:=prime
END;
BEGIN
REPEAT
Readln(x) ;
UNTIL NOT Odd(x)AND(x>5);
a:=x;
REPEAT
REPEAT
a: =a-1;
UNTIL 【9】 ;
b:= 【10】 ;
UNTIL isprime(b);
Writeln(x,'=',a,'+',b)
END.
(8) 下面程序的功能是对键盘输入的一串小写字母加密,加密方法是:把要加密的字母后移x个字母(若已后移到'z',再后移就成为'a'),而x等于该字母在字母表中的顺序号。例如:
'a'的顺序号为1,则后移1个字母,成为'b';
'b'的顺序号为2,则后移2个字母,成为'd';
'y'的顺序号为25,则后移25个字母,成为'x';
'z'的顺序号为26,则后移26个字母,成为'z'。
若输入'abcdefgxyz',则输出'bdfhjlnvxz'。请填空完成。
  PROGRAM p3(Input,Output);
VAR i,j,k,n:Integer;
ch:Char;
a,b:ARRAY[1..80] OF Char;
BEGIN
k:=1; Read(a[k]);
WHILE NOT Eoln DO
BEGIN
k:=k+1;Read(a[k])
END;
Readln;
FOR i:=1 TO k DO
BEGIN
IF a[i] IN ['a'..'z'] THEN
BEGIN
n:=Ord(a[i]-Ord('a');
FOR j:=1 TO 【11】 DO
IF a[j]:='z' THEN
a[i]:= 【12】 
ELSE
a[i]:= 【13】 ;
END;
Write(a[i]); 
END;
Writeln
END.
(9) 过程create的作用是从键盘输入若干个字符(输入'*'时结束),然后建立一个单循坏链表,链表的每个节点上有一个字符(不含'*'字符),变参head指向链表的某个节点。请填空完成。
TYPE link=^node;
node=RECORD
data:Char;
next:link
END;
PROCEDURE create(VAR head:link);
VAR p,q:link; ch:Char;
BEGIN
p:=NIL;
Read(ch);
WHILE ch<>'*' DO
BEGIN
New(head);
head^.data:=ch;
head^.next:= 【14】 ;
I F p=NIL THEN
q:= 【15】 
p:=head; Read(ch)
END;
IF p<>NIL THEN
q^.next:= 【16】 ;
END;
(10) 随机文件students.dat中存放的是若干个学生的学号、姓名和班号,文件中记录的顺序是按学号以升序排序的。下面的程序从键盘接受一个学号,再用对半查找的方法在文件中找出该学号的学生并输出其姓名,若没找到,则输出'Not found!'。请填空完成。
PROGRAM search(Input Output);
TYPE rec=RECORD
number :Integer; {学号}
name :STRING; {姓名}
class :STRING; {班号}
END;
VAR f: 【17】 ;
a:rec;
x,top,bottom,mid;Integer;
BEGIN
Writeln('Input a number:');
Readln(x);
Assign(f,'students.dat');
【18】 ;
top:=0 bottom:=Filesize(f)-1;
REPEAT
mid:=(top+bottom) DIV 2;
Seek( 【19】 );
Read(f,a);
IF a.number>x THEN
Bottom:=mid-1
ELSE
IF a.number<x THEN
top:=mid+1
UNTIL( 【20】 ) OR (x=a.number);
Close(f);
IF x=a.number THEN
Writeln(a.name)
ELSE
Writeln('Not found!')
END.


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -