BTE320 Chapter 6
If the formal parameter list of a function is empty, the parentheses after the function name are not needed. a. True b. False
False
The execution of a return statement in a user-defined function terminates the program. a. True b. False
False
The following return statement returns the value 10. return 10, 16; a. True b. False
False
The function main is always compiled first, regardless of where in the program the function main is placed. a. True b. False
False
The statement: return 2 * 3 + 1, 1 + 5; returns the value ____. a. 2 b. 3 c. 6 d. 7
c. 6
What value is returned by the following return statement? int x = 5; return x + 1; a. 0 b. 5 c. 6 d. 7
c. 6
Given the following function: int next(int x) { return (x + 1); } what is the output of the following statement? cout << next(next(5)) << endl; a. 5 b. 6 c. 7 d. 8
c. 7
The output of the statement: cout << pow(2.0, pow(3.0, 1.0)) << endl; is ____. a. 6.0 b. 7.0 c. 8.0 d. 9.0
c. 8.0
A function prototype is ____. a. a definition, but not a declaration b. a declaration and a definition c. a declaration, but not a definition d. a comment line
c. a declaration, but not a definition
A variable listed in a header is known as a(n) ____ parameter. a. actual b. local c. formal d. function
c. formal
Given the following function prototype: int test(float, char);, which of the following statements is valid? a. cout << test(12, &); b. cout << test("12.0", '&'); c. int u = test(5.0, '*'); d. cout << test('12', '&');
c. int u = test(5.0, '*');
Functions that do not have a return type are called ____ functions. a. zero b. null c. void d. empty
c. void
The output of the statement: cout << pow(3.0, 2.0) + 5 << endl; is ____. a. 11.0 b. 12.0 c. 13.0 d. 14.0
d. 14.0
The statement: return 37, y, 2 * 3; returns the value ____. a. 2 b. 3 c. y d. 6
d. 6
Assume the following. static_cast<int>('a') = 97 static_cast<int>('A') = 65 The output of the statement: cout << static_cast<int>(tolower('B')) << endl; is ____. a. 65 b. 67 c. 96 d. 98
d. 98
Given the function prototype: float test(int, int, int); which of the following statements is legal? a. cout << test(7, test(14, 23)); b. cout << test(test(7, 14), 23); c. cout << test(14, 23); d. cout << test(7, 14, 23);
d. cout << test(7, 14, 23);
The heading of the function is also called the ____. a. title b. function signature c. function head d. function header
d. function header
Which of the following function prototypes is valid? a. int funcTest(int x, int y, float z){} b. funcTest(int x, int y, float){}; c. int funcTest(int, int y, float z) d. int funcTest(int, int, float);
d. int funcTest(int, int, float);
Stream variables (for example, ifstream and ofstream) should be passed by ____________________ to a function.
reference
When you attach & after the dataType in the formal parameter list of a function, the variable following that dataType becomes a(n) ____________________ parameter.
reference
____________________ parameters are useful in three situations: • When the value of the actual parameter needs to be changed • When you want to return more than one value from a function • When passing the address would save memory space and time relative to copying a large amount of data
reference
The ____________________ of a function consists of the function name and its formal parameter list.
signature
A function ____________________ is a function that is not fully coded.
stub
If a function needs to return more than one value, as a rule of good programming style, you should change it to a(n) ____________________ function and use the appropriate reference parameters to return the values.
void
Assume that all variables are properly declared. The following statement in a value-returning function is legal. if (x % 2 == 0) return x; else return x + 1; a. True b. False
True
In C++, a function prototype is the function heading without the body of the function. a. True b. False
True
Once you write and properly debug a function, you can use it in the program (or different programs) again and again without having to rewrite the same code repeatedly. a. True b. False
True
The data type of a variable in a return statement must match the function type. a. True b. False
True
The following function heading in a C++ program is valid: int funcExp(int u, char v, float g) a. True b. False
True
Using functions greatly enhances a program's readability because it reduces the complexity of the function main. a. True b. False
True
A variable or expression listed in a call to a function is called the ____. a. formal parameter b. actual parameter c. data type d. type of the function
b. actual parameter
Given the following function prototype: int myFunc(int, int);, which of the following statements is valid? Assume that all variables are properly declared. a. cin >> myFunc(y); b. cout << myFunc(myFunc(7, 8), 15); c. cin >> myFunc('2', '3'); d. cout << myFunc(myFunc(7), 15);
b. cout << myFunc(myFunc(7, 8), 15);
Given the following function prototype: double tryMe(double, double);, which of the following statements is valid? Assume that all variables are properly declared. a. cin >> tryMe(x); b. cout << tryMe(2.0, 3.0); c. cout << tryMe(tryMe(double, double), double); d. cout << tryMe(tryMe(float, float), float);
b. cout << tryMe(2.0, 3.0);
The output of the statement: cout << tolower('$') << endl; is ____. a. '$' b. '0' c. '1' d. An error, because you cannot use tolower with '$'.
a. '$'
Given the following function: int strange(int x, int y) { if (x > y) return x + y; else return x - y; } what is the output of the following statement? cout << strange(4, 5) << endl; a. -1 b. 1 c. 9 d. 20
a. -1
To use the predefined function tolower, the program must include the header file ____. a. <cctype> b. <iostream> c. <cmath> d. <cstdlib>
a. <cctype>
The standard header file for the abs(x)function is ____. a. <cmath> b. <ioinput> c. <cctype> d. <cstdlib>
a. <cmath>
Given the function prototype: double testAlpha(int u, char v, double t); which of the following statements is legal? a. cout << testAlpha(5, 'A', 2); b. cout << testAlpha( int 5, char 'A', int 2); c. cout << testAlpha('5.0', 'A', '2.0'); d. cout << testAlpha(5.0, "65", 2.0);
a. cout << testAlpha(5, 'A', 2);
Which of the following function prototypes is valid? a. int funcExp(int x, float v); b. funcExp(int x, float v){}; c. funcExp(void); d. int funcExp(x);
a. int funcExp(int x, float v);
The statement: return 8, 10; returns the value ____. a. 8 b. 10 c. 18 d. 80
b. 10
Which statement below about prototypes and headers is true? a. Parameter names must be listed in the prototype, but not necessarily in the header. b. Prototypes end with a semicolon, but headers do not. c. Headers should come before prototypes. d. Headers end with a semicolon, but prototypes do not.
b. Prototypes end with a semicolon, but headers do not.