Java题库——Chapter4 循环

1)How many times will the following code print "Welcome to Java"?

int count = 0;
while (count < 10) {
  System.out.println("Welcome to Java");
  count++;
} 

A)8 B) 9 C) 0 D) 11 E) 10


2)Analyze the following code. (Choose all that apply.)

int count = 0;
while (count < 100) {
  // Point A
  System.out.println("Welcome to Java!");
  count++;
  // Point B
}
  // Point C

A)count < 100 is always true at Point A
B)count < 100 is always true at Point C
C)count < 100 is always true at Point B
D)count < 100 is always false at Point B
E)count < 100 is always false at Point C


3)How many times will the following code print "Welcome to Java"?

int count = 0;
while (count++ < 10) {
  System.out.println("Welcome to Java");
} 

A)0 B) 9 C) 8 D) 11 E) 10


4)How many times will the following code print "Welcome to Java"?

int count = 0;
do {
  System.out.println("Welcome to Java");
  count++;
} while (count < 10);

A)9 B) 0 C) 10 D) 11 E) 8


5)How many times will the following code print "Welcome to Java"?

int count = 0;
do {
  System.out.println("Welcome to Java");
} while (count++ < 10);

A)8 B) 9 C) 0 D) 10 E) 11


6)How many times will the following code print "Welcome to Java"?

int count = 0;
do {
  System.out.println("Welcome to Java");
  count++;
} while (count < 10);

A)10 B) 8 C) 0 D) 11 E) 9


7)What is the value in count after the following loop is executed?

int count = 0;
do {
  System.out.println("Welcome to Java");
} while (count++ < 9);
System.out.println(count);

A)8 B) 0 C) 10 D) 11 E) 9


8)Analyze the following statement:

int count = 0;
do {
  System.out.println("Welcome to Java");
} while (count++ < 10);

A)The program has a compile error because the adjustment is missing in the for loop.
B)The program compiles and runs fine.
C)The program has a compile error because the control variable in the for loop cannot be of the double type.
D)The program runs in an infinite loop because d<10 would always be true.


9)Do the following two statements in (I) and (II) result in the same value in sum?
(I):

for (int i = 0; i<10; ++i) {
  sum += i;   
} 

(II):

for (int i = 0; i<10; i++) {
  sum += i;   
}

A)Yes B) No


10)What is the output for y?

for (int i = 0; i<10; i++) {
  sum += i;   
}

A)12 B) 45 C) 13 D) 11 E) 10


11)What is i after the following for loop?

int y = 0;
for (int i = 0; i<10; ++i) {
  y += i;   
} 

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

i是局部变量被定义在循环体中,循环体结束后被释放。


12)Is the following loop correct?
for (;  ; );
A)Yes B) No


13)Analyze the following fragment:

double sum = 0;
double d = 0;
while (d != 10.0) {
  d += 0.1;
  sum += sum + d;
} 

A)After the loop, sum is 0 + 0.1 + 0.2 + 0.3 + ... + 1.9
B)The program may not stop because of the phenomenon referred to as numerical inaccuracy for operating with floating-point numbers.
C)The program never stops because d is always 0.1 inside the loop.
D)The program does not compile because sum and d are declared double, but assigned with integer value 0.

 

14)Analyze the following code: (Choose all that apply.)

public class Test {  
  public static void main (String args[ ]) {
    int i = 0;
    for (i = 0; i < 10; i++);
      System.out.println(i + 4);
  }
} 

A)The program compiles despite the semicolon (;) on the for loop line, and displays 14.
B)The program compiles despite the semicolon (;) on the for loop line, and displays 4.
C)The program has a compile error because of the semicolon (;) on the for loop line.
D)The for loop in this program is same as for (i = 0; i < 10; i++) { }; System.out.println(i + 4);

尽管for循环行上有分号(;),程序仍然编译,并显示14。

 

15)How many times are the following loops executed?

for (int i = 0; i < 10; i++)
  for (int j = 0; j < i; j++)
    System.out.println(i * j)

A)10 B) 20 C) 45 D) 100


16)To add 0.01 + 0.02 + ... + 1.00, what order should you use to add the numbers to get better accuracy?
A)add 1.00, 0.99, 0.98, ..., 0.02, 0.01 in this order to a sum variable whose initial value is 0.
B)add 0.01, 0.02, ..., 1.00 in this order to a sum variable whose initial value is 0.

初始值为0的求和变量。

 

17)Will the following program terminate?

int balance = 10;
while (true) {
  if (balance < 9) break;
  balance = balance - 9;
} 

A)Yes B) No


18)What is sum after the following loop terminates?

int sum = 0;
int item = 0;
do {
  item++;
  sum += item;
  if (sum > 4) break;
} while (item < 5);

A)7 B) 6 C) 5 D) 8


19)What is sum after the following loop terminates?

int sum = 0;
int item = 0;
do {
  item++;
  sum += item;
  if (sum >= 4) continue;
}
while (item < 5);

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


20)Will the following program terminate(终止)?

int balance = 10;
while (true) {
  if (balance < 9) continue;
  balance = balance - 9;
} 

A)Yes B) No


21)After the continue outer statement is executed in the following loop, which statement is executed?

outer:
  for (int i = 1; i < 10; i++) {
  inner:
    for (int j = 1; j < 10; j++) {
      if (i * j > 50)
        continue outer;
      System.out.println(i * j);
    }
  }  
next:

A)The program terminates.
B)The statement labeled next.
C)The control is in the inner loop, and the next iteration of the inner loop is executed.  
D)The control is in the outer loop, and the next iteration of the outer loop is executed.

控件位于外部循环中,执行外部循环的下一个迭代。


22)What is the number of iterations in the following loop:

 for (int i = 1; i < n; i++) {
    // iteration
  }  

求迭代次数
A)n + 1 B) 2*n C) n - 1 D) n


23)What is the number of iterations in the following loop:

 for (int i = 1; i <= n; i++) {
    // iteration
  }  

A)n - 1 B) 2*n C) n D) n + 1


24)Suppose the input for number is 9. What is the output from running the following program?

import java.util.Scanner;
public class Test {
  public static void main(String[ ] args) {
    Scanner input = new Scanner(System.in);
    System.out.print("Enter an integer: ");
    int number = input.nextInt();   
    int i;
    boolean isPrime = true;
    for (i = 2; i < number && isPrime; i++) {
      if (number % i == 0) {
        isPrime = false;
      }
    }
    System.out.println("i is " + i);
    if (isPrime)
      System.out.println(number + " is prime");
    else
      System.out.println(number + " is not prime");   
  }
}


A)i is 4 followed by 9 is prime
B)i is 4 followed by 9 is not prime
C)i is 3 followed by 9 is prime
D)i is 3 followed by 9 is not prime

本题如果输入的不是素数,那么要找的第一个与输入的数不互质的数的后一个数;如果是素数,就返回输入的数本身。注意i++!!!

posted @ 2019-09-19 15:18  王陸  阅读(1916)  评论(0编辑  收藏  举报