3.13. Multiple Choice Exercises¶
Answer the following Multiple Choice questions to assess what you have learned in this chapter.
3.0-
Its correct to think that your GPA will be rounded down, but what else happens when you convert from
inttodouble? 3-
Converting to an
intalways rounds down to the nearest integer, so I do not recommend using type conversions to build your resume… especially if you’re close to4.0. 4.0-
Converting to an int will round your GPA, but not in the direction that you were hoping for… what else happens when you convert from
inttodouble? 4-
Converting to an int will round yor GPA, but not in the direction that you were hoping for.
Error!
-
No errors here! Type conversions are perfectly legal in C++!
Q-1: You want to spice up your resume before the career fair, so you decide to update your GPA using the program below. What is the GPA that you will have on display for future employers?
#include <iostream>
using namespace std;
int main() {
double GPA = 3.52;
int updatedGPA = int(GPA);
cout << "GPA: " << updatedGPA;
}
3.14159265358979323846
-
If
xwere a double, C++ would automatically round the value of pi to 15 decimal places. 3.142
-
If
xwere a double, C++ would automatically round the value of pi to 15 decimal places. 3.0
-
Automatic type conversion will round the value of pi down to the nearest integer, but what else happens when we convert a
doubleto anint? 3
-
The value of x should be 3, since automatic type conversion will round the value of pi down to the nearest integer. Are you sure this program compiles?
Error!
-
Whenever we use math functions, we must include the
<cmath>header file.
Q-2: What is the value of x after the program executes?
#include <iostream>
using namespace std;
int main() {
int x = acos(-1);
}
a-
C++ performs automatic type conversion to round 1.5 down to the nearest integer.
b-
Since
a = 1, we know thatb = 2.5, which is a non-zero decimal. c-
cis adoubleand has a non-zero decimal. d-
C++ performs integer division to round
1/5down to the nearest integer. The value will be stored as0, not0.2. e-
csquared may have a non-zero decimal, but automatic type conversion will round it down to the nearest integer before storing the value ine. f-
int(c)roundscdown to the nearest integer before storing the value inf.
Q-3: Multiple Response Select all variables that have a non-zero value after the decimal place. (3.1 has a non-zero value, while 3.0 does not)
#include <iostream>
using namespace std;
int main() {
int a = 1.5;
double b = a + 1.5;
double c = 2.4;
double d = 1/5;
int e = c * c;
double f = int(c);
}
printHelloWorld () {-
This function header is missing a type.
string palindrome (word) {-
The function’s parameter is missing a type.
int mult (int a, int b) {-
Correct! The function header has a type, empty parentheses, and a squiggly bracket.
char shiftThree (char letter)-
This function header is missing a squiggly bracket
{. void giveCompliment () {-
Correct! The function header has a type, empty parentheses, and a squiggly bracket.
string friend (string name) {-
friendis a reserved keyword in C++.
Q-4: Multiple Response Which of the following would work as a function header (first line of a function).
"You are awesome!"-
The
giveComplimentfunction is not called inmain. "You suck!"-
The
giveInsultfunction doesn’tcoutanything. Nothing is printed.
-
insultdata type is not defined. Error!
-
Correct!
insultdata type is not defined.
Q-5: What is printed when the following code runs? Are there any errors?
#include <iostream>
using namespace std;
void giveCompliment () {
cout << "You are awesome!";
}
void giveInsult () {
insult = "You suck!";
}
int main () {
giveInsult ();
}
"Monica is best friends with Rachel"-
Correct! Although the function definition has
a << " is best friends with " << b, we call the function with variablebas argumentaand variableaas argumentb. "Rachel is best friends with Monica"-
You seem to be confusing your arguments and parameters!
a is best friends with b-
The function
coutsthe values of the variables, not their names! b is best friends with a-
The function
coutsthe values of the variables, not their names! Error!
-
There are no errors with this program!
Q-6: Rachel and Monica are best friends. They write a function
called bestFriends so that they announce this fact to the
rest of their friends. What is printed when they run the code
below? Are there any errors?
#include <iostream>
using namespace std;
void bestFriends (string a, string b) {
cout << a << " is best friends with " << b;
}
int main () {
string a = "Rachel";
string b = "Monica";
bestFriends(b, a);
}
hello, Hannah!!!-
Correct! The string “Hannah” is assigned to the variable
louise, then the value oflouiseis assigned to the variableanna. Whengoodbye (anna)runs,annahas the value “Hannah”. hello, anna!!!-
The function
coutsthe value of the variableannanot the variable name! hello, Anna!!!-
Is
"Anna"still the value ofanna? hello, Louise!-
The
goodbyefunction adds extra exclamation points. hello, Louise!!!-
We assigned the value of
louisetoanna. Is"Louise"the value oflouise? Error!
-
There are no errors with this program!
Q-7: What is printed when the following code runs? Are there any errors?
#include <iostream>
using namespace std;
void greeting (string name) {
cout << "hello, " << name << "!";
}
void goodbye (string name) {
greeting (name);
cout << "!!";
}
int main () {
string hannah = "Hannah";
string anna = "Anna";
string louise = hannah;
hannah = anna;
anna = louise;
goodbye (anna);
}
orderFood(a, c);-
Correct!
ais a string andcis an int. orderFood(b, d);-
Correct! Automatic type conversion will convert d to an
int. orderFood(e, c);-
ehas a character value, and this function takes a string. orderfood(a, d);-
Correct! Automatic type conversion will convert d to an
int. orderFood(c, a);-
You have to input your arguments in the correct order.
Q-8: Multiple Response Which of the following are legal function
calls of orderFood?
#include <iostream>
using namespace std;
void orderFood (string food, int quantity) {
cout << "I'll have " << quantity << " " << food;
}
int main () {
string a = "wings";
string b = "sliders";
int c = 3;
double d = 8.64;
char e = 'p';
}
a-
'a'is no longer the value ofa, and the function would print it more than once. Hint: think about the type ofa. f-
'f'is the value of a, but the function would print it more than once. Hint: think about the type ofa. aa-
'a'is no longer the value ofa. Hint: think about the type ofa. ff-
Hint: think about the type of
a. Error!
-
printWordtakes a string, not a character, as an argument.
Q-9: What is printed when the following code runs? Are there any errors?
#include <iostream>
using namespace std;
void printWord (string w) {
cout << w << w;
}
int main () {
char a = 'a' + 5;
printWord (a);
}
1 parameter, 3 local variables
-
Remember, the parameters are declared in the function definition, and the local variables are declared inside of the function.
2 parameters, 4 local variables
-
You can declare multiple variables at once! Also, remember that local variables are declared inside of the function.
2 parameters, 1 local variables
-
You can declare multiple variables at once!
3 parameters, 1 local variable
-
a,b, andcare parameters declared in the function definition.dis a local variable declared inside of the function. 3 parameters, 4 local variables
-
Remember that local variables are declared inside of the function.
Q-10: How many local variables and parameters does mult have?
void mult (int a, int b, int c) {
int d = 7;
cout << a * b * c * d;
}
6 calls
-
Take into account that
weekendonly callspartyif a conditional is true! 2 calls
-
weekendcan also call the functionparty 4 calls
-
Correct! two calls by
mainand two calls byweekend 3 calls
-
One invocation of
weekendcallspartytwice.
Q-11: How many calls are made to party during the entire program?
#include <iostream>
using namespace std;
void party(int day_of_month, string address) {
cout << "party on "<<day_of_month<<" at "
<< address << endl;
}
void weekend(bool available) {
if(available==true) {
party(21,"Big house"); party(22,"CCTC");
} else {
cout << "sorry I have to study for ENGR101!" << endl;
}
}
int main() {
bool im_free=false;
party(25, "North campus");
weekend(im_free);
im_free=true;
party(25, "Central campus");
weekend(im_free);
return 0;
}