admin 管理员组

文章数量: 887021


2024年1月10日发(作者:solr认证)

计算机二级JAVA模拟题2018年(57)

(总分85.2,考试时间90分钟)

选择题

1. 下面程序的输出结果是______。

#include <stdio.h>

main()

{int a[]={1,2,3,4,5);

intx,y,*p;

p=&a[0];

x=*(p+2);

y=*(p+4);

printf("%d,%d,%dn", *p,x,y);

}

A. 1,3,5 B. 1,2,3

C. 1,2,4 D. 1,4,5

2. 下列选项成员变量声明正确的是______。

A. public protected final int i;

B. abstract class F1{...)

C. private double height;

D. double weight{}

3. 下列选项中不属于结构化程序设计原则的是______。

A. 可封装 B. 自顶向下

C. 模块化 D. 逐步求精

4. Swing的选项面板是______。

A. JtabbedPane B. JLayeredpane

C. JScrollPane D. JsplitPane

5. 假设a是int类型的变量,并初始化为1,则下列选项中合法的条件语句是______。

A.if(a){}

B.if(a=3){}

C.if(a=2){}

D.if(true){}

6. 设a=8,则表达式a>>>2:的值是______。

A. 1 B. 2

C. 3 D. 4

7. 阅读下面程序

class Test implements Runnable {

public static void main(String[] args) {

Test t=new Test();

():

}

public void run() {}

}

下列关于上述程序的叙述正确的是

A. 程序不能通过编译,因为start()方法在Test类中没有定义

B. 程序编译通过,但运行时出错,提示start()方法没有定义

C. 程序不能通过编译,因为run()方法没有定义方法体

D. 程序编译通过,且运行正常

8. Java字节码文件的扩展名是______。

A. .JVM B. .dbt

C. .class D. .exe

9. 对于循环队列,下列叙述中正确的是______。

A. 队头指针是固定不变的 B. 队头指针一定大于队尾指针

C. 队头指针一定小于队尾指针 D. 队头指针可以大于队尾指针,也可以小于队尾指针

10. 继承诸如WindowAdapter(它继承了WindowListener接口)等适配器类有何好处?

A. 将继承这个类的所有行为 B. 子类将自动成为监听器

C. 不必实现任何不需要的WindowListener方法 D. 为了层次清楚,美观大方

11. 在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序特性称为______。

A. 隐藏 B. 重写

C. 重载 D. Java不支持此特性

12. 阅读下面利用递归来求n!的程序

class FactorialTest {

static long Factorial(int n){ //定义Factorial()方法

if(n==1)return 1;

else return n * Factorial(______);

}

public static void main(String a[]) { //main()方法

int n=8;

n(n+"!="+Factorial(n));

}

}

为保证程序正确运行,在下画线处应该填入的参数是

A. n-1 B. n-2

C. .n D. n+1

13. 查找随机文件的记录时,应使用的方法是

A. readInt() B. readBytes(int n)

C. seek(long 1) D. readDouble()

14. 阅读下面程序

public class Test1 {

public static void main(String[] args){

n(34+56-6);

n(26*2-3);

n(3*4/2);

n(5/2);

}

}

程序运行结果是

A. 84 49 6 2 B. 90 25 6 2.5

C. 84 23 12 2 D. 68 49 14 2.5

15. 下列情况中,不会使线程返回所持有的对象锁的是

A. 当synchronized()语句块执行完毕

B. 当调用了线程的suspend()方法

C. 当在synchronized()语句块中出现异常(Exception)

D. 当持有锁的线程调用该对象的wait()方法

16. 定义如下变量和数组:int i;int x[3][3]={ 1,2,3,4,5,6,7,8,9};则语句for(i=0;i<3;i++)

printf("%d",x[i][2-i]);的输出结果是______。

A. 1 5 9 B. 1 4 7

C. 3 5 7 D. 3 6 9

17. 为了将HelloApplet(主类名为)嵌入在文件中,应该在下列文件的横线处填入的代码是______。

<HTNL>

<HEAD>

<TITEL>Greetings</TITEL>

</HEAD>

<BODY>

<APPLET______>

</APPLET>

<BODY>

</HTML>

A.

B. CODE=""

C. CODE=""WIDTH=150 HEIGHT=25

D. CODE="HelloApplet class"VSPACE=10 HSPACE=10

18. 下列哪个选项是合法的标识符?

A. 123 B. _name

C. class D. 1first

19. 下列InputStream类中哪个方法可以用于关闭流?

A. skip( ) B. close( )

C. mark( ) D. reset( )

20. 面向对象的设计方法与传统的面向过程的设计方法有本质的不同,它的基本原理是______。

A. 模拟现实世界中不同事物之间的联系

B. 强调模拟现实世界中的算法而不强调概念

C. 使用现实世界的概念抽象地思考问题,从而自然地解决问题

D. 以上说法都不对

21. 下列程序的功能是在监控台上每隔一秒钟显示一个字符串“你好!”,能够填写在程序中画线位置,使程序完整并能正确运行的语句是

public class Exam implements Runnable{

public static void main(String args[]){

Exam t=new Exam();

Thread tt=new Thread(t);

tt.start();

}

public void run(){

for(;;){

try{

;

}catch(e){}

n("你好!");

}

}

}

A. sleep(1)RuntimeException

B. sleep(1000)InterruptedException

C. (1)InterruptedException

D. (1000)InterruptedException

22. 假设有以下代码:

String s="hello";

String t="hello";

char c[]={"h", "e", "l", "l", "o"};

下列选项中,返回false的语句是______。

A. equals(t); B. equals(c);

C. s==t; D. equals (new String("hello"));

23. 下列叙述中正确的是______。

A. 算法的效率只与问题的规模有关,而与数据的存储结构无关

B. 算法的时间复杂度是指执行算法所需要的计算工作量

C. 数据的逻辑结构与存储结构是一一对应的

D. 算法的时间复杂度与空间复杂度一定相关

24. Java虚拟机(JVM)运行Java代码时,不会进行的操作是______。

A. 加载代码 B. 校验代码

C. 编译代码 D. 执行代码

25. 下列关于修饰符混用的说法,错误的是______。

A. abstract不能与final并列修饰同一个类

B. abstract类中不可以有private的成员

C. abstract方法必须在abstract类中

D. static方法中能处理非static的属性

26. 下列叙述正确的是______。

A. 非空线性表可以有几个节点没有前件

B. 线性表的数据元素不可以由若干个数据项构成

C. 除根节点和终端节点,其他节点都有且只有一个前件,也有且只有一个后件

D. 线性表必须要有数据元素

27. 下列代码将对象写入的设备是______。

ByteArrayOutputStream bout=new ByteArrayOutputStream();

ObjectOutputStream out=new ObjectOutputStream(bout);

out. writeObject (this);

out. close();

A. 内存 B. 硬盘

C. 屏幕 D. 网络

28. 有以下程序:

void f(int n,int *r)

{int r1=0,

if (n%3==0) r1=n/3;

else if (n%5==0) r1=n/5;

else f(-n,&r1);

*r=r1:

}

main()

(int m=7,r;

f(m,&r); printf("%dn",r);

}

程序运行后输出的结果是______。

A. 2 B. 1

C. 3 D. 0

29. 当输入一个字节流时,要______。

A. 实现DataInput接口 B. 实现ObjectInput接口

C. Serializable接口 D. 继承Reader抽象类

30. Java程序与数据库的连接机制是______。

A. ODBC B. JDBC

C. ODBC API D. SQL/CLI

31. 阅读下列代码:

public class Test{

public static void main(String args[]){

n(89>>1);

}

}

其运行结果是______。

A. 44 B. 45

C. 88 D. 90

32. 软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于______。

A. 定义阶段 B. 开发阶段

C. 维护阶段 D. 上述三个阶段

33. 线程生命周期中正确的状态是______。

A. 新建状态、运行状态和终止状态

B. 新建状态、运行状态、阻塞状态和终止状态

C. 新建状态、可运行状态、运行状态、阻塞状态和终止状态

D. 新建状态、可运行状态、运行状态、恢复状态和终止状态

34. 下列实现了动态数组的是______。

A. Vector和ArrayList B. Map和Set

C. Vector和Map D. ArrayList和Set

35. Class类的对象由______自动生成,隐藏在.class文件中,它在运行时为用户提供信息。

A. Java编译器 B. Java解释器

C. Java new关键字 D. Java类分解器

36. 在下列程序的空白处,应填入的正确选项是______。

.*;

PublicclasswriteInt{

Publicstaticvoidmain(stringl)a){

Int[]myArray={10,20,30,40};

try{

DataOutputSystemdos=newDataOutputSystem

(newFileOu中utSystem(“”));

for (int i=0;I<:I++)

nt(myArray[i];

dos.______";

n

(“Havewritten binary ”);

}

Catch(IOExceptiOniOe)

{n(“IOException”);

}

}

}

A. start() B. Close()

C. read() D. write()

37. 给出下列代码,如何使成员变量m被方法fun()直接访问?

class Test

{

private int m;

public static void fun( )

{

...

}

}

A. 将private int m改为protected int m

B. 将private int m改为public int m

C. 将private int m改为static int m

D. 将private int m改为int m

38. 下列关于队列的叙述中正确的是______。

A. 在队列中只能插入数据 B. 在队列中只能删除数据

C. 队列是先进先出的线性表 D. 队列是先进后出的线性表

39. 一个关系中属性个数为1时,称此关系为______。

A. 对应关系 B. 单一关系

C. 一元关系 D. 二元关系

40. 在Java中,线程是______。

A. 分时的 B. 抢占式的

C. 非抢占式的 D. 非分时的

41. 要下列Java Applet程序完整并能够正确运行,横线处应填入的内容是______。

import java. applet. * ;

import java. awt. * ;

public class HelloWorld{

public void paint(Graphics g){

g. drawString("Hello World!", 25, 25);

}

}

A. extends Thread B. extends Applet

C. extends Char D. extends Float

42. 自定义的异常类可从______类继承。

A. Error B. AWTError

C. VirtualMachineError D. Exception及其子集

43. J2EE有强大的服务功能,但不包括______。

A. 命名服务INDI(LDAP) B. YIGA投递服务

C. 部署服务、消息服务IMS D. 安全服务

44. 下列程序从标准输入设备——键盘读入一个字符,然后输出到屏幕。要想完成此功能,画线处应该填入的语句为______。

import java. io. * ;

public class Test

{

public static void main(String args[])

{

char ch;

try

{

______;

System. out. println(ch);

}

catch(IOException e)

{

e. printStackTrace();

}

}

}

A. ch=System. in. read();

B. ch=(char)System. in. read();

C. ch=(char)System. in. readln();

D. ch=(int)System. in. read();

45. 下列描述中不正确的一项是______。

A. import语句告诉Java用户需要哪个包(package)中的类

B. 所有的类必须实例化才能调用它的数据成员和方法

C. System类不可能实例化,它的所有方法都是通过类变量来调用的

D. package语句用于将源文件存入所指定的包中

46. 在软件开发中,需求分析阶段产生的主要文档是______。

A. 可行性分析报告 B. 软件需求规格说明书

C. 概要设计说明书 D. 集成测试计划

47. 下列链表中,其逻辑结构属于非线性结构的是______。

A. 二叉链表 B. 循环链表

C. 双向链表 D. 带链的栈

48. 对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是______。

A. 冒泡排序为n/2 B. 冒泡排序为n

C. 快速排序为n D. 快速排序为n (n-1)/2

49. 若程序中有宏定义行:#define N 100,则以下叙述中正确的是______。

A. 宏定义行中定义了标识符N的值为整数100

B. 在编译程序对C源程序进行预处理时用100替换标识符N

C. 对C源程序进行编译时用100替换标识符N

D. 在运行时用100替换标识符N

50. 下列关于Test类的定义中,正确的是______。

A. class Test implements Runnable{public void run(){}public void someMethod[]{}}

B. class Test implements Runnable(public void run();}

C. class Test implements Runnable(public void someMethod[];}

D. class Test implements Runnable{public void someMethod(){}


本文标签: 下列 程序 运行 方法 状态