(5) (double)(a+b)/5+a/b
第三章 Java 的控制结构 一、判断题
1.default 在 switch 选择结构中是必需的。
( ) 7 2.break 语句在 switch 选择结构是必需的。
( ) 3.while 循环中循环体至少执行一次。
( )
4.if 结构和 if/else 结构所做的动作是相同。
( )
5. break 语句只用于循环语句中,它起到终止本次循环的作用。
( )
6. continue 语句只用于循环语句中,它起到终止本次循环的作用。
( )
7.结构化程序设计提高了程序的清晰简单性,并且它只需使用三种形式的控制结构就足够了。
( )
二、选择题
1.所有的程序均可以用几种类型控制结构编写。
( )
A 顺序结构、选择结构、循环结构 B 顺序结构、循环结构 C 顺序结构、选择结构 D 选择结构、循环结构
2.当条件为真和条件为假时,( )控制结构可以执行不同的动作。
A switch B while C for D if/else
3.下面程序片段输出的是什么?
( )
int a=3; int b=1; if(a=b)
System.out .println(“a=”+a);
A a=1 B a=3 C 编译错误,没有输出 D 正常运行,但没有输出
4.下面程序的输出结果是:
( ) public class Test{
void printValue(int m){
do , System .out .println(“The value is”+m); }
while(- - m>10); }
public static void main(String arg[]){ int i=10;
Test t= new Test(); t.printValue(i); } }
A 8 B 9 C 10 D 11
5.下列语句执行后,x 的值为( ) int a=4,b=5,x=3; if(++a==b) x=x*a; A 3 B 12 C 15 D 20
6. 下列语句执行后,z 的值为( ) int x=3,y=4,z=0; switch(x%y+2) {
case 0:
z=x*y;break; case 6:
z=x/y;break; case 12:
z=x-y;break; default:
z=x*y-x; }
A 15 B 0 C -2 D 12
7.请看下面的程序代码:
( ) if(x>0) , System .out .println(“first”);-
else if(x<20) , System .out .println(“second”);- else , System .out .println(“third”) -
当程序输出“second”时,x 的范围为:
A x < = 0
B x < 20 && x > 0 C x > 0 D x >= 20
8.请看下面的程序代码:
( ) switch(n) {
case 0:
System .out .println(“first”); case 1:
case 2:
System .out .println(“second”); break; default:
System .out .println(“end”); }
当 n 为何值时,程序段将输出字符串 second:
9 A 0 B 1 C 2
D 以上都可以
9.下列语句执行后,x 的值是( ) int x=2; do
{x+=x; }while(x<17);
A 4 B 16 C 32 D 256
10.下列语句执行后,j 的值是( ) int j=3,i=3; while(--i!
=i/j) j=j+2;
A 4 B 5 C 6 D 7
11.下列语句执行后,i,j 的值是( ) i
nt i=1, j=8;
do{if(i++>--j)
continue;}while(i<4);
A i=4,j=5 B i=5,j=4 C i=4,j=5 D i=5,j=6
12. 下列语句执行后,k 的值是( ) int j=4,i,k=10; for(i=2;i!
=j;i++) k=k-i;
A 4 B 5 C 6 D 7
13. 下列语句执行后,c 的值是( ) char c='\0';
for(c='a';c<'z';c+=3) {
if(c>='e') break; }
A ’e’ B ’d’ C ’f’ D ’g’
14.下列语句执行后,k 的值是( ) int i,j,k=1;
lable:
for(i=1;i<8;i++) {
for(j=1;j<6;j++) 10 { k*=i+j; if(j==3) break lable; } }
A 22 B 23 C 24 D 25 15.下列语句执行后,k 的值是( ) int i,j,k=1;
lable:
for(i=1;i<3;i++) {
for(j=1;j<4;j++) {
k+=i+j; if(j==3)
continue lable; } }
A 22 B 23 C 24 D 25
三、程序填空
1 以下程序的功能是:
求 s=1/2+1/6+1/12+1/20+„„+1/(19*20);请将下列程序补充完 整。
double s=0.0; int n=1
do
{s= ① ;
n= ②
;}while(n<20);
System.out.println(s);
2.求 1-100 内的奇数并输出。
public class oddnum{
public static void main(String[] args) { int i;
① {if( ② )
continue;
System.out.print(i+",");} }}
11 四、编程题 1.打印九九乘法表
2.编写一个求 1!
+2!
+3!
+ „+10!
3.编写一个应用程序,计算和打印从 1 加到 10 的累加和。
用 while 结构循环执行计算及加 1
语句。
循环必须在 x 加到 11 时终止。
第四章 方法 一、判断题
1.Java 语言的模块只有类。
( )
2.定义方法时方法名可以是任何标识符。
( )
3.方法体中至少有一条 return 语句。
( )
4.如果需要可以在方法中再声明一个方法。
( )
5.方法定义语句 void x( int a,int b ) { return (a-b); }是正确的。
( )
6.方法内定义的变量是可以在方法外使用的。
( )
8.Java 中允许两方法同名,只要它们参数的类型或个数不同就行。
( )
9.每个应用程序都必须要有 main 方法。
( )
10.方法定义语句 float x( int a,int b ) { return (a-b); }是正确的。
( )
二、选择题
1.方法的作用不包含:
A 使程序结构清晰 A 功能复用 A 代码简洁 A 重复代码
2.方法内定义的变量:
A 一定在方法内所有位置可见 B 可能在方法内的局部位置可见 C 在方法外可以使用
D 在方法外可见
3.方法的形参:
A 可以没有 B 至少有一个
C 必须定义多个形参 D 只能是简单变量
4.方法的调用:
A 必须是一条完整的语句 B 只能是一个表达式
C 可能是语句,也可能是表达式 D 必须提供实际参数
5.return 语句:
A 不能用来返回对象 B 只可以返回数值 C 方法都必须含有
D 一个方法中可以有多个 return 语句
6.void 的含义:
A 方法体为空 B 方法体没有意义 C 定义方法时必须使用 D 方法没有返回值
7.main()方法的返回类型是:
A boolean B int C void D static
8.方法重载所涉及的方法:
A 有相同的名字 B 参数个数必须不同 C 参数类型必须不同 D 返回类型必须不同 三、阅读程序写结果。
1.public class Class431 {
public static void main(String[] args) { int a = 3; char m='a';
prt("m in main="+m); prt("a in main="+a);
prt("return from test2 :
"+test2()); prt("m + a="+test1(m,a)); }
static float test1(char x, int y) { int z = x+y; 13 return z;
}
static float test2() { int a = 60;
for (int i = 8; i < 12; i++) a= a+i;
prt("a in test2 is :
"+a); return a; }
static void prt(String s) { System.out.println(s); } }
2.public class Class432 {
static int i=123;
public static void main (String[] args) {
int i=456;
System.out.println("main( ) 中的 i="+i); m1( ); m2( ); }
static void m1( ) {
int i=789;
System.out.println("m1( ) 中的 i="+i); }
static void m2( ) {
System.out.println("类变量 i="+i); i+=6;
System.out.println("加 6 后的类变量 i="+i); } }
14 四、编程题
1.用两个方法打印出 200 以内的全部素数(一个是 main()方法,一个是专门判定一个数是
否为素数的方法)。
2.已知菲波那契数列的数学表达式为:
fibonacci(n)=n, n=0,1;
fibonacci(n)=fibonacci(n-1)+fibonacci(n-2), n≥2;
用递归方法计算 Fibonacci序列,并打印出其前 15项的值。
3.编写一个 Application,其中包含三个同名方法 mySqrt(),它们都只有一个参数,参数的 类型分别为 int 型、float 型和 double 型,它们的功能均为返回参数的平方根,返回值的类
型与参数的类型相同。
在方法 main( ) 中调用上面的三个方法并输出结果。
4.编程生产 100 个 1到 6 之间的随机数,统计 1到 6 每个数出现的概率。
第五章 数组与字符串 一、判断题
1.下标是用于指出数组中某个元素位置的数字或变量。
( ) 2.同一个数组中可以存放多个不同类型的数据。
( ) 3.数组的下标可以是 int 型或 float 型。
( ) 4.数组可以声明为任何数据类型。
( ) 5. 执行语句 int a[]后数组元素的值为 0。
( )
6.假定整形数组的某个元素被传递给一个方法并被该方法修改。
当调用方法执行完毕时,这
个元素中含有修改过的数值。
( )
7. 执行语句 int a[] = new int[50]后数组元素的值为 0。
( )
8. 对于二维数组 s 来说,s [2].length 给出数组 s 第 2 行的元素个数。
( ) 9.数组作参数时,数组名后必须加方括号。
( ) 10.用运算符“==”比较字符串对象时,只要两个字符串包含的是同一个值,结果便为 true。
( )
11.String 类字符串在创建后可以被修改。
( )
12.方法 replace (String srt1, String srt2)将当前字符串中所有 srt1 子串换成 srt2子串。
13.方法 compareTo 在所比较的字符串相等时返回 0。
( )
14.方法 IndexOf((char ch,-1)返回字符 ch 在字符串中最后一次出现的位置。
( ) 15.方法 startsWith 判断当前字符串的前缀是否和指定的字符串一致。
( ) 二、选择题
1.数组元素之所以相关,是因为它们具有相同的▁▁。
15 A 名字 B 类型 C 下标 D 地址
2.设有定义语句 int a[ ]={66,88,99}; 则以下对此语句的叙述错误的是▁▁。
A 定义了一个名为 a 的一维数组 B a 数组有 3 个元素
C a 数组的元素的下标为 1~3 D 数组中的每个元素是整型
3.为了定义三个整型数组 a