CS201 Solved Short Question

Question No: 1 ( Marks: 2 )
Write a declaration statement for an array of 10 elements of type float. Include an initialization statement of the first four elements to 1.0, 2.0, 3.0 and 4.0.
Answer:
float floatArry[10] = {1.0,2.0,3.0,4.0};
Question No: 2 ( Marks: 2 )
Write the general syntax for the declaration of pre-increment and post-increment member operator function.
Answer:
Classname operator ++(); —- pre increment
Classname operator ++(int) —- post increment
Question No: 3 ( Marks: 2 )
Give the general syntax of class template.
Answer:
template
class myclass { —} ;
Question No: 4 ( Marks: 2 )
What is a truth Table?
Answer:
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: 5 ( Marks: 2 )
What will be the output of following code, if user input a number 123?
int input ;
cin >> oct >> input;
cout hex input ;
Answer:
53
Rational: it will take 123 as octal and print it in hex form which is 53.
Question No: 6 ( Marks: 2 )
What is principle of friendship in the context of functions and classes?
Answer:
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: 7 ( Marks: 2 )
How many arguments a Unary Operator take? Can we make a binary operator as unary operator?
Answer:
Unary operator takes only one argument like i++ or i— (Post increment or post decrement operators for integers) or ++i,–i (Pre increment or pre decrement operators for integers) ,we can not make Unary operator as binary or binary as Unary operator.
Question No: 8 ( Marks: 2 )

Which arithmetic operators cannot have a floating point operand?

Answer:
Modulus operator:
This operator can only be used with integer operands ONLY

Question No: 9 ( Marks: 2 )

What are manipulators? Give one example.

Answer:
The manipulators are like something that can be inserted into stream, effecting a change in the behavior. For example, if we have a floating point number, say pi (л), and have written it as float pi = 3.1415926 ; Now there is need of printing the value of pi up to two decimal places i.e. 3.14. This is a formatting functionality. For this, we have a manipulator that tells about width and number of decimal points of a number being printed.

Question No: 10 ( Marks: 2 )

Write down piece of code that will declare a matrix of 3×3. And initialize all its locations with 0;

Answer:
int matrix [3] [3] ;

include

main () {
int matrix [3][3];
int inivalue = 0;

for (int a=0;a<3;a++)
{ for (int b = 0;b<3;b++)
{ matrix[a][b]= inivalue;
cout/p>
}

Question No: 11 ( Marks: 2 )

What is the difference between switch statement and if statement.
Answer:
The “If” statement is used to select among two alternatives. It uses a Boolean expression to decide which alternative should be executed. The switch statement is used to select among multiple alternatives. It uses an int expression to determine which alternative should be executed.

Question No: 12 ( Marks: 2 )

How can we initialize data members of contained object at construction time?

Answer:
Initializer list is used to initialize the contained objects at the construction time.

Question No: 13 ( Marks: 2 )

Can we overload new and delete operators?

Answer:
Yes, it is possible to overload new and delete operators to customize memory management. These operators can be overloaded in global (non-member) scope and in class scope as member operators.

Question No: 14 ( Marks: 2 )

Suppose there is a template function ‘func’ having argument of type U and return type T. What will be the C++ syntax to call this function, passing a variable ‘x’ of type double and returning an int type?

Answer:
template
T func (T a, U b) {
return (a
}
calling
int i;
double x;
x = func
Permalink Reply by M.Tariq Malik on Sunday
Question No: 15 ( Marks: 2 )

Which variable will be used in inner code block if we have the same names of variable at outer code block and inner code block?

Answer:
Simply: variable of the inner code is use in the inner code block.

Question No: 16 ( Marks: 2 )

What is the benefit of reference and where can we use it?

Answer:
In references we give the memory address of the object, due to references we pass values without making the copy. Hence, when we have many values & we want efficiency we use references to avoid copy.

Question No: 17 ( Marks: 2 )

Write the C++ code for the declaration of overloaded stream insertion and stream extraction operator for the object d of type Date.

Answer:
Date operator >> (date & d1){
cout<”-”<”-”/p>
}

Question No: 18 ( Marks: 2 )

What is difference between endl and \n?

Answer:
Endl is manipulator and it inserts new line character and flushes the stream.

\n is control character which is used to insert line break.

Question No: 19 ( Marks: 2 )

What does code optimization mean?

Answer:
It is process by which we make our code in such a way that it improves the speed of program. By use of optimization we refine program codes in such a way that it run faster and consume less memory. We do it in such a way that output quality is not compromised.

Question No: 20 ( Marks: 3 )

How is the following cout statement interpreted by compiler?

cout a b c ;

Answer:
It will give a compiler error because a,b,c are not declared.

Question No: 21 ( 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?
Answer: A
(ii) The destructor of which class will be called first?
Answer: B

Question No: 22 ( Marks: 3 )

What will be the output of following functions if we call these functions three times?

1)
void func1(){
int x = 0;
x++;
cout x endl;
}

Answer:

1
1
1
2)
void func2(){
static int x = 0 ;
x++;
cout x endl ;
}

Answer:
1
2
3

Question No: 23 ( Marks: 3 )

If is not available in the system then what does calloc/malloc and new operator return?

Answer:
calloc/malloc and new operator return returns a null pointer to indicate that no memory is available

Question No: 24 ( Marks: 3 )

What is the keyword ‘this’ and what are the uses of ‘this’ pointer?

Answer:
‘this’ is use to refer the current class member without using the name of the class.

Question No: 25 ( Marks: 3 )

Which one (copy constructor or assignment operator) will be called in each of the following code segment?

1) Matrix m1 (m2);
2) Matrix m1, m2;
m1 = m2;
3) Matrix m1 = m2;

Answer:

1) Matrix m1 (m2); copy constructor
2) Matrix m1, m2;
m1 = m2; assignment operator
3) Matrix m1 = m2; assignment operator

Question No: 26 ( Marks: 3 )

What will be the output of following function if we call this function by passing int 5?

template T reciprocal(T x) {return (1/x); }

Answer:

0
The output will zero as 1/5 and its .05 but conversion to int make it zero
Above is prototype of template class so assume passing an int and returning an int

Question No: 27 ( Marks: 3 )

Identify the errors in the following member operator function and also correct them.

math * operator(math m);
math * operator (math m)
{
math temp;
temp.number= number * number;
return number;

}

Answer:

The errors are in the arguments of the member operation function and also in the body of operator member function.
Correct function should be
math *operator (math *m)
{
math temp;
temp = m;
temp.number= number * number;
return temp.number;

}

Question No: 28 ( Marks: 3 )

What are the limitations of the friendship relation between classes?

Answer:
friendship relation between classes is a one way relation that is if one class declare friend another class then the another class is the friend of first class but not the first class if the friend of another class.

Question No: 29 ( Marks: 3 )

Define static variable. Also explain life time of static variable?

Answer:
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: 30 ( Marks: 5 )

What is difference between Unary and binary operators and how they can be overloaded?

Answer:
Unary operator takes one argument.
a ++ is an example of unary operator

Binary take two operators
+,-,* are example of binary operators
Overloaded binary operator may return any type

Here is general syntax of overloading
Return-type operator symbol (parameters);

Operator is keyword
Permalink Reply by M.Tariq Malik on Sunday
Question No: 31 ( Marks: 5 )

What steps we must follow to design good program?

Answer 1:

Hence to design a program properly, we must:
Analyze a problem statement, typically expressed as a word problem.
Express its essence, abstractly and with examples.
Formulate statements and comments in a precise language.
Evaluate and revise the activities in light of checks and tests and
Pay attention to detail.

Answer 2:

Details: we must check very details of any program. It is very important aspect of any program. We must pay complete attention to calculation.
We must give attention to logic and its flow should be smooth.

Reusable: We must write program in such a way that we can reuse them in other program. Like we define function in such a way that in future if we need any similar kind of function is requires in that case we can easily modify or reuse it.

Comments: we write the details of important steps in the form of comments. We should use comments in such a way if any body else wanted to reuse or debug or codes he can easily understand it.

Code readability: We should use Tab and spaces so codes are easily readable.

User interface: we make interface user friendly. Use polite prompts for user while take input.

Question No: 32 ( Marks: 5 )

Write a program which defines five variables which store the salaries of five employees, using setw and setfill manipulators to display all these salaries in a column.
Note: Display all data with in a particular width and the empty space should be filled with character x
Output should be displayed as given below:
xxxxxx1000
xxxxxx1500
xxxxx20000
xxxxx30000
xxxxx60000

Answer:

#include
#include
main(){
int sal1 =1000;
int sal2 =1500;
int sal3 =20000;
int sal4 =30000;
int sal5 =60000;

cout setfill (‘x’) setw (10);
cout sal1/p>
cout setfill (‘x’) setw (10);
cout sal2/p>
cout setfill (‘x’) setw (10);
cout sal3/p>
cout setfill (‘x’) setw (10);
cout sal4/p>
cout setfill (‘x’) setw (10);
cout sal5/p>
int i=0;
cin>>i; // to stop the screen to show the output
}

Question No: 33 ( Marks: 5 )

Suppose we have the following class.

class Matrix
{
private:
int Elements[3][3];
};

Write the operator function of stream extraction operator (>>) for this class.

Answer:
Element operator >> (Element &element){
cout/p>
cout/p>
cout/p>
}

Question No: 34 ( Marks: 5 )

What is meant by user interface and class interface in C++ ? And what role a class interfaces can play in user interface [Marks 5]

Answer:

Question No: 35 ( Marks: 5 )

Write the general syntax of a class that has one function as a friend of a class along with definition of friend function.

Answer:
class frinedclass{
public:
friend int compute(exforsys e1)
};
Int compute(exforsys e1)
{
//Friend Function Definition which has access to private data
return int(e1.a+e2.b)-5;
}

Question No: 36 ( Marks: 5 )

What are the advantages and disadvantages of using templates?

Answer:
Many things can be possible without using templates but it does offer several clear advantages not offered by any other techniques:

Advantages:
Templates are easier to write than writing several versions of your similar code for different types. You create only one generic version of your class or function instead of manually creating specializations.
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.
Templates can be easier to understand, since they can provide a straightforward way of abstracting type information.
It helps in utilizing compiler optimizations to the extreme. Then of course there is room for misuse of the templates. On one hand they provide an excellent mechanism to create specific type-safe classes from a generic definition with little overhead.

Disadvantages:
On the other hand, if misused
Templates can make code difficult to read and follow depending upon coding style.
They can present seriously confusing syntactical problems esp. when the code is large and spread over several header and source files.
Then, there are times, when templates can “excellently” produce nearly meaningless compiler errors thus requiring extra care to enforce syntactical and other design constraints. A common mistake is the angle bracket problem.

Question No: 37 ( Marks: 5 )

Suppose a program has a math class having only one data member number.
Write the declaration and definition of operator function to overload + operator for the statements of main function.
math obj1, obj2;
obj2= 10 + obj1 ;

Answer:
#include
math
{
mth operator + (obj1,int x)
{

number temp;
temp=obj1.number+x;
return temp.number;
}
}

Question No: 38 ( 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.

Answer:

#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: 39 ( 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: 40 ( 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

Answer:
In the above mentioned code, first of all programmer call the constructor who have two parameters for the number of rows & columns in the matrix. Then this constructor also dynamically allocates the memory for the elements of the matrix & also initializes the value of the all elements of matrix with 0.0

CS201 Solved MCQ’s


The statement cout yptr will show the __________the yptr points to.
Value
Memory Address
Variabvle
None of given
char **argv can be read as__________________.
Pointer to Pimter
Pointer to Char
Pointer to Pointer to Char
None of given
_______________are conventional names of the command line parameters of the ‘main()’ function.
‘argb’ and ‘argv’
‘argc’ and ‘argv’
‘argc’ and ‘argu’
None of Given
___________ Returns true if c is a digit and false otherwise.
int isalpha( int c )
int isalnum( int c )
int isxdigit( int c )
int isdigit( int c )
In the case of pointer to pointer or _______________, the first pointer contains the address of the second pointer, which contains the address of the variable, which contains the desired value.
double dereference
Single dereference
dereference
None of the given
_______________________ contains functions for manipulations of character data.
ctype.h
iostream.h
string.h
None of the given
dereferencing operator is represented by _______
*
+

None of the given
In_________, we try to have a precise problem statement
Analysis
Design
Coding
None of the given
Memory allocated from heap or free store _____________________.
can be returned back to the system automatically
can be allocated to classes only
cannot be returned back unless freed explicitly using malloc and realloc
cannot be returned back unless freed explicitly using free and delete operators
Once the _______________ are created, they exist for the life time of the program
local variables
non static variables
static variables
automatic variables
Once the static variables are created, they exist for the life of the program. They do not die. So returning their reference is all right.
The members of a class declared with the keyword struct are _____________by default.
static
private
protected
public.
The members of a class declared with the keyword struct are public by default. A structure is inherited publicly by default.
If the memory in the free store is not sufficient ____________________.
Select correct option:
malloc function returns 1
malloc function returns 0
malloc functions returns NULL pointer
malloc function returns free space
if the memory in the free store is not sufficient enough to fulfill the request. malloc() function returns NULL pointer if the memory is not enough. In C++, 0 is returned instead of NULL pointer.
This reference to a variable can be obtained by preceding the identifier of a variable with ________________.
dot operator
ampersand sign &
^ sign
operator
Once an object is declared as a friend, _________________________.
it has access to all non-public members as if they were public
it has access to public members only
it has no access to data members of the class
it has to protected data members only
Reference variables must _________________.
not be initialized after they are declared
be initialized after they are declared
contain integer value
contain zero value
If the request of new operator is not fulfilled due to insufficient memory in the heap____________________.
the new operator returns 2
the new operator returns 1
malloc functions returns NULL pointer
malloc function returns free space
Reference is not really an address it is ______________.
a synonym
an antonym
a value
a number
If the request of new operator is not fulfilled due to insufficient memory in the heap ____________________.
the new operator returns 2
the new operator returns 1
the operator returns 0
free operator returns nothing
Functions declared with the _______________ specifier in a class member list are called friend functions of that class.
protected
private
Public
friend
Functions declared with the friend specifier in a class member list are called friend functions of that class. Classes declared with the friend specifier in the member list of another class are called friend classes of that class.
public or private keywords can be ____________
written only for once in the class or structure declaration
written multiple times in the class or structure declaration
written only twice in the class declaration
written outside the class
good practice is to write public or private keywords only once in the class or structure declaration, though there is no syntactical or logical problem in writing them multiple times.
The friend keyword provides access _____________.
in one direction only
in two directions
to all classes
to the data members of the friend class only
The friend keyword provides access in one direction only. This means that while OtherClass is a friend of ClassOne, the reverse is not true.
References cannot be uninitialized. Because it is impossible to _______________
reinitialize a pointer
reinitialize a reference
initialize a NULL pointer
cast a pointer
new operator can be used for ______________.
Select correct option:
only integer data type
only char and integer data types
integer , float, char and double data types
dot operator
Similarly, new operator can be used for other data types like char, float and double etc.
The destructor is used to ______________.
allocate memory
deallocate memory
create objects
allocate static memory
If we want to allocate memory to an array of 5 integers dynamically, the syntax will be _____________.
int *iptr ; iptr = new int[5] ;
integer iptr** ; iptr= new int[5]
int iptr ; iptr= int [5]
iptr= new[5]
Memory allocated from heap or free store _____________________.
can be returned back to the system automatically
can be allocated to classes only
cannot be returned back unless freed explicitly using malloc and realloc
cannot be returned back unless freed explicitly using free and delete operators
The memory allocated from free store or heap is a system resource and is not returned back to the system unless explicitly freed using delete or freeoperators.
Operator overloading is to allow the same operator to be bound to more than one implementation, depending on the types of the _________.
Select correct option:
Compilers
Operands
Function names
Applications
Operator overloading is to allow the same operator to be bound to more than one
implementation, depending on the types of the operands.
The operator to free the allocated memory using new operator is________________.
Select correct option:
free
del
delete
remove
The operator to free the allocated memory using new operator is delete. So whenever,
we use new to allocate memory, it will be necessary to make use of ‘delete’ to deallocate
the allocated memory.
The concept of friend function negates the concept of _________________.
Select correct option:
inheritance
polymorphism
persistence
encapsulation
New operator is used to allocate memory from the free store during ______________
Compile Time
Run Time
Link Time
None of above
To get the memory address of a variable we use _____

&

&&
*
|

If we have a program that writes the output data (numbers) to the disc, and if we collect the output Data and write it on the disc in one write operation instead of writing the numbers one by one. In the above situation the area where we will gather the number is called
Buffer
Stream
Memory
None of these
What functionality the following program is performing?
#include <iostream.h>
int main()
{
const int SIZE = 80;
char buffer[SIZE];
cout <<” Enter a sentence : “;
cin.getline(buffer, SIZE);
cout<<buffer <<endl;
system(“pause”);

}
objects are used respectively to read a sentence from the key board and then print it on the screen.
Using getline function
using character arrays
Doing nothing
The get member function, when passed no arguments, inputs an entire stream and returns it as the value of the function call.
True
False
New operator allocates memory from free store and returns ___________
Void
NULL
Nothing return
None of above
The statement cin.get (); is used to,
Read a character from keyboard
Read a an entire string
Read integer values
Read float values
Suppose int i = 10; then what will be the value of i after being converted in to octal value
10
12
14
16
Which of the following is a destination of cout stream?
Monitor /screen
Keyboard
Memory
None of these
Which of the following is the correct definition of streams ?
streams are memory locations
sequence of bytes are called streams
sequence of variables are called streams
sequence does not have any definition
Stream operators are heavily overloaded means , they allow to handle int and character data type only.
true
false
What functionality the following program is performing?
int main()
{
const int SIZE = 80;
char buffer[SIZE];
cout <<” Enter a sentence : “;
cin.getline(buffer, SIZE);
cout<<buffer <<endl;
system(“pause”);

}
read and write member functions of cin and cout objects are used respectively to read a sentence from the key board and then print it on the screen.
read and put member functions of cin and cout objects are used respectively to read a sentence from the key board and then print it on the screen.
get and write member functions of cout and cin objects are used respectively to read a sentence from the key board and then print it on the screen.
get and write member functions of cout and cin objects are used respectively to read a sentence from the key board and then print it on the screen.
Which of the following is a source for cout stream?
monitor / screen
keyboard
proccessor
none of these
If we use cin stream to read some value and store it in some integer variable and press some alphabet key instead of numeric keys. then what will happen?
Its binary representation will be ignored and the character will be stored
Its binary representation will be ignored and the value will be stored
Its ASCII code will be stored inside the computer
Some error will occur and cin stream will detect this error.
The endl and flush are _____
Functions
Operators
Manipulators
Objects
What is the difference between cout and cerr ?
cout is unbuffered output and cerr is buffered output
cout is standard output and cerr is not a standard output
cout is not a standard output and cerr is standard output
cout is buffered output and cerr is unbuffered output
The operator function for << (stream insertion) >> and stream extraction must be
Member function of class
Non-member function of class
Both member and non-member function
None of the given options
The pointer returned by the new operator points to ————— of memory chunks allocated by the new operator
First memory address
Second memory address
Last memory address
None of the above
When we used eof (end of file) with the file reading than which of the following is a true statement?
This is way to check source of the stream
This is way to check destination of the stream
This is way to check state of the stream
This is way to check type of the stream
The stream insertion and extraction operators are not already overloaded for ____
Built-in data types
User-defined data types
Both built-in and user-defined types
None of the given options
When a variable is defined as static in a class then ___________
Separate copy of this variable is created for each object
Only one copy is created for all objects of this class
A copy of this variable is created for only static objects.
None of the given options
Static variable which is defined in a function is initialized ________.
Only once during its life time
Every time the function call
Compile time of the program
None of the above