FINALTERM EXAMINATION
CS201 - Introduction to programming
Final Term Spring 2010
Operator overloading can be performed through__________________.
► Classes
► Functions ► Operators
► Reference
Question No: 2 ( M a r k s: 1 ) http://vuzs.net
When a value is referred by a normal variable then it is known as,
► Direct Reference
► Indirect Reference
► Partial Reference
► Proper Reference
When a value is referred by a normal variable is known as direct reference
Question No: 3 ( M a r k s: 1 ) http://vuzs.net
Which of the following function is used to increase the size of already allocated memory chunk?
► malloc ► calloc
► realloc
► free
(FQ, vuzs, 2010)
Question No: 4 ( M a r k s: 1 ) http://vuzs.net
Which of the following is NOT a preprocessor directive?
► #error
► #define
► #line ► #ndefine
list of preprocessors
• #include • #include “filename” • #define • #undef • #ifdef • #ifndef • #if • #else • #elif • #endif • #error • #line • #pragma • #assert
Question No: 5 ( M a r k s: 1 ) http://vuzs.net
The stream objects cin and cout are included in which header file?
► iostream.h
► fstream.h
► istream.h
► ostream.h
Question No: 6 ( M a r k s: 1 ) http://vuzs.net
Overloaded delete operator function takes the same parameter as an argument returned by new operator function.
► True
► False
The same pointer that is returned by the new operator, is passed as an argument to the delete operator. These rules apply to both, if operators (new and delete) are overloaded as member or non-member operators (as global operators).
Question No: 7 ( M a r k s: 1 ) http://vuzs.net
When an array of object is created dynamically then there is no way to provide parameterized constructors for array of objects.
► True ► False
if we are allocating an array of objects, there is no way to pass arguments to objects’ constructors. Therefore it is required that the objects that are stored in such an array have a no-argument constructor.
Question No: 8 ( M a r k s: 1 ) http://vuzs.net
C is widely known as development language of _______ operating system.
► Linux
► Windows
► Unix
► Mac OS
In the start C became widely known as the development language of the UNIX operating system, and the UNIX operating system was written by using this C language. The C language is so powerful that the compiler of C and other various operating systems are written in C.
Question No: 9 ( M a r k s: 1 ) http://vuzs.net
Computer can understand only machine language code.
► True ► False
Question No: 10 ( M a r k s: 1 ) http://vuzs.net
We can not define a function as a friend of a Template class.
► True
► False
Class templates can have friends. A class or class template, function, or function template can be a friend to a template class. Friends can also be specializations of a class template or function template, but not partial specializations.
Question No: 11 ( M a r k s: 1 ) http://vuzs.net
What will be the value of ‘a’ and ‘b’ after executing the following statements?
a = 3;
b = a++;
► 3, 4
► 4, 4
► 3, 3
► 4, 3
Question No: 12 ( M a r k s: 1 ) http://vuzs.net
Consider the following code segment. What will be the output of following code?
int addValue (int *a){
int b = (*a) + 2;
return b ;
}
main () {
int x =6 ;
cout << x << “,” ;
cout << addValue(&x) << “,” ;
cout << x ;
}
► 6,8,6
► 6,6,8
► 6,8,8
► 6,6,6
Question No: 13 ( M a r k s: 1 ) http://vuzs.net
_______ is used to trace the logic of the program and correct the logical errors.
► Compiler
► Editor
► Linker
► Debugger
Question No: 14 ( M a r k s: 1 ) http://vuzs.net
new and delete are _____ whereas malloc and free are _____.
► Functions, operators
► Classes, operators
► Operators, functions
► Operators, classes
Hence, we can call new and delete operators, P# 342
we have allocated a memory space for our use by malloc function. P# 285
Question No: 15 ( M a r k s: 1 ) http://vuzs.net
Like member functions, ______ can also access the private data members of a class.
► Non-member functions
► Friend functions
► Any function outside class
► None of the given options
Question No: 16 ( M a r k s: 1 ) http://vuzs.net
Which situation would require the use of a non-member overloaded operator?
► The overloaded operator is an Assignment operator.
► The left most operand is an object of a class.
► The left operand is built-in data type.
► The operator returns a reference.
(100% confirmed by Rainbowbright)Question No: 17 ( M a r k s: 1 ) http://vuzs.net
The stream insertion and stream extraction operators are already overloaded for ______.
► User-defined data types
► Built-in data types
► User-defined and built-in data types
► None of the given options
Question No: 18 ( M a r k s: 1 ) http://vuzs.net
If we define an identifier with the statement #define PI 3.1415926 then during the execution of the program the value of PI __________.
► can not be replaced
► None of the given options
► Remain constant.
► can be changed by some operation
Question No: 19 ( M a r k s: 1 ) http://vuzs.net vuzs
Assignment operator is -------------------------associative.
► right
► left
► binary
► unary
You can assign values to several variables in a single statement. For example, the following code sets the contents of apples and oranges to the same value:
apples = oranges = 10;
The assignment operator is right associative, so this statement executes by first storing the value 10 in oranges and then storing the value in oranges in apples, so it is effectively
apples = (oranges = 10);
Question No: 20 ( M a r k s: 1 ) http://vuzs.net
When ever dynamic memory allocation is made in C/C++, it is freed_____________.
► Explicitly
► Implicitly
► Both explicitly and implicitly
► None of the given options
(Rainbowbright, vuzs. jul2011)
Question No: 21 ( M a r k s: 1 ) http://vuzs.net
The appropriate data type to store the number of rows and colums of the matrix is____________.
► float
► int
► char
► none of the given options.
Question No: 22 ( M a r k s: 1 ) http://vuzs.net
Which of the following function do NOT initialize the chunk of memory to all zero?
► calloc() function
► Both malloc() and calloc()
► None of the above
► malloc() function
The malloc function differs from calloc in the way that the space allocated by malloc is not initialized and contains any values initially.
Question No: 23 ( M a r k s: 1 ) http://vuzs.net
The function free() returns back the allocated memory got thorough calloc and malloc to _____ .
► stack
► heap
► stack and heap
► None of the given options
Question No: 24 ( M a r k s: 1 ) http://vuzs.net
width() is member function of _____________
► cin object
► cout object
► Both cin and cout object
► None of the given option
Question No: 25 ( M a r k s: 1 ) http://vuzs.net
Templates are not type safe.
► true
► false
Templates are type-safe. This is because the types that templates act upon are known at compile time, so the compiler can perform type checking before errors occur.
Question No: 26 ( M a r k s: 1 ) http://vuzs.net
A Matrix can be composed of ints, floats or doubles as their elements. Best way is to handle this , _______________
► Write a separate class to handle each
► Use templates
► Use strings to store all types
► None of the given options
A Matrix can be composed of ints, floats or doubles as their elements. Instead of handling these data types separately, we can write Matrix class as a template class and write code once for all native data types. While writing this template class, the better approach to write will be, to go with a simple data type (e.g. double) first to write a Matrix class and then extend it to a template class later.
Question No: 27 ( M a r k s: 2 )
Give the general syntax of class template.
template
class myclass { ---} ;
Question No: 28 ( M a r k s: 2 )
What is a truth Table?
There are some areas where the decision structures become very complicated. Sometimes, we find it difficult to evaluate a complicated logical expression. Sometimes the logic becomes extremely complicated so that even writing it as a simple syntax statement in any language. It becomes complicated to determine what will be evaluated in what way. We know the concept of truth table. The truth tables are very important. These are still a tool available for analyzing logical expressions. We will read logic design in future, which is actually to do with chips and gates. How we put these things together.
Question No: 29 ( M a r k s: 2 )
What will be the output of following code, if user input a number 123?
int input ;
cin >> oct >> input;
cout << hex << input ;
53
Rational: it will take 123 as octal and print it in hex form which is 53.
Question No: 30 ( M a r k s: 2 )
What is principle of friendship in the context of functions and classes?
Class can declare a friend function and someone from outside the class cannot declare itself friend of a class.
A friend function can access the private variables of class just like a member function
Question No: 31 ( M a r k s: 3 )
What are the limitations of the friendship relation between classes?
Class can declare a friend class from inside and someone from outside the class cannot declare itself friend of a class.
Question No: 32 ( M a r k s: 3 )
Suppose an object of class A is declared as data member of class B.
(i) The constructor of which class will be called first? a
(ii) The destructor of which class will be called first?b
Question No: 33 ( M a r k s: 3 )
Define static variable. Also explain life time of static variable?
When you declare a static variable (native data type or object) inside a function, it is created and initialized only once during the lifetime of the program
Question No: 34 ( M a r k s: 5 )
Write a program which defines three variables of type double which store three different values including decimal points, using setprecision manipulators to print all these values with different number of digits after the decimal number.
#include
#include
main () {
double a = 12.12345;
double b = 13.123456;
double c = 14.1234567;
cout << setprecision (5) << a << endl;
cout << setprecision (2) << a << endl;
cout << setprecision (3) << a << endl;
}
Question No: 35 ( M a r k s: 5 )
Let we have a class,
class String
{
private:
char buf[25];
};
Write code for assignment (=) operator function which assign one String object to other object. Your code should also avoid self assignment
Answer:
void String::operator = ( const String &other )
{ int length ;
length = other.length();
delete buf;
buf = new char [length + 1];
strcpy( buf, other.buf ); }
Question No: 36 ( M a r k s: 5 )
Read the given below code and explain what task is being performed by this function
Matrix :: Matrix ( int row , int col )
{
numRows = row ;
numCols = col ;
elements = new ( double * ) [ numRows ] ;
for ( int i = 0 ; i < numRows ; i ++ )
{
elements [ i ] = new double [ numCols ] ;
for ( int j = 0 ; j < numCols ; j ++ )
elements [ i ] [ j ] = 0.0 ;
}
}
Hint : This function belong to a matrix class, having
Number of Rows = numRows
Number of Columns = numCols