- 博客(0)
- 资源 (3)
空空如也
〖程序设计基础〗练习题3及答案
一、单选题(30分)
1.Java语言是( )。
A.面向问题的解释型高级编程语言
B.面向机器的低级编程语言
C.面向过程的编译型高级编程语言
D.面向对象的解释型高级编程语言
2.下列的变量定义中,错误的是( )。
A) int i; B) int i=Integer.MAX_VALUE;
C) static int i=100; D) int 123_$;
3.以下的变量定义语句中,合法的是( )。
A) float $_*5= 3.4F; 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=12.3* % 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<k--) k++;
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);则循环体将被执行( )。
A.0次 B.1次 C.2次 D.3次
24. 定义类头时,不可能用到的关键字是( )。
A) private B)class C)extends D)implements
25.在一个应用程序中有如下定义:int a[]={1,2,3,4,5,6,7,8,9,10};,为了打印输出数组a的最后一个元素,下面正确的代码是( )。
A) System.out.println(a[10]);
B) System.out.println(a[9]);
C) System.out.println(a[a.length]);
D) System.out.println(a(8));
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) 最大的
二、填空题(每小题1.5分,共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]; ,则a.length的值为_____。
7.栈是一种先进____________的线性数据结构,而队列是先进_________的线性数据结构。
8.如果子类中的某个方法的________、___________和___________与它的父类中的某个方法完全一样,则称子类中的这个方法覆盖了父类的同名方法。
9.若a,b为int型变量且已分别赋值为2,6。表达式(a++)+(++b) +a*b的值是________ 。
10.定义数组,需要完成以下三个步骤,即:___________、________和_____________ 。
三、判断题( 每小题1分,共15分 )
1.类头定义包含的四个部分分别为:访问控制修饰符、类名说明、父类名说明和接口名的说明,它们中的任何一个都是不能缺少的。
2.在 Applet 的坐标系中,(0,0) 代表输出窗口左上角的象素点。
3.应用程序一定要有main()方法,小程序一定要继承于Applet 类。
4.java语言中的逻辑变量可以和整型变量相互强制转换。
5.面向对象的软件开发方法用类把数据和基于数据的操作封装在一起,并且类之间可以存在继承关系。
6.方法可以没有返回值,或有一个返回值,也可以有多个返回值。
7.一个类中用private 修饰符修饰的属性成员,可被该类的方法和它的子类的方法访问。
8.构造函数能继承,也能被重载。
9.Java 源程序的文件名必须和公共类的类名相同。
10.双精度数强制转换成单精度数后,其数值精度会提高。
11. 队列、链表、堆栈和树都是线性数据结构。
12.属性的隐藏是指子类重新定义从父类继承来的同名变量。
13.用static修饰的方法称为静态方法,它不属于类的一个具体对象,而是整个类的类方法。
14.java语言中的接口可以继承,一个接口通过关键字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++)
{
System.out.print(______);
}
}
}
2.下面程序的功能为计算数组各元素的和,请完成程序。
import java.awt.Graphics;
import java.applet.Applet;
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 < a.length; i++ )
total+=_____________;
g.drawString( "Total of array elements: " + total, 25, 25 );
}
}
3. 下面的java小应用程序实现的功能是从文本域中输入你的名字"***",回车后在
Applet中显示"***,你好!" ,请完成程序。
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class Applet1 extends Applet implements ActionListener
{
Label aa;
TextField t1;
String s=" ";
public void init()
{
aa=new Label("请输入你的名字:");
add(aa);
t1=___________;
add(t1);
t1.addActionListener(this);
}
public void paint(Graphics g)
{
g.drawString(s,20,100);
}
public void actionPerformed(ActionEvent e)
{
s=_________;
repaint();
}
}
4. 下面是求阶乘的递归算法,方法的返回值类型为long, 请完成程序。
______ Factorial(long n)
{
if(n<=1)
return 1;
else
___________;
}
5.下面程序的功能是通过调用方法max()求给定的三个数的最大值,请将程序补充完
整。
import java.io.*;
public class Class1
{
public static void main( String args[] )
{
int i1=1234,i2=456,i3=-987;
int MaxValue;
MaxValue=____________;
System.out.println("三个数的最大值:"+MaxValue);
}
public ______ int max(int x,int y,int z)
{
int temp1,max_value;
temp1=x>y?x:y;
max_value=temp1>z?temp1:z;
return max_value;
}
}
五、简答题( 每1问2分,共20分 )
1.阅读下面的程序,回答以下问题.(6分)
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
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);
t1.addActionListener(this);
}
public void paint(Graphics g)
{
g.drawString("a="+( ++i*--i),20,60);
g.drawString("i="+( i),20,80);
}
public void actionPerformed(ActionEvent e)
{
i=Integer.parseInt(t1.getText());//转化为整数
repaint();
}
}
问题:
1)程序开头的 import java.applet.* ; 的含义是什么?
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( );
aa.show( );
bb.show();
}
}
//A.java
public class A
{
int a=1;
double d=2.0;
void show( )
{
System.out.println("Class A: "+"\ta="+a +"\td="+d);
}
}
//B.java
public class B extends A
{
float a=3.0f;
String d="Java program.";
int b=4;
void show( )
{
System.out.println("Class A: "+"\ta="+super.a +"\td="+super.d);
super.show( );
System.out.println("Class B: "+"\ta="+a +"\td="+d+"\tb="+b);
}
}
问题:
1) 这是哪一类java程序?
2) 类A和类B是什么关系?
3) 按程序输出的格式写出程序运行后的结果.
3.阅读下面的程序段,回答以下问题.(4分)
if ( x < 5 )
System.out.print(" one ");
else
{ if ( y < 5 )
System.out.print(" two ");
else
System.out.println(" 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分)
2011-05-30
〖程序设计基础〗练习题2及答案
一、选择题(每题1分,共30分)
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号内。
1.下列语句序列执行后,k 的值是( )。
int m=3, n=6, k=0;
while( (m++) < ( -- n) ) ++k;
A) 0 B) 1 C) 2 D) 3
2.设 i、j 为int型变量名,a 为int型数组名,以下选项中,正确的赋值语句是( )。
A) i = i + 2 B) a[0] = 7;
C) i++ - --j; D) a(0) = 66;
3.Java语言的类间的继承关系是( )。
A) 多重的 B) 单重的 C) 线程的 D) 不能继承
4.设有定义 int i = 6 ;,则执行以下语句后,i 的值为( )。
i += i - 1;
A) 10 B) 121 C) 11 D) 100
5.下列选项中,用于在定义子类时声明父类名的关键字是( )。
A)interface B) package C) extends D) class
6.若已定义 byte[ ] x= {11,22,33,-66} ;
其中0≤k≤3,则对x数组元素错误的引用是( )。
A) x[5-3] B) x[k] C) x[k+5] D) x[0]
7.下列语句序列执行后,ch1 的值是( )。
char ch1='A',ch2='W';
if(ch1 + 2 < ch2 ) ++ch1;
A) ‘A' B) ‘B' C) ‘C' D) B
8.下列语句序列执行后,i 的值是( )。
int i=8, j=16;
if( i-1 > j ) i--; else j--;
A) 15 B) 16 C) 7 D) 8
9.下列语句序列执行后,k 的值是( )。
int i=10, j=18, k=30;
switch( j - i )
{ case 8 : k++;
case 9 : k+=2;
case 10: k+=3;
default : k/=j;
}
A) 31 B) 32 C) 2 D) 33
10.下面语句执行后,i 的值是( )。
for( int i=0, j=1; j < 5; j+=3 ) i=i+j;
A) 4 B) 5 C) 6 D) 7
11.设有定义 float x=3.5f, y=4.6f, z=5.7f;则以下的表达式中,值为true的是( )。
A) x > y || x > z B) x != y
C) z > ( y + x ) D) x < y & ! ( x < z )
12.下列语句序列执行后,i的值是( )。
int i=16;
do { i/=2; } while( i > 3 );
A) 16 B) 8 C) 4 D) 2
13.以下由 for 语句构成的循环执行的次数是( )。
for ( int i = 0; true ; i++) ;
A) 有语法错,不能执行 B) 无限次
C) 执行1次 D) 一次也不执行
14.定义类头时能使用的修饰符是( )。
A) private B) static C) abstract D) protected
15.设int 型变量 a、b,float 型变量 x、y,char 型变量 ch 均已正确定义并赋值,
正确的switch语句是( )。
A) switch (x + y) B) switch ( ch + 1 )
{ ...... } { ...... }
C) switch ch D) switch ( a + b );
{ ...... } { ...... }
16. 下列最终属性 i 的定义中,正确的是( )。
A) static final int i=100; B) final int i=1.2;
C) final i='w'; D) final char i;
17. 下列类定义中,不正确的是( )。
A) class x { .... }
B) class x extends y { .... }
C) static class x implements y1,y2 { .... }
D) public class x extends Applet { .... }
18. 设 x、 y为已定义的类名,下列声明x类的对象x1的语句中正确的是( )。
A) static x x1; B) public x x1=new x(int 123);
C) y x1; D) x x1=x( );
19. 设 i、j、k 为类 x 中定义的 int 型变量名,下列类 x 的构造函数中不正确的是( )。
A) x( int m){ ... } B) void x( int m){ ... }
C) x( int m, int n){ ... } D) x( int h,int m,int n){ ... }
20. 下列方法定义中,正确的是( )。
A) int x( ){ char ch='a'; return (int)ch; }
B) void x( ){ ...return true; }
C) int x( ){ ...return true; }
D) int x( int a, b){ return a+b; }
21. 用于定义类成员的访问控制权的一组关键字是( )。
A) class, float, double, public
B) float, boolean, int, long
C) char, extends, float, double
D) public, private, protected
22. 不能构成循环的语句是( )。
A) for 语句 B) while 语句 C) switch 语句 D) do__while 语句
23. 下列程序段执行后 b3 的结果是( )。
boolean b1=true, b2, b3;
b3= b1 ? b1 : b2;
A) 0 B) 1 C) true D) false
24. 下面数据结构中,属于非线性的是( )。
A) 线性表 B) 树 C) 队列 D) 堆栈
25. 设有定义 int i=123; long j=456; 下面赋值不正确的语句是( )。
A) j=i; B) j=(long)i; C) i=(int)j; D) i=j;
26. 现有一整型数组a[4],它的所有数组元素是( )。
A) a0, a1, a2, a3 B) a[0], a[1], a[2], a[3]
C) a[1], a[2], a[2], a[4] D) a[0], a[1], a[2], a[3], a[4]
27. 定义 Java Applet程序时,必须有的 import语句是( )。
A) import java.applet.Applet; B) import java.io.*;
C) import java.awt.event; D) import java.lang.*;
28.现有两个类A、B,以下描述中表示B继承自A的是( )。
A) class A extends B B) class B implements A
C) class A implements B D) class B extends A
29. 下列算法中,不能用来排序的算法是( )。
A) 冒泡法 B) 插入排序 C) 选择排序 D) 对分法
30. 堆栈操作的原则是( )。
A) 先进先出 B) 后进先出 C) 只能进 D) 只能出
二、填空题(每空1分,共15分)
请将正确答案填写在答题纸相应位置上,答在试卷上不得分。
1. 构造函数______有返回值。
2. Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为float和 __________两种具体类型。
3. 创建类对象的运算符是___________。
4. 当整型变量n的值不能被13除尽时,其值为 false 的Java语言表达式是_____________ 。
5. 在Java语言中,所有的数组都有一个lenght属性,这个属性存储了该数组的__________。
6. 定义类就是定义一种抽象的____________,它是所有具有一定共性的对象的抽象描述。
7. 在Java语言中,使用_____、______等技术,实现软件重用。
8. Java的复合数据类型有 : 类、数组和_______等。
9. 表达式3/6 * 5的计算结果是________ 。
10.定义初值为10的10次方的长整型变量 lvar 的语句是:__________________________。
11. 顺序结构、分支结构(或称选择结构)、____________是结构化程序设计的三种基本流程控制结构。
12. 以下方法 m 的功能是求两参数之积的整数部分。
int m ( float x, float y )
{ __________________; }
13. Java 源程序文件编译后产生的文件称为________文件,其扩展名为 ___________ 。
三、判断题( 每小题1分,共15分 )
下列各题中,你认为正确的就在其题干后的括号内打"√",错误的打"×"。
1.Java 和 c++都是面向对象的程序设计语言。( )
2.字符串 "\'a\'" 的长度是5。( )
3. 同一个类中定义多个参数列表不同的同名方法,叫做方法的重载。( )
4. 一个类的定义包括定义类头和定义类体两个部分。( )
5.一个程序里可以有多个父类,也可以有多个主类。( )
6. 一个子类可以重新定义从父类那里继承来的同名方法,而且允许它们有不同的返回值。( )
7.抽象方法只能存在于抽象类中。( )
8. 在父类中声明为 final 的方法,也可以在其子类中被重新定义(覆盖)。( )
9. 接口中所有方法均为抽象方法。( )
10. False 是合法的 Java 标识符。( )
11. 子类的类成员变量不能与其父类的类成员变量同名。( )
12. static 变量不能是 private 变量。( )
13. 保留字 this 代表当前对象。( )
14. 类的构造函数名必须和类名相同。( )
15. 子类的对象能直接向其父类对象赋值。( )
四、程序填空( 每空2分,共20分 )
阅读程序,根据程序功能,在指定的空白处填上适当的语句或语法成分,使程序完整。
1.下面是一个类的定义:
public class ____________
{
int x, y;
Myclass ( int i, _______) // 构造函数
{
x=i;
y=j;
}
}
2.下面是用户程序对 Applet 类中方法 paint( ) 的重新定义。
public void paint(Graphics ____ )
{ int i=689;
a.drawString ( ________+ i ,20,60);
}
3.下面是一个Java Application 的主类的定义,其功能是输出所有命令行参数。
import java.io.*;
public class MyClass
{
public static void main(String args[ ])
{
if( args.length !=___)
for(int i=0; i < args.length; i++)
System.out.println(___________);
else System.out.println("没有命令行参数");
}
}
4.下面是一个小程序的主类myprogram的定义, 其中A、B是该主类所在源程序中已定义的另两个类的类名:
import java awt.*;
import java applet.*;
public class myprogram extends Applet//定义小程序的主类
{
A a; B b;
public ________ init( )
{ a=new A( ); b=_____ B( ); }
}
5.下面程序的功能是输出数组各元素的和。
import java.awt.Graphics;
import java.applet.Applet;
public class SumArray extends Applet
{
float[] a;
a= new _______[6];
float sum=0.0f;
public void init( )
{
for ( int j = 0; j < a.length; j++ )
a[j] = j+1;
for ( int i = 0 ; i < a.length; i++ )
sum+= a[i];
}
public void paint( Graphics g )
{
g.drawString( "Total of array elements: " + ________ , 25, 25 );
}
}
五、简答题( 每1问2分,共20分 )
阅读程序(或程序片段)并回答问题 。
1. import java.awt.*;
import java.applet.*;
public class Test51` extends Applet
{
float[ ] x = {1.2, 3.4, 5.6, 7.8};
public void paint(Graphics g)
{
int s=0;
for( int i = 0; i < x.length; i++ )
s += (int)x[i];
g.drawString(" " + s, 30, 60);
}
}
问题:
1)程序的输出结果是什么?
2)方法paint()中的循环体 s += (int)x[i]; 能写为 s +=x[i]; 吗? 为什么?
2. public class Test52
{
String str1="Hello, Java world! \t";
String str2="Hello, students! ";
public static void main(String args[])
{
System.out.print(str1);
System.out.println(str2);
}
}
问题:1)这是哪种形式的 Java 程序 ?
2)程序的输出是什么?输出的结果在 Applet 窗口中吗?
3. 设ch1, ch2是 char 型变量:
if ( ch1 == ‘a' )
{
if ( ch2 == ‘b' )
System.out.print(" ch1=\'a\' , ch2=\'b\' ");
}
else
System.out.print(" ch1!=\'a\' ");
System.out.println(" end ");
问题: 1)若执行前 ch1 的值为 ‘a', ch2 的值为 'c' 该程序段输出是什么?
2)若执行前 ch1 的值为 'w', ch2 的值为 'b' 该程序段输出是什么?
3)若执行前 ch1 的值为 'a', ch2 的值为 'b' 该程序段输出是什么?
4.有如下源程序:
import java.awt.*;
import java.applet.*;
public class Test54 extends Applet
{
B b;
public void init( )
{
b=new B( 'f', 87.6f, 69.1f);
}
public void paint(Graphics g)
{
g.drawString("序号 "+"性别 "+"成绩1 "
+"成绩2 ",20,50);
b.Print(g);
}
}
class A
{
static int n=100;
char ch;
A( ) { n++; }
A( char c){ this( ); ch=c; }
void Print(Graphics g)
{
g.drawString(" "+n+" "+ch,20,70);
}
}
class B extends A
{
float s1, s2;
B(float r1,float r2){ s1=r1; s2=r2; }
B( char c, float r1, float r2)
{
super(c);
s1=r1; s2=r2;
}
void Print(Graphics g)
{
super.Print(g);
g.drawString(" "+s1+" "+s2,40,70);
}
}
问题: 该程序的输出是什么?
5.已知菲波那契数列的数学表达式为:
fibonacci(n)=n, n=0,1;
fibonacci(n)=fibonacci(n-1)+fibonacci(n-2), n≥2;
设 m 是 long 型变量,下面是用递归算法求菲波那契数列的方法:
long fibonacci(long n)
{
if(n==0||n==1) return n;
else return (fibonacci(n-1)+fibonacci(n-2));
}
问题: 当语句 m=fibonacci(3); 执行时,方法 fibonacci( )被调用了几次?
6. 下面是一个排序的程序:
import java.io.*;
public class Test56_Sort
{
public static void main(String args[ ])
{
int[] a={42,99,5,63,95,36,2,69,200,96};
System.out.println("排序前的数据序列:");
ShowArray(a);
Sort(a);
System.out.println("排序后的数据序列:");
ShowArray(a);
}
public static void Sort(int[] x)
{
int w;
for(int i=1; i<x.length; i++)
{
for(int j=0; j<x.length-1; j++)
if(x[j]>x[j+1])
{ w=x[j]; x[j]=x[j+1]; x[j+1]=w; }
/* if(i==1||i==2) ShowArray(x);
if(i==2) break; */
}
}
public static void ShowArray(int b[])
{
for(int i=0; i<b.length; i++)
System.out.print(" "+b[i]);
System.out.println(" ");
}
}
问题: 如果将方法Sort( )中的一对注释符(/* */)去掉,程序输出的结果是什么?
2011-05-30
〖程序设计基础〗练习题1及答案
1.以下的选项中能正确表示Java语言中的一个整型常量的是( )。
A) 12. B) -20 C) 1,000 D) 4 5 6
2.以下选项中,合法的赋值语句是( )。
A) a = = 1; B) ++ i;
C) a=a + 1= 5; D) y = int ( i );
3.若所用变量都已正确定义,以下选项中,非法的表达式是( )。
A) a != 4||b==1 B) 'a' % 3
C) 'a' = 1/2 D) 'A' + 32
4.若有定义int a = 2;则执行完语句a += a -= a * a; 后,a的值是( )。
A) 0 B) 4 C) 8 D) -4
5.设有定义语句int a[]={66,88,99}; 则以下对此语句的叙述错误的是( )。
A) 定义了一个名为a的一维数组 B) a数组有3个元素
C) a数组的下标为1~3 D)数组中的每个元素是整型
1.在Java语言中,逻辑常量只有true 和 ___________ 两个值。
2.表达式1/2*3的计算结果是_________。
3.以下方法fun的功能是求两参数之和。
int fun ( int a, int b )
{ __________________; }
4.面向对象技术中的对象具有状态,行为和_________等三个基本属性。
5.面向对象程序设计方法最重要的特性是继承、封装、__________和多态。
1.Java中的的字符使用的是 16 位的Unicode 编码。
2.类是同种对象的集合和抽象。
3.Java 仅支持类间的单重继承。
4.接口是由常量和抽象方法组成的特殊类。
5.构造函数的方法名可由编程人员任意命名。
class ____________ // 定义名为myclass的类
{
__________ int var=666;
static int getvar()
{
return var;
}
}
2.下面是用户程序对 Applet 类中方法 paint( ) 的重新定义。
__________ void paint(Graphics g)
{ g.____________("你好!",10,20); }
1.
import java.awt.Graphics;
import java.applet.Applet;
public class BreakTest extends Applet
{
public void paint( Graphics g )
{
int count, xPos = 25;
for ( count = 1; count <= 10; count++ )
{
if ( count == 8 )
break;
g.drawString( " " + count, xPos, 25 );
xPos += 10;
}
}
}
问题:
1)程序的输出结果是什么?
2)方法调用 g.drawString( " " + count, xPos, 25 );
的第一个实参中为什么要有串 " " ?
2011-05-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人