Concept explainers
Mark the following statements as true or false:
To use a predefined function in a program, you need to know only the name of the function and how to use it. (1)
A value-returning function returns only one value. (2, 3)
Parameters allow you to use different values each time the function is called. (2, 7, 9)
When a return statement executes in a user-defined function, the function immediately exits. (3, 4)
A value-returning function returns only integer values. (4)
A variable name cannot be passed to a value parameter. (3, 6)
If a C++ function does not use parameters, parentheses around the empty parameter list are still required. (2, 3, 6)
In C + +, the names of the corresponding formal and actual parameters must be the same. (3, 4, 6)
A function that changes the value of a reference parameter also changes the value of the actual parameter. (7)
Whenever the value of a reference parameter changes, the value of the actual parameter changes. (7)
In C++, function definitions can be nested; that is, the definition of one function can be enclosed in the body of another function. (9)
Using global variables in a program is a better
programming style than using local variables, because extra variables can be avoided. (10)In a program, global constants are as dangerous as global variables. (10)
The memory for a static variable remains allocated between function calls. (11)
(a)
To find whether the given statement is true or false.
False.
Explanation of Solution
Given information:
The name of the function and the definition of the function are given.
Explanation:
To use a predefined function in a program, the complete signature of a function should be known. The signature of a function comprises the return type, the name of the function, and the number and data types of the parameters required by the function if any.
Hence, the given statement is FALSE.
(b)
To find whether the given statement is true or false.
True.
Explanation of Solution
Given information:
The function returns a value hence the return type is not void.
Explanation:
A function can either return a value or not return any value. A function that does not returns a value has the return type of void whereas a function that returns a value has a return type such as int, float, and so on. The return type can be any valid data type supported by the language.
A non-void function can have only one return statement. That means, a function can return only one value.
Hence, the given statement is TRUE.
(c)
To find whether the given statement is true or false.
True.
Explanation of Solution
Given information:
A function that takes parameters.
Explanation:
A function that takes parameters can take any value of the specified data type of the parameter. Hence, such a function can be called many times using a different set of values, and calling the same function multiple times with a different list of parameters is called function overloading.
An example program is as follows:
void display(int n) { cout<<n<<endl; } int main() { display(1); display(2); return 0; }
Output:
The output of the above example program is as follows:
1
2
In the above program, the display() function is called multiple times with different values and generates different outputs.
Conclusion:
Hence, the given statement is TRUE.
(d)
To find whether the given statement is true or false.
True.
Explanation of Solution
Given information:
A function that returns a value.
Explanation:
A function that returns a value ends with a return statement. The return statement is the last in a value-returning function. The return statement returns a value and passes the control outside of the function. Therefore, it can be said that after executing the return statement, the function exits.
Hence, the given statement is TRUE.
(e)
To find whether the given statement is true or false.
False.
Explanation of Solution
Given information:
A function that returns a value.
Explanation:
The nature of the value returned by a function depends upon the return type of the function. The return type of a function can be any valid data type supported by the language. It can be of primitive data type such as int, float, char, and so on and it can also be of a user-defined type such as an object.
Conclusion:
Therefore, a value-returning function will always return a value having type as of return type of function and will not always be an integer. Hence, the given statement is FALSE.
(f)
To find whether the given statement is true or false.
True.
Explanation of Solution
Given information:
A function that takes parameters.
Explanation:
A function that takes value parameters must be passed values and not variable names. A variable name can be passed as a reference variable using the & symbol. This is not acceptable to a function that takes value parameters.
Hence, the given statement is TRUE.
(g)
To find whether the given statement is true or false.
True.
Explanation of Solution
Given information:
A function that does not takes parameters.
Explanation:
A set of parenthesis identifies a function irrespective of whether a function takes parameters or not. A function is always defined and declared using the parenthesis after the function name. If a function is not having any parameters, then the parenthesis will be blank otherwise variables can be declared in the parenthesis. Hence, parentheses in a function are always required.
Thus, the given statement is TRUE.
(h)
To find whether the given statement is true or false.
False.
Explanation of Solution
Given information:
A function that takes parameters.
Explanation:
When a function takes parameters, the formal variables refer to the names of the parameters included in the function definition. While the actual variables are the names of the variables that are passed as parameters while calling the parameterized function.
When a function that takes parameters is called, the parameters are passed either using direct values or variable names that have been initialized. In case, variables are passed when calling the parameterized function, the name of the actual variables doesn't have to be the same as the names of the formal variables.
Hence, the given statement is FALSE.
(i)
To find whether the given statement is true or false.
True.
Explanation of Solution
Given information:
A function that takes parameters.
Explanation:
When a variable is passed by reference to a parameterized function, the address of the actual parameter is passed via the reference variable. Any change made to the value at the given address will reflected in the actual parameter also.
Hence, the given statement is TRUE.
(j)
To find whether the given statement is true or false.
True.
Explanation of Solution
Given information:
A function that takes parameters by reference.
Explanation:
Whenever a function to which parameters are passed by reference, the address of the actual parameters is passed. Any change to the value at the given address will reflect in the actual parameter.
Hence, the given statement is TRUE.
(k)
To find whether the given statement is true or false.
True.
Explanation of Solution
Given information:
Nested functions.
Explanation:
C++ allows functions to be nested. That is, the body of one function can be placed inside the body of another function.
An example program is as follows:
int main() { void outside() { cout << “outside” << endl; void inside() { cout << “inside” << endl; } } inside(); return 0; }
Output:
inside
outside
In the above example, it is seen that the inside() function is defined within the outside() function. While calling the function, the function that is nested, that is inside() function is called.
Conclusion:
Hence, the given statement is TRUE.
(l)
To find whether the given statement is true or false.
False.
Explanation of Solution
Given information:
Global variables.
Explanation:
C++ allows global variables to be used in a program. However, there are some issues associated with the usage of global variables. First, the use of global variables makes the maintenance of the code difficult. Secondly, it is difficult to track global variables throughout the program. To avoid such issues, local variables are used.
Hence, the given statement is FALSE.
(m)
To find whether the given statement is true or false.
False.
Explanation of Solution
Given information:
Global variables.
Explanation:
C++ allows global constants to be used in a program. Such constants are declared at the beginning of the program outside all the functions. Such constants help in the faster execution of the program and make the code compact since the constant is defined only once throughout the program.
Hence, the given statement is FALSE.
(n)
To find whether the given statement is true or false.
True.
Explanation of Solution
Given information:
Static variables.
Explanation:
C++ allows static variables in a program. The value of a static variable remains unchanged in between the function calls. This is possible since the memory remains allocated to the static variables even between the function calls.
Hence, the given statement is TRUE.
Want to see more full solutions like this?
Chapter 6 Solutions
C++ Programming: From Problem Analysis to Program Design
- Modern life has been impacted immensely by computers. Computers have penetrated every aspect of oursociety, either for better or for worse. From supermarket scanners calculating our shopping transactionswhile keeping store inventory; robots that handle highly specialized tasks or even simple human tasks,computers do much more than just computing. But where did all this technology come from and whereis it heading? Does the future look promising or should we worry about computers taking over theworld? Or are they just a necessary evil? Provide three references with your answer.arrow_forwardObjective: 1. Implement a custom Vector class in C++ that manages dynamic memory efficiently. 2. Demonstrate an understanding of the Big Five by managing deep copies, move semantics, and resource cleanup. 3. Explore the performance trade-offs between heap and stack allocation. Task Description: Part 1: Custom Vector Implementation 1. Create a Vector class that manages a dynamically allocated array. 。 Member Variables: ° T✶ data; // Dynamically allocated array for storage. std::size_t size; // Number of elements currently in the vector. std::size_t capacity; // Maximum number of elements before reallocation is required. 2. Implement the following core member functions: Default Constructor: Initialize an empty vector with no allocated storage. 。 Destructor: Free any dynamically allocated memory. 。 Copy Constructor: Perform a deep copy of the data array. 。 Copy Assignment Operator: Free existing resources and perform a deep copy. Move Constructor: Transfer ownership of the data array…arrow_forward2.68♦♦ Write code for a function with the following prototype: * Mask with least signficant n bits set to 1 * Examples: n = 6 -> 0x3F, n = 17-> 0x1FFFF * Assume 1 <= n <= w int lower_one_mask (int n); Your function should follow the bit-level integer coding rules Be careful of the case n = W.arrow_forward
- Hi-Volt Components You are the IT manager at Hi-Voltage Components, a medium-sized firm that makes specialized circuit boards. Hi-Voltage's largest customer, Green Industries, recently installed a computerized purchasing sys- tem. If Hi-Voltage connects to the purchasing system, Green Industries will be able to submit purchase orders electronically. Although Hi-Voltage has a computerized accounting system, that system is not capable of handling EDI. Tasks 1. What options does Hi-Voltage have for developing a system to connect with Green Industries' pur- chasing system? 2. What terms or concepts describe the proposed computer-to-computer relationship between Hi-Voltage and Green Industries? why not? 3. Would Hi-Voltage's proposed new system be a transaction processing system? Why or 4. Before Hi-Voltage makes a final decision, should the company consider an ERP system? Why or why not?arrow_forwardConsider the following expression in C: a/b > 0 && b/a > 0.What will be the result of evaluating this expression when a is zero? What will be the result when b is zero? Would it make sense to try to design a language in which this expression is guaranteed to evaluate to false when either a or b (but not both) is zero? Explain your answerarrow_forwardConsider the following expression in C: a/b > 0 && b/a > 0. What will be the result of evaluating this expression when a is zero? What will be the result when b is zero? Would it make sense to try to design a language in which this expression is guaranteed to evaluate to false when either a or b (but not both) is zero? Explain your answer.arrow_forward
- What are the major threats of using the internet? How do you use it? How do children use it? How canwe secure it? Provide four references with your answer. Two of the refernces can be from an article and the other two from websites.arrow_forwardAssume that a string of name & surname is saved in S. The alphabetical characters in S can be in lowercase and/or uppercase letters. Name and surname are assumed to be separated by a space character and the string ends with a full stop "." character. Write an assembly language program that will copy the name to NAME in lowercase and the surname to SNAME in uppercase letters. Assume that name and/or surname cannot exceed 20 characters. The program should be general and work with every possible string with name & surname. However, you can consider the data segment definition given below in your program. .DATA S DB 'Mahmoud Obaid." NAME DB 20 DUP(?) SNAME DB 20 DUP(?) Hint: Uppercase characters are ordered between 'A' (41H) and 'Z' (5AH) and lowercase characters are ordered between 'a' (61H) and 'z' (7AH) in the in the ASCII Code table. For lowercase letters, bit 5 (d5) of the ASCII code is 1 where for uppercase letters it is 0. For example, Letter 'h' Binary ASCII 01101000 68H 'H'…arrow_forwardWhat did you find most interesting or surprising about the scientist Lavoiser?arrow_forward
- 1. Complete the routing table for R2 as per the table shown below when implementing RIP routing Protocol? (14 marks) 195.2.4.0 130.10.0.0 195.2.4.1 m1 130.10.0.2 mo R2 R3 130.10.0.1 195.2.5.1 195.2.5.0 195.2.5.2 195.2.6.1 195.2.6.0 m2 130.11.0.0 130.11.0.2 205.5.5.0 205.5.5.1 R4 130.11.0.1 205.5.6.1 205.5.6.0arrow_forwardAnalyze the charts and introduce each charts by describing each. Identify the patterns in the given data. And determine how are the data points are related. Refer to the raw data (table):arrow_forward3A) Generate a hash table for the following values: 11, 9, 6, 28, 19, 46, 34, 14. Assume the table size is 9 and the primary hash function is h(k) = k % 9. i) Hash table using quadratic probing ii) Hash table with a secondary hash function of h2(k) = 7- (k%7) 3B) Demonstrate with a suitable example, any three possible ways to remove the keys and yet maintaining the properties of a B-Tree. 3C) Differentiate between Greedy and Dynamic Programming.arrow_forward
- C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage LearningC++ for Engineers and ScientistsComputer ScienceISBN:9781133187844Author:Bronson, Gary J.Publisher:Course Technology PtrMicrosoft Visual C#Computer ScienceISBN:9781337102100Author:Joyce, Farrell.Publisher:Cengage Learning,
- Programming Logic & Design ComprehensiveComputer ScienceISBN:9781337669405Author:FARRELLPublisher:CengageSystems ArchitectureComputer ScienceISBN:9781305080195Author:Stephen D. BurdPublisher:Cengage LearningProgramming with Microsoft Visual Basic 2017Computer ScienceISBN:9781337102124Author:Diane ZakPublisher:Cengage Learning