当前位置:文档之家› 〖程序设计基础〗练习题1及答案

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

〖程序设计基础〗练习题1一、选择题(每题1分,共30分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号内。

1.以下的选项中能正确表示Java语言中的一个整型常量的是( )。

A) 12. B) -20 C) 1,000 D) 4 5 62.以下选项中,合法的赋值语句是( )。

A) a = = 1; B) ++ i;C) a=a + 1= 5; D) y = int ( i );3.若所用变量都已正确定义,以下选项中,非法的表达式是( )。

A) a != 4||b==1 B) 'a' % 3C) 'a' = 1/2 D) 'A' + 324.若有定义int a = 2;则执行完语句a += a -= a * a; 后,a的值是( )。

A) 0 B) 4 C) 8 D) -45.设有定义语句int a[]={66,88,99}; 则以下对此语句的叙述错误的是( )。

A) 定义了一个名为a的一维数组B) a数组有3个元素C) a数组的下标为1~3 D)数组中的每个元素是整型6.若a和b均是整型变量并已正确赋值,正确的switch语句是( )。

A) switch(a+b);B) switch( a+b*3.0 ){ ...... } { ...... }C) switch a D) switch ( a%b ){ ...... } { ...... }7.下列语句序列执行后,x 的值是( )。

int a=3, b=4, x=5;if( ++a<b ) x=x+1;A) 5 B) 3 C) 4 D) 68.下列语句序列执行后,k 的值是( )。

int i=6, j=8, k=10, n=5, m=7;if( i<j || m<n ) k++; else k--;A) 9 B) 10 C) 11 D) 129.下列语句序列执行后,r 的值是( )。

char ch='8'; int r=10;switch( ch+1 ){ case '7': r=r+3;case '8': r=r+5;case '9': r=r+6; break;default: ;}A) 13 B) 15 C) 16 D) 1010.下列语句序列执行后,j 的值是( )。

int j=0;for( int i=3; i>0; i-- ) j+=i;A) 3 B) 4 C) 5 D) 611.下列语句序列执行后,j 的值是( )。

int j=9, i=6;while( i-- >3 ) --j;A) 5 B) 6 C) 7 D) 812.下列语句序列执行后,i的值是( )。

int i=10;do { i-=2; } while( i>6 );A) 10 B) 8 C) 6 D) 413.为了区分重载多态中同名的不同方法,要求( )。

A) 采用不同的形式参数列表B) 返回值类型不同C) 调用时用类名或对象名做前缀D) 参数名不同14.定义主类的类头时可以使用的访问控制符是( )。

A) private B) protectedC) public D) private protected15.下列整型的最终属性i的定义中,正确的是( )。

A) static final int i=100; B) final i;C) static int i; D) final float i=1.2f;16.设x,y 均为已定义的类名,下列声明对象x1的语句中正确的是( )。

A) public x x1= new y( ); B) x x1=x( );C) x x1=new x( ); D) int x x1;17.下列方法定义中,正确的是( )。

A) int x( int a,b ) B) double x( int a,int b){ return (a-b); } { int w; w=a-b; }C) double x( a,b ) D) int x( int a,int b){ return b; } { return a-b; }18.能构成多分支的语句是( )。

A) for 语句B) while 语句C) switch 语句D) do - while 语句19.下列程序段执行后t1的结果是( )。

int x1 = 9, x2 = 6, t1;t1 = x1 > x2 ? x1 : x2;A) 6 B) 9 C) 11 D) 320.对于一个三位的正整数n,取出它的十位数字k(k为整型)的表达式是( )。

A) k = n / 10 % 10 B) k = ( n - n / 100 * 100 )%10C) k = n % 10 D) k = n / 1021.现有一变量声明为boolean aa;下面赋值语句中正确的是( )。

A)aa=false; B)aa=False; C)aa="true"; D)aa=0;22.为了定义三个整型数组a1、a2、a3,下面声明正确的语句是( )。

A)intArray [] a1,a2; B)int [] a1,a2;int a3[]={1,2,3,4,5}; int a3[]={1,2,3,4,5};C)int a1,a2[]; D)int [] a1,a2;int a3={1,2,3,4,5}; int a3=(1,2,3,4,5);23.以下for循环的执行次数是()。

for(int x=0,y=0;(y!=0)&&(x<4);x++);A)无限次B)一次也不执行C)执行4次D)执行3次24.为了使包sos在当前程序中可见,可以使用的语句是( )。

A)import sos.*; B)package sos.*;C)sos import; D)sos package;25.以下哪个方法仅在Applet程序被创建和首次被载入支持Java的浏览器时被调用( )。

A)paint() B)init() C)action() D)start()26.在某个类A中存在一个方法:void GetSort(int x),以下能作为这个方法的重载的声明的是( )。

A)V oid GetSort(float x) B)int GetSort(int y)C)double GetSort(int x,int y) D)void Get(int x,int y)27.有一个类A,以下为其构造函数的声明,其中正确的是( )。

A)void A(int x){...} B)A(int x){...}C)a(int x){...} D)void a(int x){...}28.选择排序的思想是,将数据序列划分为两个子列,一个子列是排好序的,另一个是尚未排序的。

现若想将数据序列由大到小排序,则每次放到有序子列尾部位置的元素,应从无序序列中选择( )。

A)最大的B)最小的C)任意的D)头上的29.已知int a[11]={12,18,24,35,47,50,62,83,90,115,134};使用对分查找法查找值为90的元素时, 查找成功所进行的比较次数是( )。

A)1 B)2 C)3 D)430.下面叙述正确的是( )。

A)栈不能进行插入元素的操作,而队列可以。

B)栈和队列都不能在中间位置进行插入操作。

C)链表不能进行插入操作。

D)数组不能进行插入操作。

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

)请将正确答案填写在答题纸相应位置上,答在试卷上不得分。

1.在Java语言中,逻辑常量只有true 和___________ 两个值。

2.表达式1/2*3的计算结果是_________。

3.以下方法fun的功能是求两参数之和。

int fun ( int a, int b ){ __________________; }4.面向对象技术中的对象具有状态,行为和_________等三个基本属性。

5.面向对象程序设计方法最重要的特性是继承、封装、__________和多态。

6.定义一个类包括定义类头和定义_______两个部分。

7使用一个对象前,必须声明并___________它。

8.数组、堆栈、________和链表都是线性数据结构。

9.执行以下程序段后:a = ________, b = ________ 。

int a = 5, b;b = ++a * 3;10.结构化程序设计的三种基本流程控制结构是:顺序结构、循环结构和_______________。

11.Java 程序可以分为Application 和Applet 两大类,能在WWW 浏览器上运行的是_________ 。

12.如果子类中的某个方法的名字、返回值类型和参数列表与它的父类中的某个方法完全一样,则称子类中的这个方法__________了父类的同名方法。

13.同类中多个方法具有相同的方法名,不同的_____________称为方法的重载。

14.在Java语言中,所有的数组都有一个length属性,这个属性存储了该数组的___________。

15.在Java语言中,为将源代码翻译成____________时产生的错误称为编译错误。

而将程序在运行中产生的错误称为运行错误。

三、判断题(每小题1分,共15分)下列各题中,你认为正确的就在其题干后的括号内打"√",错误的打"×"。

1.Java中的的字符使用的是16 位的Unicode 编码。

2.类是同种对象的集合和抽象。

3.Java 仅支持类间的单重继承。

4.接口是由常量和抽象方法组成的特殊类。

5.构造函数的方法名可由编程人员任意命名。

6.使用静态属性必须以类名做前缀。

7.类的私有属性和私有方法可以被其子类访问。

8.abstract 是抽象修饰符,可以用来修饰类及其属性和方法。

9.Java 支持多线程机制。

10.一个Java 源程序中允许有多个公共类。

11.Java 程序可以划分为两大类: Application 和Applet。

12.for 语句中的循环体不能是空的。

13.子类不能继承父类的构造函数。

14.重载的方法可以通过它们的返回值类型的不同来区分。

15.数组一定占用连续的内存空间。

四、程序填空(每空2分,共20分)阅读程序,根据程序功能,在指定的空白处填上适当的语句或语法成分,使程序完整。

1.下面是一个类的定义。

class ____________ // 定义名为myclass的类{__________ int var=666;static int getvar(){return var;}}2.下面是用户程序对Applet 类中方法paint( ) 的重新定义。

相关主题