Wednesday, January 22, 2014

APCS Test 2

AP Computer Science            Chapter 2 Test

Date:10/3/2013

Multiple Choice Questions:

 

Use the following class definition to answer questions 1-4.

 

public class Questions1_4

{

     public static void main(String[ ] args)

     {

             System.out.print("Here");

             System.out.println("There  " + "Everywhere");

             System.out.println("But  not" + "in  Texas");

     }

}

 

1)    The program will print the word "Here" and then print

a)    "There  Everywhere" on the line after "Here"

b)    "There" on the line after "Here" and "Everywhere" on the line after "There"

c)    "There  Everywhere" on the same line as "Here"

d)    "ThereEverywhere" on the same line as "Here"

e)    "ThereEverywhere" on the line after "Here"

 

2)    The final println command will output

a)    "But  not  in  Texas"

b)    "But  notin  Texas"

c)    "But  not" on one line and "in  Texas" on the next line

d)    "But  not+in  Texas"

e)    "But  not  +  in  Texas"

 

3)    How many lines of output are provided by this program?

a)    1

b)    2

c)    3

d)    4

e)    5


 

 

4)    A reasonable comment for this program might be

a)    //  a program that demonstrates the differences between print, println and how + works

b)    // a program that outputs a message about Texas

c)    // a program that demonstrates nothing at all

d)    // a program that outputs the message “Here There Everywhere But not in Texas”

e)    // a program that has three output statements in it

 

5)    Consider the following statement:

System.out.println("1 big bad wolf\t8 the 3 little pigs\n4 dinner\r2night");

          This statement will output ___ lines of text

a)    1

b)    2

c)    3

d)    4

e)    5

 

6)    If you want to output the text "hi there", including the quote marks, which of the following could do that?

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.

 

7)    Of the following types, which one cannot store a numeric value?

a)    int

b)    double

c)    char

d)    all of these can store numeric values

e)    none of these can store numeric values

 

8)    What value will z have if we execute the following assignment statement?    

double z = 5 / 10;

a)    z will equal 0.0

b)    z will equal 0.5

c)    z will equal 5.0

d)    z will equal 0.05

e)    none of the above, a run-time error arises because z is a double and 5 / 10 is an int

 

9)    What value will z have if we execute the following assignment statement?

int z = 50 / 10.00;

a)    5

b)    5.0

c)    50

d)    10

e)    none of the above, a run-time error arises because z is an int and 50 / 10.00 is not

 

10)                    If x is an int and y is a double, all of the following are legal except which assignment statement?

1)    y = x;

2)    x = y;

3)    y = (double) x;

4)    x = (int) y;

5)    all of the above are legal

 

11)                    Given the following assignment statement, which of the following answers is true regarding the order that the operators will be applied based on operator precedence? 

a = (b + c) * d / e – f;

a)    *, /, +, -

b)    *, +, /, -

c)    +, *, /, -

d)    +, /, *, -

e)    +, -, *, /

 

12)                    What will be the result of the following assignment statement?  Assume b = 5 and c = 10.

int a = b * (-c + 2) / 2;

a)    30

b)    –30

c)    20

d)    –20

e)    –6

 

13)                    Assume that x, y and z are all ints equal to 50, 20 and 6 respectively.  What is the result of x / y / z?

a)    0

b)    12

c)    16

d)    A syntax error as this is syntactically invalid

e)    A run-time error because this is a division by 0

 

14)                    What is output with the statement System.out.println(x+y); if x and y are int values where x=10 and y=5?

a)    15

b)    105

c)    10 5

d)    x+y

e)    An error since neither x nor y is a String

 

15)                    What is output with the statement System.out.println(""+x+y); if x and y are int values where x=10 and y=5?

a)    15

b)    105

c)    10 5

d)    x+y

e)    An error since neither x nor y is a String


 

 

16)                    If you want to store into the String name the value "George  Bush", you would use which statement?

a)    String name = "George  Bush";

b)    String name = new String("George  Bush");

c)    String name = "George" + "  " + "Bush";

d)    String name = new String("George" + "   " + "Bush");

e)    Any of the above would work

 

17)                    Consider having three String variables a, b and c.  The statement c = a + b; can also be achieved by doing

a)    c = a.length( ) + b.length( );

b)    c = (int) a + (int) b;

c)    c = a.concat(b);

d)    c = b.concat(a);

e)    c = a.plus(b);

 

18)                    In the String major = "Computer Science", what is returned by major.charAt(1)?

a)    'C'

b)    'o'

c)    'm'

d)    "C"

e)    "Computer"

 

19)                    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( ));

 


 

 

20)                    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

 

21)                    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);

 


 

 

For questions 22 and 23, refer to the class defined below:

         

          import java.util.Scanner;

          public class Questions

          {

                public static void main(String[ ] args)

                {

                    int x, y, z;

                    double average;

                    Scanner scan = new Scanner (System.in);

                    System.out.println("Enter an integer value");

                    x = scan.nextInt( );

                    System.out.println("Enter another integer value");

                    y = scan.nextInt( );

                    System.out.println("Enter a third integer value");

                    z = scan.nextInt( );

                    average = (x + y + z) / 3;

                    System.out.println("The result of my calculation is " + average);

                }

          }

 

22)                    Questions computes

a)    The correct average of x, y and z as a double

b)    The correct average of x, y and z as an int

c)    The average of x, y and z as a double, but the result may not be accurate

d)    the sum of x, y and z

e)    the remainder of the sum of x, y and z divided by 3

 

23)                    What is output if x = 0, y = 1 and z = 1?

a)    0

b)    0.0

c)    0.6666666666666666

d)    0.6666666666666667

e)    0.67

 

 

True/False Questions:

 

1) If x is a string, then x = new String("OH"); and x = "OH"; will accomplish the same thing.

 

2) If x is the String "Hi There", then x.toUpperCase().toLowerCase(); will return the original version of x.

 

3) If String name = "George W. Bush"; then the instruction name.length(); will return 14.

 

4) If String a = "ABCD" and String b = "abcd" then a.equals(b); returns false but a.equalsIgnoreCase(b); returns true.

 

5) Unlike the String class where you must pass a message to an object (instance) of the class, as in x.length( ), in order to use the Math class, you pass messages directly to the class name, as in Math.abs( ).

 

6) A double is wider than an int.

 

7) A variable of type boolean will store either a 0 or a 1.

 

8) In Java, ‘a’ and ‘A’ are considered to be different values.

 

9) With an enumerated type, the programmer defines the possible values of the type.

 

10) An enumerated type defined by “enum Grade {A, A-, B+, B, B-, C, D, F}” is invalid.

 

 

11) The Random class has a method nextDouble( ) which returns a random double value between 0 and 1.

 

 

12) If a, b and c are int variables with a = 5, b = 7, c = 12, then the statement int z = (a * b – c) / a; will result in z equal to 4.

 

13) Java is a strongly typed language which means every variable has a single type associated with it throughout its existence in the program, and the variable can only store values of that type.

 

14) Suppose that String name = "Frank  Zappa".  Then the instruction name.toUpperCase( ).replace('A', 'I');  will return “FrInk  ZIppI”.

 

15) The mod operator, %, can only be performed on int values and its result is a double.

 

16) The word println is a reserved word.

 

17) Wrapper classes in Java allow you to create objects representing primitive data.

 

18) If you want to use classes from a package other than java.lang, you must import them.

 

19) The operators * and + have the same precedence.

 

20) Since double to int is a narrowing conversion, there is no way to convert a double to an int.

 

 

Free-format Question:

 

Write a set of instructions to prompt the user for an int value and input it using the Scanner class into the variable x and prompt the user for a double value and input it into the variable y.

 

 

 

 


 

1 comment:

  1. Are these tests your original work or did you get them from someone else??

    ReplyDelete