不是VIP会员,不能显示答案,请在后台“我的信息” 在线升级 VIP

一、单项选择题(共20题,每题1.5分,共计30分;每题有且仅有一个正确选项)

1. 以下哪个是面向对象的高级语言

  • A.汇编语言
  • B.C++
  • C.Fortran
  • D.Basic

2. 1TB 代表的字节数量是

  • A.2 的 10 次方
  • B.2 的 20 次方
  • C.2 的 30 次方
  • D.2 的 40 次方

3. 二进制数 00100100 和 00010101 的和是( )

  • A.00101000
  • B.001010100
  • C.01000101
  • D.00111001

4. 以下哪一种设备属于输出设备( )

  • A.扫描仪
  • B.键盘
  • C.鼠标
  • D.打印机

5. 下列对操作系统功能的描述最为完整的是( )

  • A.责外设与主机之间的信息交换
  • B.负责诊断机器的故障
  • C.控制和管理计算机系统的各种硬件和软件资源的使用
  • D.将源程序编译成目标程序

6. CPU、存储器、I/O 设备是通过( )连接起来的

  • A.接口
  • B.总线
  • C.控制线
  • D.系统文件

7. 断电后会丢失数据的存储器是( )

  • A.RAM
  • B.ROM
  • C.硬盘
  • D.光盘

8. 以下哪一种是属于电子邮件收发的协议( )

  • A.SMTP
  • B.UDP
  • C.P2P
  • D.FTP

9. 下列选项中不属于图像格式的是( )

  • A.JPEG 格式
  • B.TXT 格式
  • C. GIF 格式
  • D.PNG 格式

10. 链表不具有的特点是( )

  • A.不必事先估计存储空间
  • B.可随机访问任一元素
  • C.插入删除不需要移动元素
  • D.所需空间与线性表长度成正比

11. 下列各无符号十进制整数中,能用八位二进制表示的数中最大的是( )

  • A.296
  • B.133
  • C.256
  • D.199

12. 下列几个 32 位 IP 地址中,书写错误的是( )

  • A.162.105.128.27
  • B.192.168.0.1
  • C.256.256.129.1
  • D.10.0.0.1

13. 要求以下程序的功能是计算: s=1+1/2+1/3+...+1/10。 var n: integer; s:real; begin s:=1.0; for n:=10 downto 2 do s:=s+1 div n; writeln(s:6:4); end. 程序运行后输出结果错误,导致错误结果的程序行是( )。

  • A.s:=1.0;
  • B.forn:=10downto2do
  • C.s:=s+1divn;
  • D.writeln(s:6:4)

14. 设变量x为real型且己赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是( ).

  • A.x:=(x*100)+0.5/100.0
  • B.x:=(x*100+0.5)/100.0
  • C.x:=trunc(x*100+0.5)/100.0
  • D.x:=(x/100+0.5)*100.0;

15. 有以下程序: var s,a,n: integer; begin s:=0; a:=1; readln(n); repeat s:=s+1; a:=a-2; until a=n; writeln(s); end. 若要使程序的输出值为2,则应该从键盘给n输入的值是( )。

  • A.-1
  • B.-3
  • C.-5
  • D.0

16. 一棵具有5层的满二叉树中结点数为( )。

  • A.31
  • B.32
  • C.33
  • D.16

17. 有向图中每个顶点的度等于该顶点的( )。

  • A.入度
  • B.出度
  • C.入度与出度之和
  • D.入度与出度之差

18. 设有 100 个数据元素,采用折半搜索时,最大比较次数为( )

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

19. 若有如下程序段, 其中s、a、b、c均己定义为整型变量.且a、 c均已赋值,c>0。 s:=a; for b:=1 to c do s:=s+1; 则与上述程序段功能等价的斌值语句是( )。

  • A.s:=a+b
  • B.s:=a+c
  • C.s:=s+c
  • D.s:=b+c

20. 计算机界的最高奖是( )

  • A.菲尔兹奖
  • B.诺贝尔奖
  • C.图灵奖
  • D.普利策奖

二、问题求解(共2题,每题5分,共计10分;每题全部答对得5分,没有部分分)

1. 把M个同样的球放到N个同样的袋子里,允许有的袋子空着不放,问共有多少种不同的放置方法?(用K表示)。 例如:M=7,N=3时,K=8;在这里认为(5,1,1)和(1,5,1)是同一种放置方法。 问:M=8,N=5时,K= _____ 。
答案:18

2. 如图所示,图中每条边上的数字表示该边的长度,则从A到E的最短距离是___。
答案:11

三、阅读程序写结果(共4题,每题8分,共计32分)

1.

var
a, b, c, d, ans:integer;
  begin
      readln(a,b,c);
      d:=a-b;
      a:=d+c;
      ans:=a*b;
      writeln('Ans=’,ans);
end.
输入:2 3 4

输出:Ans=9

2.

var
n: integer
function fun(n:integer):integer;
begin
        if n=1 then
exit(1);
if n=2 then
          exit(2);
exit(fun(n-2)-fun(n-1));
        end;
begin
      readln(n);
writeln(fun(n));
end.
输入:7 

输出:-11

3.

var
st: string;
len, i:integer;
  begin
    readln(st);
    len:=length(st);
    for i:=1 to len do
      if (st[i]>=’a') and (st[i]<=’z') then
        st[i]:=chr(ord(st[i])-ord('a')+ord('A'));
    writeln(st);
end.
输入: Hello, my name is Lostmonkey.
输出:HELLO, MY NAME IS LOSTMONKEY.

4.

 const
    SIZE=100;
  Var
    P:array [1..SIZE] of integer;
    N,tot,cn,i:integer;
  Begin
    Readln(n);
    For i:=1 to n do
      P[i]:=1;
    Tot:=0;
    For i:=2 to n do
    Begin
      If p[i]=1 then
        Tot:= tot +1;
      cn:=i*2;
      While cn<=n do
      Begin
        P[cn]:=0;
        cn:=cn+i;
      End;
    End;
Writeln(tot);
End.  
输入:30;
输出:10

5.

 const
    SIZE=100;
  Var
    P:array [1..SIZE] of integer;
    N,tot,cn,i:integer;
  Begin
    Readln(n);
    For i:=1 to n do
      P[i]:=1;
    Tot:=0;
    For i:=2 to n do
    Begin
      If p[i]=1 then
        Tot:= tot +1;
      cn:=i*2;
      While cn<=n do
      Begin
        P[cn]:=0;
        cn:=cn+i;
      End;
    End;
Writeln(tot);
End.  
输入:30;
输出:10

四、完善程序(共2题,每题14分,共计28分)

1. (数字删除)下面程序的功能是将字符串中的数字字符删除后输出。请填空。(每空3分,共12分)

var
s:string;
len, i:integer;
function delnum(var s:string):integer;
Var
I, j: Integer;
begin
    j:=1;
    for i:=1 to length(s) do
      if (s[i]<'0')    or     (s[i]>'9') then
      begin
        s[j]:=s[i];
           inc(j)   ;
      end;
exit(   j   );
end;

begin
   readln(s);
   len:=delnum(s);
   for i:=1 to len do
     write(   s[i]     );
   writeln;
end.

2. (最大子矩阵和)给出m行n列的整数矩阵,求最大的子矩阵和(子矩阵不能为空)。
输入第一行包含两个整数m和n,即矩阵的行数和列数。之后m行,每行n个整数,描述整个矩阵。程序最终输出最大的子矩阵和。(最后一空4分,其余3分,共16分)

const
  SIZE=100;
var
matrix: array [1..SIZE, 1..SIZE] of integer;
rowsum: array [1..SIZE, 0..SIZE] of integer;
//rowsum[i, j]记录前i行前j个数的和
M,n, i, j, first, last, area, ans:integer;

begin
  read(m, n);
for i := 1 to m do
    for j:=1 to n do
      read(matrix[i, j]);
ans:=matrix    [1,1]     ;
for i:=1 to m do
         rowsum[i,0]:=0       ;
for i:=1 to m do
    for j:=1 to n do
      rowsum[i, j]:=_   rowsum[i,j-1]+matrix[i,j]       ;
for first := 1 to n do
    for last:=first to n do
    begin
            area:=0        ;
      for i:=1 to m do
        begin
          area:=area+     rowsum[i,last]-rowsum[i,first-1]      ;
          if (area>ans) then
            ans:=area;
          if (area<0) then
            area:=0;
end;
end;
writeln(ans);
end.