Question : Why main function is special in C++ ?
Answer : Whenever a C++ program is executed, execution of
the program starts and ends at
main(). The main is the driver function of the program.
If it is not present in a program, no
execution can take place.
Question : What is run-time error, logical error and
syntax error?
Answer : Syntax error - the errors which are traced by
the compiler during compilation, due to
wrong grammar for the language used in the program, are
called syntax errors.
For example, cin >> a; // instead of extraction
operator insertion operator is used.
Run time Error - The errors encountered during execution
of the program, due to unexpected
input or output are called run-time error.
For example - a=n/0; // division by zero
Logical Error - These errors are encountered when the
program does not give the desired output,
due to wrong logic of the program.
For example : remainder = a+b // instead of using %
operator + operator is used.
Question : What is the role of #include directive in C++?
Answer : The preprocessor directive #include tells the
complier to insert another file into your
source file. In effect, #include directive is replaced by
the contents of the file indicated.
Question : What is compiler and linker?
Answer : Compiler - It is a program which converts the
program written in a programming
language to a program in machine language.
Linker - It is a program which links a complied program
to the necessary library routines, to
make it an executable program.
Question : Why is char often treated as integer data type
in C++ ?
Answer : The memory implementation of char data type is
in terms of the number code.
Therefore, it is said to be another integer data type.
Question : What is type conversation in C++ ?
Answer : When two operands of different data types are
encountered in the same expression, the
variable of lower data type is automatically converted to
the data tpes of variable with higher
data type, and then the expression is calculated.
For example: int a=98; float b=5; cout << a/3.0;
//converts to float type, since 3.0 is of float type.
cout << a/b; // converts a temporarily to float type,
since b is of float type, and gives the result
19.6.
Question : What is type casting in C++ ?
Answer : Type casting refers to the data type conversions
specified by the programmer, as
opposed to the automatic type conversions. This can be done
when the compiler does not do the
conversions automatically. Type casting can be done to
higher or lower data type.
For example : cout << (float)12/5; //displays 2.4,
since 12 is converted to float type.
Question : What is the effect of absence of break in
switch case statement in C++ ?
Answer : The break keyword causes the entire switch
statement to exit, and the control is passed
to statement following the switch.. case construct. Without
break, the control passes to the
statements for the next case. The break statement is
optional in switch..case construct.
Question : In a control structure switch-case what is the
purpose of default in C++ ?
Answer : This keyword gives the switch…case construct a way
to take an action if the value of
the switch variable does not match with any of the case
constants. No break statement is
necessary after default case, since the control is already
at the end of switch..case construct. The
default is optional in case of switch…case construct.
Question : What is the difference between while and
do-while loop in C++ ?
Answer : While is an Entry Controlled Loop, the body of the
loop may not execute even once if
the test expression evaluates to be false the first time,
whereas in do..while, the loop is executed
at least once whether the condition holds true the first
time or not.
Question : What is the difference between call by value
and call by reference in a user defined
function in C++?
Answer : The value of the actual parameters in the calling
function do not get affected when the
arguments are passed using call by value method, since
actual and formal parameters have
different memory locations.
The values of the formal parameters affect the values of
actual parameters in the calling function,
when the arguments are passed using call by reference
method. This happens since the formal
parameters are not allocated any memory, but they refer to
the memory locations of their
corresponding actual parameters
Question : What is preprocessor directive?
Answer : A preprocessor directive is an instruction to the
complier itself. A part of compiler
called preprocessor deals with these directives, before real
compilation process. # is used as
preprocessor directive in C++.
Question : What is the difference between local variable
and global variable?
Answer : Local variables are those variables which are
declared within a function or a
compound statement and these variables can only be used
within that function/scope. They
cannot be accessed from outside the function or a scope of
it‟s declaration. This means that we
can have variables with the same names in different
functions/scope. Local variables are local to
the function/scope in which they are declared.
Global variables are those variables which are declared in
the beginning of the program. They
are not declared within a function. So, these variables can
be accessed by any function of the
program. So, global variables are global to all the
functions of the program.
Question : What is the role of #define in C++?
Answer : It is a preprocessor directive to define a macro in
a C++ program. Macros provide a
mechanism for token replacement with or without a set of
formal, function line parameters. For
example :
#define PIE 3.1416
#define AVG(A,B,C) (A+B+C)/3
Question : What are the major differences between Object
Oriented Programming and
Procedural Programming?
Object Oriented Programming Procedural Programming
Emphasis on data
Emphasis on doing things (function)
Follow bottom up approach in program
design
Follow top-down approach in program
design
Concept of Data hiding prevents accidental
change in the data
Due to presence of global variables, there is
possibilities of accidental change in data.
Polymorphism, inheritance, Data
Encapsulation possible
Not applicable