Friday, 29 April 2011

FINALTERM EXAMINATION CS201 - Introduction to programming Spring 2010

Operator overloading can be performed through__________________.
       Classes
       Functions

       Operators
       Reference


Question No: 2      ( Marks: 1 ) - Please choose one
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      ( Marks: 1 ) - Please choose one
Which of the following function is used to increase the size of already allocated memory chunk?

         malloc

       calloc
       realloc
       free
Question No: 4      ( Marks: 1 ) - Please choose one
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      ( Marks: 1 ) - Please choose one
The stream objects cin and cout are included in which header file?
         iostream.h
       fstream.h
       istream.h
       ostream.h
Question No: 6      ( Marks: 1 ) - Please choose one
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      ( Marks: 1 ) - Please choose one
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      ( Marks: 1 ) - Please choose one
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      ( Marks: 1 ) - Please choose one
Computer can understand only machine language code.
         True

       False
Question No: 10      ( Marks: 1 ) - Please choose one
We can not define a function as a friend of a Template class.
       True
         False
 
Question No: 11      ( Marks: 1 ) - Please choose one
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      ( Marks: 1 ) - Please choose one
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      ( Marks: 1 ) - Please choose one
 _______ is used to trace the logic of the program and correct the logical errors.
       Compiler
       Editor
       Linker
       Debugger


Question No: 14      ( Marks: 1 ) - Please choose one
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      ( Marks: 1 ) - Please choose one
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      ( Marks: 1 ) - Please choose one
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.

When an operator function is implemented as a non-member function, the left-most operand may be an object of the operator’s class, an object of a different class, or a built-in type
Question No: 17      ( Marks: 1 ) - Please choose one
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      ( Marks: 1 ) - Please choose one
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      ( Marks: 1 ) - Please choose one
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      ( Marks: 1 ) - Please choose one
When ever dynamic memory allocation is made in C/C++, it is freed_____________.
       Explicitly
       Implicitly
       Both explicitly and implicitly
       None of the given options
Question No: 21      ( Marks: 1 ) - Please choose one
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      ( Marks: 1 ) - Please choose one
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      ( Marks: 1 ) - Please choose one
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      ( Marks: 1 ) - Please choose one
width() is member function of _____________
       cin object
       cout object
       Both cin and cout object
       None of the given option


Question No: 25      ( Marks: 1 ) - Please choose one

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      ( Marks: 1 ) - Please choose one
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      ( Marks: 2 )
Give the general syntax of class template.
template
class myclass { ---} ;
Question No: 28      ( Marks: 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      ( Marks: 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      ( Marks: 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      ( Marks: 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      ( Marks: 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      ( Marks: 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      ( Marks: 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      ( Marks: 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      ( Marks: 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

No comments:

Post a Comment