计算机二级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,%d\n", *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();
t.start():
}
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;
System.out.println(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){
System.out.println(34+56-6);import语句
System.out.println(26*2-3);
System.out.println(3*4/2);
System.out.println(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(主类名为HelloApplet.class)嵌入在greeting.html文件中,应该在下列greeting.html文件的横线处填入的代码是______。
<HTNL>
<HEAD>
<TITEL>Greetings</TITEL>
</HEAD>
<BODY>
<APPLET______>
</APPLET>
<BODY>
</HTML>
A. HelloApplet.class
B. CODE="HelloApplet.class"
C. CODE="HelloApplet.class"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){}
System.out.println("你好!");
}
}
}
A. sleep(1)RuntimeException
B. sleep(1000)InterruptedException
C. Thread.sleep(1)InterruptedException
D. Thread.sleep(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;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论