AP Computer Science Test 3 Part I
Multiple
Choice Questions:
1) Which of the sets of statements below will
add 1 to x if x is positive and subtract 1 from x if x is negative but leave x
alone if x is 0?
a) if (x > 0)
x++;
else
x--;
b) if (x > 0) x++;
else
if (x < 0) x--;
c) if (x > 0) x++;
if (x
< 0) x--;
else
x = 0;
d) if (x == 0) x = 0;
else
x++;
x--;
e) x++;
x--;
2) Consider the following code that will assign
a letter grade of ‘A’, ‘B’, ‘C’, ‘D’, or ‘F’ depending on a student’s test
score.
if(score >= 90) grade = 'A';
if(score >= 80) grade = 'B';
if(score >= 70) grade = 'C';
if(score >= 60) grade = 'D';
else grade = ‘F’;
a) This code will work correctly in all cases
b) This code will work correctly only if grade
>= 60
c) This code will work correctly only if grade
< 60
d) This code will work correctly only if grade
< 70
e) This code will not work correctly under any
circumstances
3) Given two String variables, s1 and s2, to
determine if they are the same length, which of the following conditions would
you use?
a) (s1.equals(s2))
b) (s1.length(
).equals(s2))
c) (s1.length(
).equals(s2.length( ))
d) (s1.length( ) ==
s2.length( ))
e) length(s1) ==
length(s2)
4) What does this program segment
print?
for( f = 0; f < 3; ++f)
for( g = 0; g < 2; ++g)
System.out.print(f + " " + g + "
");
a. 0 0 0 1 1 0 1 1 2 0 2 1 b. 0 1 0 2 0 3 1
1 1 2 1 3 c. 0 1 0 2 1 1
1 2
d . 0 0 0
1 0 2 1 0 1 1 1 2 2 0 2 1 2 2
e. nothing
5) The output of the statement;
for (b = 1; b > 3; ++b) System.out.print(b + “ “);
a. 1 1 1 b. 1 2 3 c. 1 2 3 4 d. nothing e. syntax error
6) What is the output of the
following code?
b
= 1;
while (b < 4)
System.out.println(b + " ");
a. 1 b. 1 2 3 c. 1 2 3 4 d. 1 1 1 1 1 1 ... e. nothing
7) What does this program segment
print?
for(m=0;m<4; ++m);
for(n=0;n<2; ++n);
System.out.print(m + " " + n + "
");
a. 0 0 0 1 1 0 1 1 2 0 2 1 3 0 3 1 b. 0 1 0 2 1 1 1 2 2 1 2 2 c. 4 2
d. 3 1 e.
nothing
8) In the String major = "Computer Science", what is returned by major.charAt(1)?
a. 'C' b.
'o' c. 'm' d. "C" e. "Computer"
9) Which of the following would return the last character of
the String x?
a. x.charAt(0); b. x.charAt(last);
c. x.charAt(length(x));
d. x.charAt(x.length( )-1); e. x.charAt(x.length( ));
10) Which library package would you import to use the class
Random?
a. java.beans b. java.io c. java.lang
d. java.text e. java.util
11) Since you cannot take the square root of a negative number,
you might use which of the following instructions to find the square root of
the variable x?
a. Math.sqrt(x*x); b. Math.sqrt((int) x); c. Math.sqrt(Math.abs(x));
d. Math.abs(Math.sqrt(x)); e. Math.sqrt(-x);
12) Given the following code, where x = 0, what
is the resulting value of x after the for-loop terminates?
for(int i=0;i<5;i++)
x += i;
a. 0 b. 4 c. 5 d. 10 e.15
13) Given a String, s, which is assumed to have
at least one character in it, which of the following conditions would determine
if the first character of the String is the same as the last character?
a. (s.charAt(0)
== s.charAt(s.length( )))
b. (s.charAt(1)
== s.charAt(s.length( )))
c. (s.charAt(0)
== s.charAt(s.length( ) -
1))
d. (s.charAt(0)
== s.charAt(s.length( ) +
1))
e. (s.charAt(0)
== s.charAt(last))
14) Given that s is a String, what does the
following loop do?
for(int j = s.length(
); j > 0;
j--)
System.out.print(s.charAt( j - 1));
a. it prints s out
backwards
b. it prints s out
forwards
c. it prints s out
backwards after skipping the last character
d. it prints s out
backwards but does not print the 0th character
e. it yields a run-time
error because there is no character at s.charAt(j-1)
for j = 0
15) The following nested loop structure will
execute the inner most statement (x++) how many times?
for(int j = 0; j < 100; j++)
for(int k = 100; k > 0; k--)
x++;
a. 100 b. 200 c.
10,000 d. 20,000 e. 1,000,000
True/False
Questions:
16) In Java, the
symbol “=” and the symbol “= =” are used synonymously (interchangeably).
17) If the
integer variable answer is 5, then after answer
%= 8; is executed, answer will be 3.
18) Suppose that String name = "Frank Zappa". Then the instruction;
name.toUpperCase( ).replace('A', 'I');
will return “FrInk ZIppI”.
19) The following for-loop is an infinite loop.
for(int j = 0; j <
1000; ) i++;
20) The following loop is syntactically valid.
for(int j = 0; j <
1000; j++) j--;
For question 21,
assume that boolean done =
false, int x = 10, int y =
11, String s = "Help" and
String t = "Goodbye".
21) The expression (!done && x <= y) is true.
22) In Java, it is possible to create an infinite
loop out of while loops, but not for-loops.
23) Any for loop can be
written as a while loop.
24) The third portion of a for
loop, the increment portion, must increment or decrement a variable by 1.
25) When reading an unknown amount of input from
the user, a for
loop would be the best choice.
No comments:
Post a Comment