〖程序设计基础〗练习题3及答案

更新时间:2023-04-10 19:20:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

〖程序设计基础〗练习题3

一、单选题(30分)

语言是( )。

A.面向问题的解释型高级编程语言

B.面向机器的低级编程语言

C.面向过程的编译型高级编程语言

D.面向对象的解释型高级编程语言

2.下列的变量定义中,错误的是( )。

A) int i; B) int i=;

C) static int i=100; D) int 123_$;

3.以下的变量定义语句中,合法的是( )。

A) float $_*5= ; B) byte b1= 15678;

C) double a =Double. MAX_VALUE;

D) int _abc_ = 3721L;

4.以下字符常量中不合法的是( )。

A) '|' B) '\'' C) "\n" D) '我'

5.若以下变量均已正确定义并赋值,下面符合Java语言语法的语句是( )。

A) b = a!=7 ; B) a = 7 + b + c=9;

C) i=* % 4; D) a = a + 7 = c + b;

6.下列程序段执行后t5的结果是( )。

int t1 = 9, t2 = 11, t3=8;

int t4,t5;

t4 = t1 > t2 t1 : t2+ t1;

t5 = t4 > t3 t4 : t3;

A) 8 B) 20 C) 11 D) 9

7.设 a, b, c, d 均为 int 型的变量,并已赋值,下列表达式的结果属于非逻辑值的

是( )。

A) a!=b & c%d < a B) a++ = =a+b+c+d

C) ++a*b--+d D) a+b>=c+d

8.执行下列程序段后,b, x, y的值分别是( )。

int x=6,y=8;

boolean b;

b=x>y&&++x==--y;

A) true , 6, 8 B) false , 7, 7

C) true, 7, 7 D) false, 6, 8

9.以下由do-while语句构成的循环执行的次数是( )。

int k = 0;

do { ++k; }while ( k < 1 );

A) 一次也不执行 B) 执行1次

C) 无限次 D) 有语法错,不能执行

10.下列语句序列执行后,x 的值是( )。

int a=3, b=4, x=5;

if( ++a==b ) x=++a*x;

A) 35 B) 25 C) 20 D) 5

11.下列语句序列执行后,k 的值是( )。

int i=6,j=8,k=10,m=7;

if(i>j||m

else k--;

A) 12 B)11 C) 10 D) 9

12.下列语句序列执行后,k的值是( )。

int j=8, k=15;

for( int i=2; i!=j; i++ )

{ j-=2; k++; }

A) 18 B) 15 C) 16 D) 17

13.下列语句序列执行后,j 的值是( )。

int j=3, i=2;

while( --i!=i/j )

j=j+2;

A) 2 B) 4 C) 6 D) 5

14.下列语句序列执行后,k 的值是( )。

int x=6, y=10, k=5;

switch( x%y )

{ case 0: k=x*y;

case 6: k=x/y;

case 12: k=x-y;

default: k=x*y-x;

}

A) 60 B) 5 C) 0 D) 54

15.下列语句序列执行后,a的值是( )。

int a=13;

a%=a/5;

A) 3 B) 13 C) 169 D) 1

16. 既能作为类的修饰符, 也能作为类成员的修饰符的是( )。

A) public B) extends C) Float D) static

17.下列选项中,用于定义接口的关键字是( )。

A)import B) implements C) interface D) protected

18.下列类头定义中,错误的是( )。

A) class x

{ .... }

B) public x extends y

{ .... }

C) public class x extends y

{ .... }

D) class x extends y implements y1

{ .... }

19.下列选项中,用于在定义类头时声明父类名的关键字是( )。

A)return B) interface C) extends D) class

20.设 i,j 为类 x 中定义的 double 型变量名,下列 x 类的构造函数中不正确的是( )。

A) double x(double k ){ i=k; return i; }

B) x(double m, double n ){ i=m; j=n; }

C) x( ){i=0;j=0 }

D) x(double k ){ i=k; }

21.下列方法定义中,不正确的是( )。

A) public int x( ){ ... }

B) public static int x( double y ){ ... }

C) void x( double d ) { ... }

D) public static x( double a ){ ... }

22.能从循环语句的循环体中跳出的语句是( )。

A) for 语句 B) break 语句

C) while 语句 D) continue语句

23. 若有循环:

int x=5,y=20;

do{

y-=x;

x++;

}while(++x<--y);则循环体将被执行( )。

次次次次

24. 定义类头时,不可能用到的关键字是( )。

A) private B)class C)extends D)implements

25.在一个应用程序中有如下定义:int a[]={1,2,3,4,5,6,7,8,9,10};,为了打印输出数组a的最后一个元素,下面正确的代码是( )。

A)

B)

C)

D)

26.若一个类中对某个方法进行了重载,能够区分这些重载方法的手段是 ( )。

A)它们的返回值类型的不同 B)它们的名称的不同

C) 它们的参数表的不同 D) 它们的修饰符不同

27.下面是有关子类继承父类构造函数的描述,其中正确的是( )。

A) 创建子类的对象时,先调用子类自己的构造函数,然后调用父类的构造函数。

B) 子类无条件地继承父类不含参数的构造函数。

C) 子类必须通过super关键字调用父类的构造函数。

D) 子类无法继承父类的构造函数。

28.下面说法正确的是( )。

A) final 可修饰类、属性、方法。

B) abstract可修饰类、属性、方法。

C) 定义抽象方法需有方法的返回类型、名称、参数列表和方法体。

D) 用final修饰的变量,在程序中可对这个变量的值进行更改。

29.选择排序的思想是,将数据序列划分为两个子列,一个子列是排好序的,另一个是尚未排序的。现若想将数据序列由小到大排序,则每次放到有序子列尾部位置的元素,应从无序序列中选择( )。

A)最大的 B)最小的 C)任意的 D)头上的

30.若想将数据序列使用插入排序算法由小到大排序,则每次放到有序子列合适位置上的元素,应从无序序列中选择( )。

A) 固定位置的 B)最小的 C)任意的 D) 最大的

二、填空题(每小题分,共15分) 。

1.声明并创建类MyClass的一个对象,其名称为obj,可通过以下语句实现:________________。

2..设 x, y,max,min 均为 int 型变量, x、y 已赋值。用三目条件运算符,求变量 x 、y的最大值和最小值,并分别赋给变量 max 和min, 这两个赋值语句分别是_________和________。

3.结构化程序设计的三种基本流程控制结构是:_____________、 _____________、__________。

4. 若a,b为int型变量且已分别赋值为2,4。表达式!(++a!=b--)的值是_________ 。

5.在Java语言中,将后缀名为_____的源代码编译后形成后缀名为______的字节码文件。

6.设有整型数组的定义:int a[]=new int[8]; ,则的值为_____。

7.栈是一种先进____________的线性数据结构,而队列是先进_________的线性数据结构。

8.如果子类中的某个方法的________、___________和___________与它的父类中的某个方法完全一样,则称子类中的这个方法覆盖了父类的同名方法。

9.若a,b为int型变量且已分别赋值为2,6。表达式(a++)+(++b) +a*b的值是________ 。

10.定义数组,需要完成以下三个步骤,即:___________、________和_____________ 。

三、判断题(每小题1分,共15分)

1.类头定义包含的四个部分分别为:访问控制修饰符、类名说明、父类名说明和接口名的说明,它们中的任何一个都是不能缺少的。

2.在 Applet 的坐标系中,(0,0) 代表输出窗口左上角的象素点。

3.应用程序一定要有main()方法,小程序一定要继承于Applet 类。

语言中的逻辑变量可以和整型变量相互强制转换。

5.面向对象的软件开发方法用类把数据和基于数据的操作封装在一起,并且类之间可以存在继承关系。

6.方法可以没有返回值,或有一个返回值,也可以有多个返回值。

7.一个类中用private 修饰符修饰的属性成员,可被该类的方法和它的子类的方法

访问。

8.构造函数能继承,也能被重载。

源程序的文件名必须和公共类的类名相同。

10.双精度数强制转换成单精度数后,其数值精度会提高。

11. 队列、链表、堆栈和树都是线性数据结构。

12.属性的隐藏是指子类重新定义从父类继承来的同名变量。

13.用static修饰的方法称为静态方法,它不属于类的一个具体对象,而是整个类的类方法。

语言中的接口可以继承,一个接口通过关键字extends可以继承另一个接口。

15.声明为final的方法不能在子类中重载。

四、程序填空(每空2分,共20分)

1.下面是一个java应用程序(Application),它的功能是在屏幕上输出26个英文字母,其中每个字母相隔一个制表符,请完成程序。

public _____ Class1

{

public static void main( String args[] )

{

char c='a';

for (int i=1;i<=26;i++)

{

}

}

}

2.下面程序的功能为计算数组各元素的和,请完成程序。

import

import

public class SumOfArray _______ Applet

{

public void paint( Graphics g )

{

int a[] = { 1, 3, 5, 7, 9, 10 };

int total=0;

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

total+=_____________;

( "Total of array elements: " + total, 25, 25 );

}

}

3. 下面的java小应用程序实现的功能是从文本域中输入你的名字"***",回车后在

Applet中显示"***,你好!" ,请完成程序。

import .*;

import .*;

import

public class Applet1 extends Applet implements ActionListener

{

Label aa;

TextField t1;

String s=" ";

public void init()

{

aa=new Label("请输入你的名字:");

add(aa);

t1=___________;

add(t1);

(this);

}

public void paint(Graphics g)

{

(s,20,100);

}

public void actionPerformed(ActionEvent e)

{

s=_________;

repaint();

}

}

4. 下面是求阶乘的递归算法,方法的返回值类型为long, 请完成程序。

______ Factorial(long n)

{

if(n<=1)

return 1;

else

___________;

}

5.下面程序的功能是通过调用方法max()求给定的三个数的最大值,请将程序补充完

整。

import .*;

public class Class1

{

public static void main( String args[] )

{

int i1=1234,i2=456,i3=-987;

int MaxValue;

MaxValue=____________;

"三个数的最大值:"+MaxValue);

}

public ______ int max(int x,int y,int z)

{

int temp1,max_value;

temp1=x>yx:y;

max_value=temp1>ztemp1:z;

return max_value;

}

}

五、简答题(每1问2分,共20分)

1.阅读下面的程序,回答以下问题.(6分)

import .*;

import .*;

import

public class Applet1 extends Applet implements ActionListener

{

Label aa;

TextField t1;

int i=0;

public void init()

{

aa=new Label("请输入一个整数:");

add(aa);

t1=new TextField(10);

add(t1);

(this);

}

public void paint(Graphics g)

{

("a="+( ++i*--i),20,60);

("i="+( i),20,80);

}

public void actionPerformed(ActionEvent e)

{

i=()); ; 的含义是什么?

2)ActionListener是类还是接口程序中哪个方法是ActionListener中的方法,其功能为何?

3)若在文本域中输入6并回车,程序输出什么?

2.阅读程序,回答以下问题.(6分)

public class InheritTest1

{

public static void main (String[] args)

{

A aa;

B bb;

aa=new A( );

bb=new B( );

( );

();

}

}

;

int b=4;

void show( )

{

"Class A: "+"\ta="+ +"\td="+;

( );

"Class B: "+"\ta="+a +"\td="+d+"\tb="+b);

}

}

问题:

1)这是哪一类java程序?

2)类A和类B是什么关系?

3)按程序输出的格式写出程序运行后的结果.

3.阅读下面的程序段,回答以下问题.(4分)

if ( x < 5 )

" one ");

else

{ if ( y < 5 )

" two ");

else

" three ");

}

问题:

1)若执行前 x=6, y=8,该程序段输出是什么?

2)若执行前 x=1, y=8,该程序段输出是什么?

4.现有一数据序列为:50 88 6 93 24 18 1 128 87 66 ,请写出使用选择排序方法进行升序排序的第2趟和第5趟的结果序列。(4分)

练习题三《《《《《《《《《答案》》》》》》》》》

一、选择题

二、填空题

obj;

=x>yx:y; min=x

3.顺序结构,分支结构,循环结构

5..java .class

7.后出先出

8.方法名,返回值类型,参数列表

10.声明数组,创建数组,创建数组

元素

三、判断题

1.×

2.√

3.√

4.×

5.√

6.×

7.×

8.√

9.√ 10.×

11.× 12.√ 13.√ 14.√ 15.√

四、程序填空

1. class, "\t"+(c++)

2. extends, a[i]

3. new TextField(8), ()+",你好!"

4. long, return

n*Factorial(n-1);

5. max(i1,i2,i3), static

五、简答题

1. 1)将类Applet引入本程序

2)接口,actionPerformed(),功能为:当在文本域中按回车键时,该方法被调用,

其功能为取文本域中的文本,转换

为int型数据赋给i,通过repaint()而调用paint()

方法输出结果.

3)a=42

i=6

2. 1)Application

2)类A是类B的父类

3)Class A:a=1 d=

Class A:a=1 d=

Class A:a=1 d=

Class B:a= d=Java program. b=4 3. 1)threee

2)one

4. 1 6 88 93 24 18 50 128 87 66 1 6 18 24 50 88 93 128 87 66

本文来源:https://www.bwwdw.com/article/o38l.html

Top