Programming Fundamentals 1: Exam 3 (Ch 7, 9, 10)
The ________ and ________ operators can be used to increment or decrement a pointer variable. -All of these -None of these -++, -- -addition, subtraction -modulus, division
++, --
Select all that apply. Whitespace encompasses which of the following? -a space -a tab -None of these -a newline
-a space -a tab -a newline
Select all that apply. Of the following, which statements have the same meaning? -int ptr = nullptr; -int *ptr = nullptr; -int* ptr = nullptr; -*int ptr = nullptr; -int ptr* = nullptr;
-int *ptr = nullptr; -int* ptr = nullptr;
Select all that apply. Select as many of the following options that make this sentence TRUE: The contents of pointer variables may be changed with mathematical statements that perform -modulus -division -multiplication -subtraction -addition
-subtraction -addition
What will the following code display? int numbers[] = {99, 87, 66, 55, 101}; cout << numbers[3] << endl; -87 -101 -66 -55
55
What does the following code display? int values[] = {2, 6, 10, 14}; cout << values[1]++;
6
What will the following code display? int numbers[] = {99, 87, 66, 55, 101}; for (int i = 1; i < 4; i++) cout << numbers[i] << " "; -99 87 66 55 101 -87 66 55 101 -87 66 55 -Nothing. This code has an error.
87 66 55
What does the following code do? string town = "Charleston"; x = town.length(); -Assigns the value 10 to the variable x -Copies the string "Charleston" to the variable x -None of these
Assigns the value 10 to the variable x
A test using the isupper function will return false if the argument is an uppercase character. -True/False
False
Although C++ provides ample library functions to handle numeric values, we must write all of our own functions to manipulate character values. -True/False
False
Although two-dimensional arrays are a novel idea, there is no known way to pass one to a function. -True/False
False
An array initialization must be all on one line. -True/False
False
Assume array1 and array2 are the names of two arrays. To assign the contents of array2 to array1, you would use the following statement: array1 = array2; -True/False
False
C++ limits the number of array dimensions to two. -True/False
False
In C++11 the range-based for loop is best used in situations where you need the element subscript for some purpose. -True/False
False
The C++ compiler performs strict array bounds checking when it encounters an array of characters. -True/False
False
The ampersand (&) is used to dereference a pointer variable in C++. -True/False
False
The following statement is a valid C++ definition: double money[25.00]; -True/False
False
The following string that uses a semicolon as a delimiter contains four tokens: "apple;cherry;lemon cream" -True/False
False
The ftoa function converts a floating-point value to an ASCII value. -True/False
False
The strlen function returns a C-string's length and adds one for \0. -True/False
False
The weak_ptr can share ownership of a piece of dynamically allocated memory. -True/False
False
With pointer variables you can access but not modify data in other variables. -True/False
False
What is wrong with the following code? void doubleVal(int val) { *val *= 2; }
The * operator is used on the parameter, but it is not a pointer
What is wrong with the following code? int x, *ptr = null ptr; *ptr = &x;
The assignment statement should read ptr = &x;
What is wrong with the following code? int *getNum() { int wholeNum; cout << "Enter a number: "; cin >> wholeNum; return &wholeNum; }
The function returns the address of a variable that no longer exists
What is wrong with the following code? void doSomething(int *const ptr) { int localArray[] = {1, 2, 3}; ptr = localArray; }
The function tries to change the contents of ptr, which is a constant pointer. During the functions execution, the value in ptr cannot be changed
What is wrong with the following code? int numbers[] = {10, 20, 30, 40, 50}; cout << "The third element in the array is "; cout << *numbers + 3 << endl;
The last line should read cout << *(numbers + 3) << endl;
What is wrong with the following code? int *pint = nullptr; pint = new int; if (pint == nullptr) *pint = 100; else cout << "Memory allocation error\n";
The program segment is storing a value at the address 0
A vector object automatically expands in size to accommodate the items stored in it. -True/False
True
Access of an individual element of an array through an index is done by pointer arithmetic: address + 1 means to move one array element forward from the starting address of the array. -True/False
True
Although variables can be passed by value or reference, arrays are always passed by pointer, which is similar to pass by reference, since it is not efficient to make a "copy" of all elements of the array. -True/False
True
An array name is a pointer constant because the address stored in it cannot be changed at runtime. -True/False
True
An individual array element can be processed like any other type of C++ variable. -True/False
True
Any nonletter argument passed to toupper or tolower is returned unchanged. -True/False
True
Assigning nullptr to a pointer variable makes the variable point to the address 0. -True/False
True
The word consumed means that a character is not read by a function. -True/False
True
To read from a file or from the keyboard, we prime the read, which means the first value is read in before the test condition is checked to see if the loop should be executed. -True/False
True
To use any of the smart pointers in C++11 you must use the following directive in the header file: #include <memory> -True/False
True
To use the C++ case-conversion functions toupper and tolower, you must #include the <cctype> header file. -True/False
True
To use the C++ character-testing functions such as isalpha, isdigit, islower, isprint, and isspace, you must #include the <cctype> header file. -True/False
True
When a reference variable is used, the memory address of the parameter is sent to the function instead of the value at that address. -True/False
True
When a string constant is passed to the cout object, it is the memory address that is actually accessed. -True/False
True
When arrays are passed to functions, they are passed by pointer, and an array name is a pointer to the beginning of the array. -True/False
True
A pointer variable may be initialized with -any nonzero integer value -a valid address in the computer's memory -an address less than zero -any nonzero number -None of these
a valid address in the computer's memory
The following statement ________.int *ptr = new int; -assigns an address to the variable ptr -assigns an integer less than 32767 to the variable ptr -None of these -results in a compiler error -creates a new pointer named int
assigns an address to the variable ptr
The function that converts a C-string to an integer and returns the integer value is -strtoint -atoint -strint -atoi -None of these
atoi
The function that accepts a C-string as an argument and converts the string to a long integer is -strlong -strtolong -None of these -atol -stringlong
atol
Subscript numbering in C++ -can be set at runtime -begins with zero -None of these -varies from program to program -can begin with a value defined by the programmer
begins with zero
Which of the following statements deletes memory that has been dynamically allocated for an array? -delete [] array; -None of these -new array = delete; -int delete[ ]; -int array = delete memory;
delete [] array;
Arrays must be ________ at the time they are ________. -re-scoped, deleted -sized, executed -initialized, declared -compiled, typed -None of these
initialized, declared
Array initialization and processing is usually done inside a _________
loop
What is the output of the following statement? cout << tolower(toupper('Z')) << endl; -a lowercase z followed by an uppercase Z -None of these -lowercase z -uppercase Z -a compiler error
lowercase z
The name of an array stores the ________ of the first array element. -memory address -None of these -data type -value -element number
memory address
In the following statement, what does int mean? int *ptr = nullptr; -The variable named *ptr will store an asterisk and an integer value -None of these -The variable named *ptr will store the value in nullptr. -The variable named *ptr will store an integer value. -ptr is a pointer variable and will store the address of an integer variable.
ptr is a pointer variable and will store the address of an integer variable
This vector function returns the number of elements in a vector. -length -elements -num_elements -size
size
To access an array element, use the array name and the element's ________. -data type -subscript -value -name -None of these
subscript
This vector function removes an item from a vector. -pop_back -delete_item -erase -remove_item
pop_back
What does the following code display? int values[] = {2, 6, 10, 14}; x = 2; cout << values[++x];
14
Select all that apply. Which of the following would be appropriate in a program that allows the user to enter either an uppercase or lowercase character in response to a prompt? -ignoreupper -ignorelower -ignorecase -tolower -touppe
-tolower -toupper
The null terminator stands for ASCII code -0 -57 -100 -1000 -None of these
0
What will the following code display? int numbers[4] = {99, 87}; cout << numbers[3] << endl; -This code will not compile -87 -0 -99 -garbage
0
What is the value stored in num after the following statement executes? num = atoi("1000"); -1000 -None of these -999 -"1000" -"1 thousand"
1000
What will the following code output? int *numbers = new int[5]; for (int i = 0; i <= 4; i++) *(numbers + i) = i; cout << numbers[2] << endl; -2 -3 -five memory addresses -1 -0
2
What will the following code output? int number = 22; int *var = &number; cout << *var << endl; -the address of number -an asterisk followed by the address of number -22 -an asterisk followed by 22
22
In cin.getline(name, 25), the 25 indicates that the user can input at most ____ characters into name. -24 -25 -26 -None of these
24
What does the following code display? int values[] = {2, 6, 10, 14}; cout << ++values[0];
3
What will the following C++11 code display? vector<int> numbers {3, 5}; for (int val : numbers) cout << val << endl; -5 5 5 -3 3 3 3 3 -Nothing. This code has an error. -3 5
3 5
What is the last legal subscript that can be used with the following array? int values[5]; -6 -1 -4 -5 -0
4
Given the string shown below, if the delimiter is a space, how many tokens are in the string? "Tony's email address is [email protected]" -6 -9 -7 -4 -5
5
What header file must you #include in order to define vector objects?
<vector>
A two-dimensional array of characters can contain -uninitialized elements -None of these -strings of the same length -strings of different lengths -All of these
All of these
Which of the following statements is NOT valid C++ code? -float num1 = &ptr2; -int ptr = &num1; -int ptr = int *num1; -All of these are valid -All of these are invalid
All of these are invalid
What does the following code do? const int SIZE = 5; double x[SIZE]; for (int i = 2; i <= SIZE; i++) { x[i] = 0.0; } -Each element in the array is initialized to 0.0. -Each element in the array except the first is initialized to 0.0. -Each element in the array except the first and last is initialized to 0.0. -An error will occur when the code runs.
An error will occur when the code runs.
What is wrong with following code? float level; int fptr = &level;
An int pointer is being used to reference a float value
What does the following statement do? double *num2; -Declares a double variable named num2 -None of these -Declares a pointer variable named num2 -Declares and initializes a pointer variable named num2 -Initializes a pointer variable named num2
Declares a pointer variable named num2
What does the following statement do? vector<int> v(10, 2); -It creates a vector object with a starting size of 2 and initializes the first element with the value 10. -You Answered It creates a vector object with a starting size of 10 and initializes the first element with the value 2. -It creates a vector object and initializes the first two elements with the values 10 and 2. -It creates a vector object with a starting size of 10 and initializes all the elements with the value 2.
It creates a vector object with a starting size of 10 and initializes all the elements with the value 2.
What does the following statement do? vector<int> v(10); -It creates a vector object and initializes all its elements to the value 10. -It creates a vector object with a starting size of 10. -It creates a vector object and initializes the first element with the value 10. -It creates a vector object that can only store values of 10 or less.
It creates a vector object with a starting size of 10.
What is wrong with the following code? int values[20], *iptr = nullptr; iptr = values; iptr *= 2;
Multiplication cannot be performed on pointers
The function that reverses the order of a C-string is -reverseit -reversstr -None of these -strrev -back
None of these
When you pass a pointer as an argument to a function, you must not dereference the pointer in the function's body -dereference the pointer value in the function prototype -declare the pointer value again in the function call -use the #include statement -None of these
None of these
What is wrong with the following code? int ptr* = nullptr;
The variable should be declared as int *ptr;
Which of the following is TRUE about this statement? sum += *array++; -This statement will cause a compiler error. -This statement is illegal in C++. -This statement assigns the dereferenced pointer's value, then increments the pointer's address. -None of these -This statement increments the dereferenced pointer's value by one, then assign that value.
This statement assigns the dereferenced pointer's value, then increments the pointer's address.
A pointer can be used as a function argument, giving the function access to the original argument. -True/False
True
Assuming myValues is an array of int values and index is an int variable, both of the following statements do the same thing. 1. cout << myValues[index] << endl; 2. cout << *(myValues + index) << endl; -True/False
True
Both the getline and get functions do not skip leading whitespace characters. -True/False
True
By being able to pass arrays as arguments, you can write your own functions for processing C-strings. -True/False
True
C++ does not perform array bounds checking, making it possible for you to assign a pointer the address of an element out of the boundaries of an array. -True/False
True
C++11 introduces a function named to_string that converts a numeric value to a string object. -True/False
True
Dereference means that the location of a reference variable is accessed to retrieve or store a value. When * is placed in front of an already defined pointer variable, the data stored a the location the pointer points to will be used and not the address. -True/False
True
Each individual element of an array can be accessed by the array name and the element subscript. -True/False
True
If an array is partially initialized, the uninitialized elements will be set to zero. -True/False
True
If an uppercase character is passed as an argument to the toupper function, the result will be an uppercase character. -True/False
True
In C++11 you can use smart pointers to dynamically allocate memory and not worry about deleting the memory when you are finished using it. -True/False
True
In C++11 you cannot use a range-based for loop to modify the contents of an array unless you declare the range variable as a reference variable. -True/False
True
In C++11, the nullptr keyword was introduced to represent the address 0. -True/False
True
In cin.get(strName, numChar + 1), strName is a string variable and the integer expression numChar + 1 gives the number of characters that may be read into strName. -True/False
True
Inserting the word const before the data type on the formal parameter list prevents a function from altering an array even though it is passed by pointer. -True/False
True
It is legal to subtract a pointer variable from another pointer variable. -True/False
True
Pointers allow us to use dynamic variables, which can be created and destroyed as needed within a program. -True/False
True
Priming the read for a while loop means having an input just before the loop condition (just before the while) and having another one as the last statement in the loop. -True/False
True
The * symbol is basically used on 2 occasions: 1) Used to define pointer variables: int *ptr = nullptr; 2) Used whenever we are interested in the contents of the memory location pointed to by a pointer variable, rather than the address itself. When used this way, * is called the indirection operator or dereferencing operator: cout << *ptr; // The value stored in the address pointed to will be // printed -True/False
True
The C++ 11 function to_string, that converts a numeric value to a string object, requires the <string> header file to be included. -True/False
True
The C++ 11 functions stoi, stol, stoul, stoll, stoull, stof, stod, and stold convert string objects to numeric values and require the <string> header file. -True/False
True
The C++ library function strlen() accepts a pointer to a C-string as its argument and returns the length of the string, which is the number of characters up to, but not including, the null terminator. -True/False
True
The C++ library functions atoi, atol, and atof convert C-string representations of numbers into numberic values and require the <cstdlib> header file. -True/False
True
The C++ library functions strlen, strcat, strcpy, strncat, strncpy, strcmp, and strstr accept C-strings as arguments and require the <cstring> header file. -True/False
True
The C++ library provides functions for converting a string representation of a number to a numeric data type and vice-versa. -True/False
True
The amount of memory used by an array depends on the array's data type and the number of elements in the array. -True/False
True
The call cin.ignore(80, '\n'); says to skip over the next 80 input characters but stop if a newline character is read. -True/False
True
The data type returned by isalpha is a bool. Therefore, the value returned by isalpha('g') is a non-zero value (true). -True/False
True
The following 2 statements are equivalent: 1) cout << grades[2]; 2) cout << *(grades + 2); -True/False
True
The following are 2 ways to define a string object named name, initialized with "William Smith": string name("William Smith"); string name = "William Smith"; -True/False
True
The following are the values returned by the strcmp if string1 is the first argument passed and string2 is the second argument passed: 1) The result is zero if the 2 strings are equal on a character-by-character basis 2) The result is negative if string1 comes before string2 in alphabetical order 3) The result is positive if string1 comes after string2 in alphabetical order -True/False
True
The following defines a string object named firstName, initialized with a substring of the string fullName, and the substring is 7 characters long, beginning at position 0: string firstName(fullName, 0, 7); -True/False
True
The following defines a string object named lineFull initialized with 10 'z' characters: string lineFull('z', 10); -True/False
True
The following defines a string object named person1, which is a copy of person2. person2 may be either a string object or a character array: string person1(person2); -True/False
True
The following defines a string object named str1, which is initialized with the first 5 characters in the character array str2: string str1(str2, 5); -True/False
True
The function strcmp takes 2 C-strings as arguments and returns an integer that indicates how the 2 strings compare to each other. -True/False
True
The get function reads in the next character in the input stream, including whitespace. The syntax is cin.get(ch); where ch is a character variable. -True/False
True
The get function, like the getline function, can also be used to read strings, in which case we would need 2 parameters: cin.get(strName, numChar + 1); -True/False
True
The itoa function is similar to atoi but it works in reverse. -True/False
True
The lifetime of a variable is the time during which a variable exists. -True/False
True
The name of an array, without any brackets, acts as a pointer to the starting address of the array. -True/False
True
The operator + returns a string that is the concatenation of the 2 string operands. -True/False
True
The operator += appends a copy of the string on the right to the string object on the left. -True/False
True
The size function member function, like the length member function, can return the length of a string. -True/False
True
The string class is an abstract data type which means it is not a built-in, primitive data type like int or char. You must #include the <string> header file when working with the string class. -True/False
True
The string class's front and back member functions were introduced in C++11. -True/False
True
The typedef statement can be used to declare an array type and is often used for multidimensional array declarations so that when passing arrays as parameters, brackets do not have to be used. -True/False
True
The use of brackets in function prototypes and headings can be avoided by declaring a programmer defined data type. This is done in the global section with a typedef statement: typedef int GradeType[50]; -True/False
True
When reading a line of input into a string object, the getline() function's first argument is the name of the stream object from which you wish to read input, and the second argument is the name of a string object such as getline(cin, name); -True/False
True
When string constants such as "Hello World" are stored in the computer's memory, the null character is automatically appended to the end of the string. -True/False
True
When using the strcat function you must be careful not to overwrite the bounds of an array. True/False
True
When you pass an array as an argument to a function, the function can modify the contents of the array. -True/False
True
You may use the <, >, <=, >=, ==, and != relational operators to compare string objects. -True/False
True
cin >> strName; skips leading whitespace but stops at the first trailing whitespace (which is not consumed). -True/False
True
length is a string class member function that returns the length of the string stored in the object as an unsigned integer. -True/False
True
typedef int GradeType[50]; declares a data type, called GradeType, that is an array containing 50 integer memory locations. Since GradeType is a data type, it can be used in defining variables. The following defines grades as an integer array with 50 elements: GradeType grades; -True/False
True
The escape sequence that represents the null terminator is -None of these -\t -\n -nullptr -\0
\0
To assign the contents of one array to another, you must use -the assignment operator with the array names -the equality operator with the array names -a loop to assign the elements of one array to the other array -Any of these -None of these
a loop to assign the elements of one array to the other array
A pointer variable is designed to store _____________ -any legal C++ value -a memory address -an integer -None of these -only floating-point values
a memory address
Every byte in the computer's memory is assigned a unique -name -pointer -dynamic allocation -None of these -address
address
When writing functions that accept multi-dimensional arrays as arguments, ________ must be explicitly stated in the parameter list. -None of these -all dimensions -the size declarator of the first dimension -all element values -all but the first dimension
all but the first dimension
The ________, also known as the address operator, returns the memory address of a variable. -None of these -percent sign ( % ) -ampersand ( & ) -exclamation point ( ! ) -asterisk (* )
ampersand ( & )
Which of the following can be used as pointers? -array names -numeric constants -keywords -None of these
array names
Unlike regular variables, ________ can hold multiple values. -constants -named constants -arrays -floats -None of these
arrays
The expression being tested by the statement shown below will evaluate to true if var1 is ________. if (!isdigit(var1)) -9 -both an alphabetic character and a symbol such as $ or & -an alphabetic character -None of these -a symbol such as $ or &
both an alphabetic character and a symbol such as $ or &
Which of the following statements appropriately defines a C-string that stores names of up to 25 characters? -string name[24]; -None of these -char name[25]; -string name[25]; -char name[26];
char name[26];
Which of the following defines an array of C-strings that will hold 49 characters and the null terminator? -char[50] str; -character str[50]; -char [49]; -char str[50]; -None of these
char str[50];
An array's size declarator must be a ________ with a value greater than ________. -number, one -number, zero -constant integer expression, zero -variable, -1 -None of these
constant integer expression, zero
Which of the following statements displays the address of the variable numb? -cout << *numb; -cout << numb; -cout << &numb; -cin >> &numb; -None of these
cout << &numb;
Use the delete operator only on pointers that were -created with the new operator -dereferenced inappropriately -never used -not correctly initialized -None of these
created with the new operator
The C-string company[12] can hold -twelve characters -eleven characters and the null terminator -None of these -twelve characters and the null terminator -thirteen characters
eleven characters and the null terminator
This vector function returns true if the vector has no elements. -has_no_elements -null_size -empty -is_empty
empty
An array with no elements is -legal in C++ -illegal in C++ -automatically furnished with one element whose value is set to zero -automatically furnished with one element, the null terminator -None of these
illegal in C++
This following statement shows an example of ________. int grades][ ] = {100, 90, 99, 80}; -implicit array sizing -an illegal array declaration -default arguments -illegal array initialization -None of these
implicit array sizing
Upon exiting a loop that reads values into an array, the variable used as a(n) __________ to the array will contain the size of that array.
index
With pointer variables you can ________ manipulate data stored in other variables. -indirectly -All of these -None of these -never -seldom
indirectly
A(n) ________ can be used to specify the starting values of an array. -initialization list -array name -subscript -element -None of these
initialization list
Which of the following is a valid C++ array definition? -int array[0]; -float $payments[10.23]; -int numbers[5.6]; -int scores[25]; -None of these
int scores[25];
What is wrong with the following code? int *iptr = &ivalue; int ivalue;
iptr cannot be initialized with the address of ivalue because ivalue is defined after iptr
To determine whether a character entered is a letter of the alphabet, use the ________ function. -isdigit -fromkeyboard -isalpha -alpaok -None of these
isalpha
To test whether a character is a numeric digit character, use the ________ function. -isdigit -None of these -notAlpha -isnumber -isnumeric
isdigit
To test whether a character is a printable character, use the ________ function. -isprintok -isprintable -None of these -isoktoprint -isprint
isprint
Which of the following will return true if the argument is a printable character other than a digit, letter, or space? -ispunct -isprint -isnotdls -None of these -ischar
ispunct
To determine whether a character entered is whitespace, use the ________ function. -isblank -iswhite -isspace -None of these -iswhitespace
isspace
It is ________ to pass an argument to a function that contains an individual array element, such as scores[3]. -illegal in C++11 -legal in C++ -not recommended by the ANSI committee -not good programming practice -None of these
legal in C++
Not all arithmetic operations can be performed on pointers. For example, you cannot ________ or ________ pointers. -increment, decrement -add, subtract -multiply, divide -+=, -= -None of these
multiply, divide
To input, process, or output every item in an n-dimensional array, you need ____ nested loops.
n
To pass an array as an argument to a function, pass the ________ of the array. -name -value of the first element -contents -size, expressed as an integer -None of these
name
In C++ a C-string is a sequence of characters stored in consecutive memory, terminated by a -space -period -semicolon -None of these -null character
null character
The ________ is automatically appended to a character array when it is initialized with a string constant. -None of these -number of elements -null terminator -value of the first element -array name
null terminator
In C++11, the ________ keyword was introduced to represent address 0. -weak_ptr -nullptr -NULL -None of these -shared_ptr
nullptr
A two-dimensional array can have elements of ________ data type(s). -two -four -any number of -one -None of these
one
After the code shown executes, which of the following statements is TRUE? int numbers[] = {0, 1, 2, 3, 4}; int *ptr = numbers;ptr++; -ptr will hold the address of numbers[1] -this code will not compile -ptr will hold the address of the second byte within the element numbers[0] -ptr will hold the address of numbers[0]
ptr will hold the address of numbers[1]
A two-dimensional array can be viewed as -rows and columns -arguments and parameters -increments and decrements -All of these -None of these
rows and columns
Given the following declaration, where is the value 77 stored in the scores array? int scores[] = {83, 62, 77, 97, 86} -scores[0] -scores[1] -scores[2] -scores[3] -scores[5]
scores[2]
To help prevent memory leaks from occurring in C++11, a ________ automatically deletes a chunk of dynamically allocated memory when the memory is no longer being used. -None of these -null pointer -dereferenced pointer -smart pointer
smart pointer
A function may return a pointer but the programmer must ensure that the pointer -still points to a valid object after the function ends -has not previously been returned by another function -was received as a parameter by the function -None of these -has not been assigned an address
still points to a valid object after the function ends
The following statement ________ cin >> *num3; -is illegal in C++ -None of these -stores the keyboard input in the variable num3 -stores the keyboard input into the variable pointed to by num3 -stores the keyboard input into the pointer num3
stores the keyboard input into the variable pointed to by num3
The ________ function concatenates the contents of one C-string with another C-string. -stradd -strcopy -strcat -strappend -None of these
strcat
The ________ function concatenates the contents of one C-string with another C-string. -strcat -None of these -stradd -strappend -strcopy
strcat
An array of string objects that will hold five names would be declared with which of the following statements? -string names[5]; -string names(5); -string names 5; -String[5] = names;
string names[5];
The function that accepts a pointer to a C-string as an argument and returns the length of the C-string, not including the null terminator is -strlen -None of these -countstring -numchar -strlength
strlen
The function that accepts pointers to two C-strings and an integer argument that indicates how many characters to copy from the second string to the first is -strintcpy -strcpy -copystring -strncpy -None of these
strncpy
By using the same ________ you can build relationships between data stored in two or more arrays. -arguments -array name -subscript -None of these -data types
subscript
When you work with a dereferenced pointer, you are actually working with -a copy of the value pointed to by the pointer variable -None of these -the actual value of the variable whose address is stored in the pointer variable -a variable whose memory has been allocated
the actual value of the variable whose address is stored in the pointer variable
What will the following code output? int number = 22; int *var = &number; cout << var << endl; -an asterisk followed by 22 -an asterisk followed by the address of number -the address of number -22
the address of number
If a variable uses more than one byte of memory, for pointer purposes its address is -the address of the first byte of storage -the address of the last byte of storage -the address of the second byte of storage -the average of all the addresses used to store that variable -None of these
the address of the first byte of storage
When the less than operator (<) is used between two pointer values, the expression is testing whether -the address of the first variable comes before the address of the second variable in the computer's memory -the value pointed to by the first is less than the value pointed to by the second -the value pointed to by the first is greater than the value pointed to by the second -the first variable was declared before the second variable -None of these
the address of the first variable comes before the address of the second variable in the computer's memory
In C++11, assuming mychar is a char variable and mystring is a string, what is the value of mychar after the following statement executes? mychar = mystring.front(); -the first character of mystring -this will cause a compiler error -nothing, the function is missing an argument -the ASCII value of the first character of mystring
the first character of mystring
If you are using an older computer that does NOT support the C++11 standard, you should initialize pointers with -the null terminator '\0' -None of these -the integer 0 or the value NULL -Any of these -a nonzero value
the integer 0 or the value NULL
What will the following statement output? cout << &num1; -the number 1 -the value stored in the variable named num1 -None of these -the memory address of the variable named num1 -the string &num1
the memory address of the variable named num1
The range-based for loop in C++11 is designed to work with a built-in variable known as -the counter -the i variable -an iterator -the range variable -None of these
the range variable
Which of the following defines a unique_ptr named uniq that points to a dynamically allocated int? -unique_ptr int( new uniq ); -None of these -unique_ptr uniq( new int ); -unique_ptr float( new int ); -unique_ptr int( new int );
unique_ptr uniq( new int );
An element of a two-dimensional array is referred to by -the row subscript of the element followed by the column subscript of the element -None of these -the array name followed by the column number of the element -a comma followed by a semicolon -the row subscript of the element followed by the array name
the row subscript of the element followed by the column subscript of the element
Assuming ptr is a pointer variable, what will the following statement output? cout << *ptr; -None of these -the address of the variable whose address is stored in ptr -the string "*ptr" -the address of the variable stored in ptr -the value stored in the variable whose address is contained in ptr
the value stored in the variable whose address is contained in ptr
The ________ function will change a character argument from uppercase to lowercase. -atoi -islower -toupper -tolower -None of these
tolower
The arguments of the strcpy function are -None of these -two addresses -one array and one pointer -three pointers -two C-strings
two addresses
Which of the following defines a unique_ptr named uniq that points to a dynamically allocated int? -unique_ptr uniq( new int ); -unique_ptr int( new uniq ); -None of these -unique_ptr uniq( new int ); -unique_ptr int( new int );
unique_ptr uniq( new int );
What is the result after the following statement executes? char var1 = tolower('A'); -var1 stores the character value 'A' -the character A is output to the monitor -var1 stores the ASCII value for lowercase 'a' -None of these -the character a is output to the monitor
var1 stores the ASCII value for lowercase 'a'
Which statement correctly uses C++11 to initialize a vector of ints named n with the values 10 and 20? -vector n<int>(10, 20); -vector<int> n = {10, 20}; -vector<int> n {10, 20}; -int vector n ({10}, {20});
vector<int> n {10, 20};
Dynamic memory allocation occurs -when a new variable is created by the compiler -when a pointer is assigned an incorrect address -when a pointer fails to dereference the right variable -None of these -when a new variable is created at runtime
when a new variable is created at runtime
If you leave out the size declarator in an array definition -you must furnish an initialization list -you are not required to initialize array elements -all array elements default to zero values -your array will contain no elements -None of these
you must furnish an initialization list