3.4 练习题
一、选择题
- 下列语句序列执行后,m的值是______。
- i=9, j=8, m=10, n=9;
if(iA. 8 B. 9 C. 10 D. 11
- 下列语句序列执行后,x的值是______。
- a=3, b=4, x=5;
if(++aA. 3 B. 4 C. 5 D. 6
- 若a和b均是整型变量并已正确赋值,正确的switch语句是______。
A. switch(a+b); { ... } B. switch( a+b*3.0 ) { ... }
C. switch a { ... } D. switch ( a%b ) { ... }
- 下列语句序列执行后,r的值是______。
char ch='1'; int r=1;
switch( ch+1 ) {
case '1': r=r+2;
case '2': r=r+4;
case '3': r=r+6; break;
default: r=r+8;
}
A. 3 B. 5 C. 7 D. 11
- 以下for语句循环的次数是______。
for(int x=0;(x==0)&(x<4);x++);
A. 无限次 B. 1次 C. 3次 D. 4次
- 下列语句序列执行后,j 的值是______。
- j=2;
for(int i=7; i>0; i-=2) j*=2;
A. 4 B. 8 C. 16 D. 32
- 下列语句序列执行后,i 的值是______。
- s=1,i=1;
while(i<=4) {s*=i; i++;}
A. 6 B. 5 C. 4 D. 3
- 下列语句序列执行后,k的值是______。
- m=3, n=6, k=0;
while(m < n) {++k; m++; --n;}
A. 0 B. 1 C. 2 D. 3
- 下列语句序列执行后,i的值是______。
- i=10;
do {i/=2;} while(i--> 1);
A. 1 B. 5 C. 2 D. -1
- break语句的作用是______。
A. 只中断最内层的循环 B. 只中断某一层的循环
C. 借助于标号,可以实现任何层循环中断 D. 只中断最外层的循环
- 以下语句中不能构成循环的语句是______。
A. for语句 B. while语句 C. switch语句 D. do while语句 - 设数组Array由int myarray=new int[10] 语句定义,则数组的第一个元素的正确引用方法为______。
A. myarray[0] B. myarray[1] C. myarray[] D. myarray - 设有定义语句int a[ ]={3,9,–9,–2,8},则以下对此语句的错误叙述是______。
A. a数组有5个元素 B. 数组中的每个元素是整型
C. a的值为3 D. 对数组元素的引用a[a.length–1]是合法的
- 为了定义三个整型数组a1、a2、a3,下面声明正确的语句是______。
A. intArray [ ] a1,a2; int a3[ ]={1,2,3,4,5};
B. int [ ] a1,a2; int a3[ ]={1,2,3,4,5};
C. int a1,a2[ ]; int a3={1,2,3,4,5};
D. int [ ] a1,a2; int a3=(1,2,3,4,5);
- 设有下面的程序段:
- ct[] = {'J','a','v', 'a'} ;
String st= "Java";
String tt = "Java";
则下列选项______的表达式的值为真。
A. st==tt; B. tt.equals(ct); C. st.equals(tt); D. tt==ct;
16.下列方法定义中,正确的是______。
A. void x( int a, int b ); { return (a-b); } B. x( int a,int b) { return a-b; }
C. double x { return b; } D. int x( int a, int b) { return a+b; }
- continue在循环语句中的作用是______。
A. 停止本轮循环中剩余语句的执行 B. 只能停止当前层循环的执行
C. 实现任何层循环的停止运行 D. 只能停止最外层循环的执行
- 顺序执行下列语句后, b的值是______。
String a="Hello World!";
String b=a.substring(6,12);
A. World B. World! C. hello D. null
- 若以下变量均已正确定义并赋值,下面符合Java语言语法的语句是______。
A. b=a!=7; B. a=7+b+c=9; C. i=12.3* %4; D. a=a+7=c+b;
二、程序填空
- 本程序实现计算级数 1/1+1/2+1/3+…+1/100 的值。请将程序补充完整。
public class Cxtc1{
public static void main(String args[ ]){
double sum = 0.0 ;
for (int i=1; i <= 100 ; i + + )
sum = (1) ;
System.out.println("sum=" (2) );
}
}
- 本程序实现在数组中查找并输出最大值和最小值。请将程序补充完整。
import java.io.*;
public class Cxtc2{
public static void main(String args[ ]){
int i , Max , Min ;
int a[ ] = {12,65,8, 100,23,56,24, 57,99, 98};
(1) ;
for (i = 1 ; i < a.length; i ++ ) {
if (a[i]<Min) (2) ;
if (a[i]>Max) (3) ;
}
System.out.println("Max="+Max+" "+" Min="+Min );
System.out.println( );
}
}
- 本程序实现使用选择法对数组a的数据进行升序排列并输出排序后结果的功能。
public class Cxtc3{
public static void main(String args[ ]){
int i , j ;
int a[ ] = {12,67,8,98,23,56,124,55,99,100};
for (i = 0 ; (1) ; i ++) {
int k = i;
for ( j = i ; (2) ; j++ )
if (a[j]<a[k] ) (3) ;
int temp =a[i];
a[i] = a[k];
a[k] = temp;
}
for (i =0 ; i<a.length; i++)
System.out.print(a[i]+" ");
System.out.println( );
}
}
- 下面的程序经运行后,其输出结果如图3-9所示,请将程序补充完整。
public class Cxtc4{
public static void main(String args[]){
int n=6,i,j;
for(i=0;i<=n-2;i++)
System.out.print(" ");
System.out.println("*");
for(i=1; (1) ;i++){
for(j=0; (2) ;j++)
System.out.print(" ");
System.out.print("*");
for(j=0; (3) ;j++)
System.out.print(" ");
System.out.println("*");
}
for(i=n-2; (4) ;i--){
for(j=0;j<=n-i-2;j++)
System.out.print(" ");
System.out.print("*");
for(j=0; (5) ;j++)
System.out.print(" ");
System.out.println("*");
}
for(i=0;i<=n-2;i++)
System.out.print(" ");
System.out.println("*");
}
}