Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

QUESTION 1 Which statement is incorrect? partnums[ The statement int partnums[]={136, 122, 109, 146}; creates an array of size 4 The statement partnums[3] = 144;

QUESTION 1

Which statement is incorrect?

partnums[

The statement int partnums[]={136, 122, 109, 146}; creates an array of size 4

The statement partnums[3] = 144; works regardless of whether partnums is an array or a vector

The statement

cout << partnums.size() << endl;

works only if partnums is a vector

10 points

QUESTION 2

Which statement is incorrect?

Linear search uses less comparisons than Binary search if the target is at the beginning of the set

Binary search uses less comparisons than Linear search if the target is exactly in the middle of the set

Linear search uses more comparisons than Binary search if the target is at the end of the set

Linear search data in the set can be unsorted, Binary search data in the set must be sorted

10 points

QUESTION 3

Which statement is incorrect?

An array can be used to create a vector

A vector resizes automatically

An array cannot be resized

An array can be resized to hold more elements but not less

10 points

QUESTION 4

Which statement is incorrect?

The manipulators endl and function setf() and precision are provided by the iostream header. The manipulators setw and setprecision are provided by the iomanip header.

When program calls the setf function on an output stream, the effect continues until the program calls unsetf with the same argument to turn it off

Setting the width of output with call do the width() function, affects only the next output

Setting the width of the output with the manipulator setw has a different result from setting the width with the width function

10 points

QUESTION 5

Which of the following sets of statements will set floating point output to the stream outStream to fixed point with set 3 places of decimals?

(Two correct answers)

outStream << setflag(ios::fixed); outStream << setflag(ios::showpoint); outStream << setprecision(2);

outStream.setf(ios::fixed | ios::showpoint); outStream << setprecision(2);

outStream.setf(ios::fixed); outStream.setf(ios::showpoint); outStream.precision(2);

outStream.flags(ios::fixed); outStream.flags(ios::showpoint); outStream.precision(2);

10 points

QUESTION 6

Which of the following positions the file pointer for a file that has been opened for reading and writing?

Use the size() member function on the file stream to position the file pointer

Use the seekp(arg) fstream member function with the number of bytes to the record in question (counting the first byte as 0) as argument to position the file pointer

Use the seekp(arg) fstream member function with the number of records (counting the first record as 0) as argument to position the file pointer

Use the sizeof operator to determine the number of bytes in the file stream.

10 points

QUESTION 7

Which statement is incorrect?

An output stream flows from your program to somewhere outside the program, either to a file or to some device such as the screen

cin is an input stream

An input stream is a stream of data flowing from your program, either to a file, or to the keyboard

A stream is a flow of data into or out of your program

10 points

QUESTION 8

Which statement is incorrect?

The flush function copies the file buffer to the file on the file medium (disk, etc)

When you use the open member function to tie a file name to a file stream, the file name is called the external file name, the program refers to the file by the stream variable used to open the file

When you write

ifstream inStream; inStream.open("infile.dat");

the file infile.dat must be located in the directory where the program is being run

A file is automatically closed when a program terminates, so there is never a need to close a file

10 points

QUESTION 9

Which of the following is a restriction on use of a stream variable (either ifstream or ofstream)?

To use a stream variable as a function parameter you can only use call-by-reference

To use a stream variable as a function parameter you can only use call-by-value

To use a stream variable as a function parameter you can use call-by-value or call-by-value

A file variable can be used in any way any other variable can be use

10 points

QUESTION 10

To determine whether a file was opened successfully, the program can use the fstream function:

Hint: google

eof()

close()

fail()

open()

10 points

QUESTION 11

A file stream, fStr, is open and attached to physical file.txt. To reset this file stream so that the file can be read again starting at the first line requires

Only calling the member function open() using fStr as the calling object with the file.txt as argument.

File stream fStr, reset yourself to the start of the file.

Calling the reset() member function using fStr as the calling object but with no argument

With calling object fStr call close()then call open( ) with argument fStr.

10 points

QUESTION 12

Which of these lines is NOT produced by the following code, assuming they are correctly implemented in a program? (You may need to fix them, but without altering the output, i.e. fix the double quotes)

cout << "*" << setw(5) << 123 << "*" << 123 << "*" << endl; cout.setf(ios::showpos); cout << "*" << setw(5) << 123 << "*" << 123 << "*" << endl; cout.unsetf(ios::showpos); cout.setf(ios::left); cout << "*" << setw(5) << 123 << "*" << setw(5) << 123 << "*" << endl;

*123**

+123*+123*

123*123*

*123 *

10 points

QUESTION 13

Which of the following are correct ways to end a loop using a test for end-of-file?

(Two correct answers)

inStream.get(next); while(!inStream.eof( )) { cout << next; inStream.get(next); }

inStream.get(next) while(!eof(inStream)) { cout << next; inStream.get(next); }

while(inStream >> next) cout << next;

while(inStream->next) { cout << next; }

10 points

QUESTION 14

Which function takes a single char value from the input file, without regard to whether it is a whitespace?

putline()

getline()

get()

put()

10 points

QUESTION 15

To open a file for read-write and random access does NOT require

#include, using std::fstream; and using std::ios;

The stream to be defined using the class fstream. defined in the header file

The usual definition of an ofstream or ifstream object

The stream to be connected to the physical file object with first argument a C-string containing the physical file name and a second argument, ios::in | ios::out that specifies that the i/o with the file should be for either reading or writing

10 points

QUESTION 16

Why does this version of the swap function fail to work? Is there a fix? void swap(int & lhs, int& rhs) { lhs = rhs; rhs = lhs; }

We can fix if we just reverse the order of the lines.

It works OK.

It fails because the programmer forgot to make the parameters call-by-reference

It fails because the first line destroys the old value of lhs without saving it. Then both variables have the old value of rhs in them.

10 points

QUESTION 17

Consider the following function and code segment. void One( int first, int & second ) { first = 17; second = first + 1; } int main() { // other code ... int j = 4; int k = 3; One(j, k); // other code .. } After the call to One(j, k); what are the values of j and k?

j == 17, k == 18;

j == 4, k == 3;

j == 4, k == 18;

j == 17, k == 3;

10 points

QUESTION 18

Which is correct?

There is only one kind of parameter passing in C++, namely call-by-value

The call-by-reference mechanism is specified in the function declaration and definition, using a $ between the type and the parameter

The position of the ampersand in the function header is of no importance to the proper compiling and execution of code that uses call-by-reference parameters

A call-by-reference parameter may pass data only out of a function

10 points

QUESTION 19

Which is correct?

Names of parameters in functions, especially function prototypes, have no meaning, and may be selected quite arbitrarily.

The compiler ha no problem distinguishing these two function definitions: void func(double &x){/**/} void func(double x){/**/}

Call-by-reference is restricted to void functions

There is no problem with the compiler distinguishing these two function definitions: void func(double x){/**/} int func(double x){/**/ return something_double;}

10 points

QUESTION 20

Consider the function, where the programmer inadvertently left out the ampersand in the definition of parRef. What is the output of the code? void doStuff(int parValue, int parRef) { parValue = 100; cout << parValue in call to doStuff = << parValue << endl; parRef =222; cout << parRef in call to doStuff = << parRef << endl; } and consider the call, which we assume is in a complete and correct program int n1 = 1, n2 =2; doStuff(n1, n2); cout << n1 after call to doStuff = << n1 << endl; cout << n2 after call to doStuff = << n2 << endl;

parValue in the call to doStuff = 100; parValue in the call to doStuff = 222; n1 after function call = 1; n2 after function call = 222

parValue in the call to doStuff = 100; parValue in the call to doStuff = 222; n1 after function call = 100 n2 after function call = 222

parValue in the call to doStuff = 100; parValue in the call to doStuff = 222; n1 after function call = 1; n2 after function call = 2

x parValue in the call to doStuff = 100; parValue in the call to doStuff = 222; n1 after function call = 100 n2 after function call = 2

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Investing All In One

Authors: Eric Tyson

1st Edition

1119376629, 978-1119376620

Students also viewed these Databases questions