您好,欢迎来到年旅网。
搜索
您的当前位置:首页计算机考试软件工程师试题

计算机考试软件工程师试题

来源:年旅网
考号:006 姓名:006 剩余时间:01:29:40

IP:192.168.0.26

网络连接: ●

2010年(下)全国信息技术水平考试计算机程序设计技术水平证书(JAVA语言)

考试试卷

第一大题:单选题 (30 分) 1. (1分) 下列叙述中正确的是( D )

(A) Java程序经编译后会产生machine code (B) Java程序经编译后会产生byte code (C) Java程序经编译后会产生DLL (D) 以上都不正确

2. (1 下列说法中正确的是( C ) 分)

(A) 类中的构造方法声明不可省

(B) 构造方法必须与类同名,构造方法返回值为void (C) 构造方法在一个对象被new时执行 (D) 一个类只能定义一个构造方法

3 JDBC常用的类和接口都包含在( A )包中。 .

(A) java.sql (B) java.awt (C) java.lang (1

分) (D) java.swing

4. (1分) 执行下列程序后,C的值是( C )

public class Test{

public static void main(String arg[]){ int a=0,c=0; do{

--c; a=a-1;

}while(a>0); } }

(A) 0

(B) 1

(C) -1

(D) 死循环

5. 若有int型public成员变量MAX_LENGTH,该值保持为常数100,则定(1义这个变量的语句是( A )

分)

(A) public int MAX_LENGTH=100 (B) final int MAX_LENGTH=100 (C) public const int MAX_LENGTH=100 (D) public final int MAX_LENGTH=100

6. (1 在程序中import,package,class出现的正确顺序分) 是 ( )

(A) import package class (B) package import class (C) package class import (D) import class package

7. (1分) 下列方法中可以用来创建一个新线程的是( (A) 实现java.lang.Runnable接口并重写start()方法(B) 实现java.lang.Runnable接口并重写run()方法 (C) 实现java.lang.Thread类并重写sleep()方法 (D) 实现java.lang.Thread类并重写start()方法

8. 下列程序的输出结果是( ) (1分) public class Test{

public static void main(String[] args){ String a=new String(\"A\"); String b=new String(\"B\"); oper(a,b);

System.out.println(a+\ }

static void oper(String c,String d){ c.concat(\"B\"); d=c; } }

(A) A,A

(B) 编译正确,运行时将产生错

)

误 (C) A,B (D) AB,AB

9. Java的字符类型采用的是Unicode编码方案,每个Unicode码占用(1分) ( B )个比特位。

(A) 8

(B) 16

(C) 32

(D)

10. (1分) 下列程序段输出的结果是( B )

int i = 9; switch (i) { default:

System.out.println(\"default\"); case 0:

System.out.println(\"zero\"); break; case 1:

System.out.println(\"one\"); case 2:

System.out.println(\"two\"); }

(A) default (B) default zero

(C) 程序编译出错

(D) 程序运行正确,但没有输出

11. 下列程序输出的结果是( A ) (1分) public class Test{

public static void main(String args[]){ static int x[]=new int[15]; System.out.println(x[5]); } }

(A) 编译出错 错

(B) 编译通过,但运行时有

(D) 输出null

(C) 输出0

12. (1 给出如下代码: 分) class Test{

private int m;

public static void fun(){ //some code

} }

下列选项中,能使成员变量m 被函数fun()直接访问的是 ( B )

(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

13 给出如下代码,请问x处于什么范围时将打印字符串. (1“second” ( D )

分) if(x>5){System.out.println(\"first\");}

else if(x>-5){ System.out.println(\"second\");} else {System.out.println(\"third\");}

(A) x>5 & x>-5

14. (1 一个线程的run方法包含以下语句,假定线程没有被打断,则下列说分) 法中正确的是( B )

(1) try{

(2) sleep(10);

(3) }catch(InterruptedException e){ }

(A) 不能通过编译,因为在run方法中可能不会捕捉到异常。

(B) 在第2行,线程将暂停运行,正好在10毫秒后继续运行。 (C) 在第2行,线程将暂停运行,最多在10毫秒内将继续运行。 (D) 在第2行,线程将暂停运行,将在10毫秒后的某一时刻继续运行。

15. (1 关于以下代码,下列说法中正确的是( D ) 分) (1)abstract class AbstractOne{

(2) abstract int getInt(); (3) }

(4) public class Test extends AbstractOne{ (5) private int x=1;

(6) private int getInt(){

(B) x>-5

(C) x<=-5

(D) x<=5 &

(7) return x; } (8) }

(A) 编译成

(B) 编译成功,但会导致运行时错误 (C) 编译无法通过,第2行有错 (D) 编译无法通过,第6行出错

16. 下列方法中不能成为方法public void add(int a){ }重载方(1分) 法的是( A )

(A) public int add(int a) (B) public void add(long a) (C) public void add(int a,int b) (D) public void add(float a)

17 下列程序执行后将有( C )个字节被写入到文件. (1myfile.txt中

分) import java.io.*;

public class Test {

public static void main(String[] args){ try{

FileOutputStream fos=new FileOutputStream(\"myfile.txt\");

DataOutputStream dos=new DataOutputStream(fos);

dos.writeInt(3); dos.writeChar(1); dos.close(); fos.close( );

}catch(IOException e) { } } }

(A) 3 环境相关

18. (1 下列程序段输出的结果是( D )

(B) 5

(C) 6

(D) 不确定,与软硬件

分)

public class Test{ static int i;

public static void main(String argv[]){ System.out.println(i); } }

(A) 有错误,变量i没有初始化

(B) null

(C) 1

(D) 0

19. A派生出子类B,B派生出子类C,并且在Java源代码中有如下声明: (1(1)A a0=new A(); 分) (2)A a1=new B();

(3)A a2=new C();

下列说法中正确的是 ( D )

(A) 只有第1行能通过编

(B) 第1、2行能通过编译,但第3行编译出错

(C) 第1、2、3行能通过编译,但第2、3行运行时出错 (D) 第1行、第2行和第3行的声明都是正确的

20. 下列说法中正确的是( B ) (1分)

(A) try语句可以单独存在,不需要其他的附加语

(B) try语句不能单独存在,后面必须要和catch或finally语句配合使用

(C) 在try语句后面的catch语句只能有一句

(D) finally语句的作用是用来完成一些不能完成的工作

2 当点击Applet中一个按钮控件时,下列哪个对象将会被创建1. ( C ) (1

(A) PaintEvent (B) TextEvent (C) ActionEvent分)

(D) KeyEvent

22 下列程序输出的结果是( D )

. (1class Parent{

分) String one, two;

public Parent(String a, String b){ one = a; two = b; }

public void print(){ System.out.println(one); } }

public class Child extends Parent{

public Child(String a, String b){ super(a,b); }

public void print(){

System.out.println(one + \" to \" + two);

}

public static void main(String arg[]){

Parent p = new Parent(\"south\\"north\");

Parent t = new Child(\"east\\"west\");

p.print(); t.print(); } }

(A) south east

(B) south to north east to west

(C) south to north east

(D) south

east to west

2 若变量\"result\"是一个boolean型的变量,则下列表达式合法的是3. ( B ) (1

(A) result=\"True\"; 分)

(B) if (result){ // do something... } (C) if (result!= 0) { // so something... } (D) result = 1

24. (1 下列类中可以作为FilterInputStream类的构造方法参数的分) 是 ( C )

(A) FilterOutputStream类 类

(C) InputStream类

(B) File

(D) RandomAccessFile类

25 阅读下面的代码片断

. (1(1) String str = null;

分) (2) if ((str != null) && (str.length() > 10)){

(3) System.out.println(\"more than 10\"); (4) }

(5) else if ((str != null) & (str.length() < 5)){ (6) System.out.println(\"less than 5\"); (7) }

(8) else { System.out.println(\"end\"); } 导致错误的行号是( C )

(A) line 1 line 8

26 下列关键字中能阻止一个类被继承的是( A ) . (1

(A) final (B) protected (C) private 分)

abstract 27. 若有如下类定义 (1分) abstract class Shape{

abstract void draw(); }

那么,在试图编译下面的类定义时会发生什么情况 ( B )

class Square extends Shape{ }

(A) 都可以成功编

(B) Shpe可以编译,而Square不能

(B) line 2

(C) line 5

(D)

(D)

(C) Square可以编译,而Shape不能 (D) Shape和Square都不能编译

28. (1分) 下列程序的输出结果是 ( D )

class C1{

static int j=0;

public void method(int a){ j++; } }

class Test extends C1{

public int method(){ return ++j; }

public void result(){ method(j);

System.out.println(j+method()); }

public static void main(String args[]){ new Test().result(); } }

(A) 0

(B) 1

(C) 2

(D) 3

29. (1分) 下列程序的输出结果是 ( D )

class Test{

static void change(String s){ s=s.replace('j','l'); }

public static void main(String args[]){ String s=\"java\"; change(s);

System.out.println(s); } }

(A) 编译错误 (B) lava

(C) 运行时出现异常

(D) java

30. (1分) 下列程序的输出结果是( D )

public class Test{

static int I =0; void fun(){

I++; }

public static void main(String args[]) {

Test obj1=new Test(); Test obj2=new Test(); obj1.fun(); obj2.fun();

System.out.println(obj1.I); } }

(A) 编译错误

(B) 6

(C) 1

(D) 2

第二大题:实践题(编程题) (70 分)

1. (20 程序功能:接受一个小于1000的正整数参数,返回3位字符串数分) 据格式,整数位数不足3位,前面补0。例如输入7,返回“007”,

输入32,返回“032”,输入9,返回“9”等。 提示:

程序架构如下:

public class Test1{ /**

* 获得任意一个小于1000的正整数的3位字符串格式 */

public String GetStr(int n) { }

public static void main(String args[]) { Test1 t = new Test1(); System.out.println(test1.GetStr(7));

System.out.println(test1.GetStr(32));

System.out.println(test1.GetStr(9)); } }

备注:考生按照系统提示目录保存试题文件,每道试题建立一个文件夹,文件夹名为题目编号。文件夹中的文件命名参照提示所给的程序架构。

例:第一题的试题文件夹名为“1”,文件名为“Test1.java”,对

应的字节码文件为:Test1.class。

2. (25 程序功能:创建一个能装5个水果的篮子,水果有苹果、橘子和分)

3. (25分) 香蕉,从篮子中一个一个把水果拿出来,并打印出该水果的名称。

提示1:用数组来表示篮子。

提示2:创建水果类,该类中有一个抽象方法GetName,用来输出水果的名称。

提示3:分别创建水果类的3个子类:苹果、橘子和香蕉类,分别实现GetName方法。 程序架构如下:

public class Test2 { public Test2() { }

public static void main(String[] args){ fruit[] fruits = new fruit[5]; fruits[0] = new Apple(); fruits[1] = new Orange(); fruits[2] = new Banana(); fruits[3] = new Apple(); fruits[4] = new Orange(); for(int i=0;i<5;i++){

System.out.println(fruits[i].GetName()); } } }

//定义水果抽象类: fruit。

//定义水果类的3个子类: Apple、Orange和Banana。

备注:考生按照系统提示目录保存试题文件,每道试题建立一个文件夹,文件夹名为题目编号。文件夹中的文件命名参照提示所给的程序架构。

例:第一题的试题文件夹名为“1”,文件名为“Test1.java”,对应的字节码文件为:Test1.class。

程序功能:定义一个Customer类,其属性包括客户编号

(CustomerNo),客户名称(CustomerName),联系电话(Phone),地

址(Address)。创建若干个该类的对象并保存到文件中。程序再从文件循环读取对象直至文件末尾,并将每个对象的属性显示在屏幕上。 提示1:使用对象流类实现对象数据的读写功能。

提示2:循环读取文件中的对象,通过捕获EOFException异常来判断是否文件末尾。

提示3:文件命名为“Customer.dat” 提示4:提示架构如下:

import java.io.*;

public class Test3 { public Test3() { }

public static void main(String[] args){ //写3个以上对象到文件

//从文件中循环读对象 } }

class Customer implements java.io.Serializable{ String CustomerNo; String CustomerName; String Phone; String Address;

public Customer(String no,String name,String phone,String address){

this.CustomerNo = no; this.CustomerName = name; this.Phone = phone; this.Address = address; } }

显示结果如下:

备注:考生按照系统提示目录保存试题文件,每道试题建立一个文件夹,文件夹名为题目编号。文件夹中的文件命名参照提示所给的程序架构。

例:第一题的试题文件夹名为“1”,文件名为“Test1.java”,对应

的字节码文件为:Test1.class。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务