Exam

Name___________________________________

MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question.
 
1)  6 bits can be used to represent ________ distinct items or values. 1) ______
  A)  6
  B)  24
  C)  32
  D)  20
  E)  64

2)  Once we have implemented the solution, we are not done with the problem because 2) ______
  A)  the solution may, at a later date, need revising because of new programming language features
  B)  the solution may not be the best (most efficient)
  C)  the solution may have errors and need testing and fixing before we are done
  D)  the solution may, at a later date, need revising to handle new specifications
  E)  all of the above

3)  Which character below is not allowed in an identifier? 3) ______
  A)  ^
  B)  0 (zero)
  C)  _
  D)  q
  E)  $

4)  Which of the following would be a legal Java identifier? 4) ______
  A)  i
  B)  class
  C)  ilikeclass!
  D)  idon'tlikeclass
  E)  i-like-class

5)  An error in a program that results in the program outputting $100 instead of the correct answer, $250 is 5) ______
  A)  a programmer error
  B)  a logical error
  C)  a syntax error
  D)  a snafu
  E)  a run-time error

6)  Which of the following would be a good variable name for the current value of a stock? 6) ______
  A)  curstoval
  B)  theCurrentValueOfThisStockIs
  C)  currentStockVal
  D)  csv
  E)  current

7)  If you want to output the text "hi there", including the quote marks, which of the following could do that? 7) ______
  A)  System.out.println("\"hi there");
  B)  System.out.println("\"hi there\"");
  C)  System.out.println("hi there");
  D)  System.out.println(""hi there"");
  E)  none, it is not possible to output a quote mark because it is used to mark the beginning and ending of the String to be output.

8)  What value will z have if we execute the following assignment statement?
double z
= 5 / 10;
8) ______
  A)  z will equal 5.0
  B)  z will equal 0.5
  C)  z will equal 0.05
  D)  z will equal 0.0
  E)  none of the above, a run-time error arises because z is a double and 5 / 10 is an int

9)  A cast (ie saying (int)x/y is required in which of the following situations? 9) ______
  A)  using charAt to take an element of a String and store it in a char
  B)  storing an int in a double
  C)  storing a double in a double
  D)  storing a double in an int
  E)  all of the above require casts

10)  What will be the result of the following assignment statement? Assume b = 5 and c = 10.
int a
= b * (-c + 2) / 2;
10) ______
  A)  30
  B)  -30
  C)  -6
  D)  20
  E)  -20

11)  Assume that x, y and z are all ints equal to 50, 20 and 6 respectively. What is the result of x / y / z? 11) ______
  A)  A syntax error as this is syntactically invalid
  B)  16
  C)  A run-time error because this is a division by 0
  D)  12
  E)  0

12)  What is output with the statement System.out.println(""+x+y); if x and y are int values where x=10 and y=5? 12) ______
  A)  x+y
  B)  15
  C)  10 5
  D)  105
  E)  An error since neither x nor y is a String

13)  In the String major = "Computer Science", what is returned by major.charAt(1)? 13) ______
  A)  'm'
  B)  'C'
  C)  'o'
  D)  "C"
  E)  "Computer"

14)  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? 14) ______
  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
--;

Given the nested if-else structure below, answer the question(s) below.

if (a
> 0)
if (b
< 0)
x
= x + 5;
else
if (a
> 5)
x
= x + 4;
else
x
= x + 3;
else
x
= x + 2;
15)  If x is currently 0, a = 5 and b = 5, what will x become after the above statement is executed? 15) ______
  A)  0
  B)  2
  C)  3
  D)  4
  E)  5

16)  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';
16) ______
  A)  This code will work correctly only if grade >= 60
  B)  This code will not work correctly under any circumstances
  C)  This code will work correctly only if grade < 60
  D)  This code will work correctly only if grade < 70
  E)  This code will work correctly in all cases

17)  Assume that count is 0, total is 20 and max is 1. The following statement will do which of the following?
if (count !
= 0 && total / count > max) max = total / count;
17) ______
  A)  The condition short circuits and the assignment statement is executed without problem
  B)  The condition will not compile because it uses improper syntax
  C)  The condition does not short circuit causing a division by zero error
  D)  The condition short circuits so that there is no division by zero error when evaluating the condition, but the assignment statement causes a division by zero error
  E)  The condition short circuits and the assignment statement is not executed

18)  If x is an int where x = 1, what will x be after the following loop terminates?
while (x
< 100)
x *
= 2;
18) ______
  A)  2
  B)  100
  C)  128
  D)  64
  E)  none of the above, this is an infinite loop

19)  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;
19) ______
  A)  10
  B)  15
  C)  4
  D)  0
  E)  5

20)  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
++;
20) ______
  A)  20,000
  B)  10,000
  C)  100
  D)  200
  E)  1,000,000

21)  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));
21) ______
  A)  it prints s out backwards but does not print the 0th character
  B)  it prints s out backwards
  C)  it prints s out forwards
  D)  it yields a run-time error because there is no character at s.charAt(j-1) for j = 0
  E)  it prints s out backwards after skipping the last character