0% found this document useful (0 votes)
251 views16 pages

Fresherinfo - C Language Interview Question and Answers For TCS, Wipro, Infosys

This document provides interview questions and answers related to the C programming language for positions at companies like TCS, Wipro and Infosys. It includes 25 questions covering topics such as data types, pointers, arrays, structures, classes, inheritance and more. The questions range from basic concepts to more advanced topics and provide explanations for each answer.

Uploaded by

Sidram Jatti
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
251 views16 pages

Fresherinfo - C Language Interview Question and Answers For TCS, Wipro, Infosys

This document provides interview questions and answers related to the C programming language for positions at companies like TCS, Wipro and Infosys. It includes 25 questions covering topics such as data types, pointers, arrays, structures, classes, inheritance and more. The questions range from basic concepts to more advanced topics and provide explanations for each answer.

Uploaded by

Sidram Jatti
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

fresherinfo

THIS fresherinfo ARE USEFUL TO HELP THEM TO LEARN ABOUT THE ALL ASPECTS OF THE THINGS
RELATED TO YOUR CAREER AS JOBs COLLEGES SUBJECTS INFO .

C Language Interview Question and Answers for tcs,wipro,infosys

C Language
Interview Question and Answers for tcs,wipro,infosys
1. What is C language?
C is a programming language developed at AT & T's Bell
Laboratories of
USA in 1972.The C programming language is a standardized
programming language developed in the early 1970s by Ken Thompson
and Dennis
Ritchie for use on the UNIX operating system. It has since
spread to many
other operating systems, and is one of the most widely
used programming
languages

2. What are the types of constants in c?


C
constants can ba divided into two categories :

§  Primary
constants

§  Secondary
constants

3. What are the types of C intructions?


Now
that we have written a few programs let us look at the instructions
that we
used in these programs. There are basically three types of
instructions in C
:

§  Type
Declaration Instruction

§  Arithmetic
Instruction

§  Control
Instruction

4. What is a pointer?
Pointers are variables which stores the address of another
variable. That
variable may be a scalar (including another pointer), or an
aggregate
(array or structure). The pointed-to object may be part of a larger
object,
such as a field of a structure or an element in an array.

5. What is the difference between arrays and pointers?


Pointers are used to manipulate data using the
address. Pointers use •
operator to access the data pointed to by them.

Arrays is a collection of similar datatype.


Array use subscripted variables
to access and manipulate data. Array
variables can be Equivalently
written using pointer expression.
123456789

. What is “this”s pointer?

The this pointer is a pointer accessible only within the member


functions of a class, struct, or
union type. It points to the object for
which the member function is called. Static member
functions do not have a
this pointer.

7. What are the uses of a pointer?

Pointer is used in the following cases


§  It
is used to access array elements.

§  It
is used for dynamic memory allocation.

§  It
is used in Call by reference.

§  It
is used in data structures like trees, graph, linked list etc.

8. What is the purpose of main() function?

The function main() invokes other functions within it.It is the


first function to be called when the
program starts execution.

§  It is
the starting function.

§  It
returns an int value to the environment that called the program.

§  Recursive
call is allowed for main( ) also.

§  It is a
user-defined function.

9. What are the different storage classes in C?

There
are four types of storage classes.

§  Automatic

§  Extern

§  Regiter
§  Static

10. Define inheritance?

Inheritance is the process by which objects of one class acquire


properties of objects of another
class.

123456789

. Define destuctors?

A destructor is called for a class object when that object


passes out of scope or is explicitly
deleted.A destructors as the name
implies is used to destroy the objects that have been created
by a
constructors.Like a constructor , the destructor is a member function whose
name is the
same as the class name but is precided by a tilde.

12. What is a structure?

Structure constitutes a super data type which represents several


different data types in a single
unit. A structure can be initialized if it
is static or global.

13. What is message passing?

An object oriented program consists of a set of objects that


communicate with each other.
Message passing involves specifying the name of
the object, the name of the function and the
information to be sent.

14. Define Constructors?

A constructor is a member function with the same name as its


class. The constructor is invoked
whenever an object of its associated class
is created.It is called constructor because it
constructs the values of data
members of the class.

15. What is the use of default constructor?

A constructors that accepts no parameters is called the default


constructor.If no user-
defined constructor exists for a class A and one is
needed, the compiler implicitly declares
a default parameterless constructor
A::A(). This constructor is an inline public member of
its class. The
compiler will implicitly define A::A() when the compiler uses this
constructor
to create an object of type A. The constructor will have no
constructor initializer and a null
body.

What is a macro?

Macros are the identifiers that represent statements or


expressions. To
associate meaningful identifiers with constants, keywords,
and statements or
expressions.
17. What is arrays?

Array is a variable that hold multiple elements which has the


same data type.

18. What is the difference between #include‹ › and #include “ ”?

#include‹ › ----> Specifically used for built in header


files.

#include “ ” ----> Specifically used for used for user defined/created n


header file.

19. What are the advantages of the functions?

§  It
reduces the Complexity in a program by reducing the code.

§  Function
are easily understanding and reliability and execution is faster.

§  It also
reduces the Time to run a program.In other way,Its directly proportional to
Complexity.

§  Its
easy to find-out the errors due to the blocks made as function definition
outside the main
function.

20. How do declare an array?

We can declare an array by specify its data type, name and the
number of
elements the array holds between square brackets immediately
following
the array name.

syntax : 

data_type array_name[size];

What are the differences between structures and union?

A structure variable contains
each of the named members,
and its size is large enough to
hold all the members. Structure
elements are
of same size.

A Union contains one of the


named members at a given
time and is large
enough to
hold the largest member. Union
element can be of different
sizes.

22. What is the difference between arrays and pointers?

Array is
collection of similar datatype. it is a static memory allocation means we can
not
increment and decrement the arry size once we allocated. and we can not
increment the base
address, reassign address.

Pointer is a
dynamic memory allocation. we can allocate the size as we want, assigning
into
another variable and base address incrementation is allowed.

23. What is dynamic binding?

Dynamic binding (also known as late binding) means that the code
associated with a given
procedure call is not known until the time of the
call at run time.It is associated with
polymorphism and inheritance.

24. what is an abstract base class?

An abstract class is a class that is designed to be specifically


used as a base class. An abstract
class contains at least one pure virtual
function.

25. What is the difference between class and structure?

§  By
default, the members ot structures are public while that tor class is
private.

§  structures
doesn’t provide something like data hiding which is provided by the classes.

§  structures
contains only data while class bind both data and member functions.

1234567891011121314

What is
static
identifier?

A file- scope variable that is declared static is visible only


to functions within that file. A
function -scope or block-scope variable that
is declared as static is visible only within that
scope.Further more, static
variables only have a single instance. In the case of function- or
block-scope variables, this means that the variable is not “automatic” and
thus retains its
value across function invocations.

27. What is a dynamic constructor?

The constructor can also be used to allocate memory while


creating objects. Allocation of
memory to objects at the time of their
construction is known as dynamic construction of
objects.The memory is
allocated with the help of the new operator.

28. What is the difference between an Array and a List?

The main difference between an array and a list is how they


internally store the data. whereas
Array is collection of homogeneous
elements. List is collection of heterogeneous elements.
29. What are the advantages of inheritance?

§  Code
reusability

§  Saves
time in program development.

30. what is difference between function overloading and operator


overloading?

A function is overloaded when same name is given to different


function.

While overloading a function, the return type of the functions need to be the
same.

123456789101112131415

Define
a
class?

A class represents description of objects that share same


attributes and actions. It defines the
characteristics of the objects such as
attributes and actions or behaviors. It is the blue print that
describes
objects.

32. What is the term Polymorphism?

To override a method, a subclass of the class that originally


declared the method must declare a
method with the same name, return type (or
a subclass of that return type), and same parameter
list.

33. What is Overriding?

The main difference between an array and a list is how they


internally store the data. whereas
Array is collection of homogeneous
elements. List is collection of heterogeneous elements.

34. What is encapsulation?

Containing and hiding information about an object, such as


internal data structures and code.
Encapsulation isolates the internal
complexity of an object’s operation from the rest of the
application.

35. What is a pointer variable?

A pointer variable is a variable that may contain the address of


another variable or any valid address in the memory.

37. What is the difference between a NULL Pointer and a NULL


Macro?

Null pointer is a pointer that is pointing nothing while NULL


macro will used for replacing 0 in
program as #define NULL 0 .
38. What is the difference between const char*p and char const* p?

const char*p - p is pointer to the constant character. i.e value


in that address location is
constant.

const char* const p - p is the constant pointer which points to the constant
string, both value and
address are constants.

39. What is the purpose of realloc()?

Realloc(ptr,n)
function uses two arguments.

§  The
first argument ptr is a pointer to a block of memory for which the size is
to
be altered.

§  The
second argument n specifies the new size.The size may be increased or
decreased.

What is the use of typedef?

The typedef help in easier modification when the programs are


ported
to another machine.A descriptive new name given to the existing data
type may be easier to understand the code.

42. What are the differences between new and malloc?

§  New
initializes the allocated memory by calling the constructor. Memory allocated
with new should
be released with delete.

§  Malloc
allocates uninitialized memory.

§  The
allocated memory has to be released with free.new automatically calls the
constructor while
malloc(dosen’t)

43. What is the difference between strdup and strcpy?

Both copy a string. strcpy wants a buffer to copy into. strdup


allocates a buffer using malloc().

Unlike strcpy(), strdup() is not specified by ANSI.

44. What is this pointer?

It is a pointer that points to the current object. This can be


used to access the members of the
current object with the help of the arrow
operator.

45. What is friend function?


The function declaration should be preceded by the keyword
friend.The function definitions
does not use either the keyword or the scope
operator ::. The functions that are declared with
the keyword friend as
friend function.Thus, a friend function is an ordinary function or a
member
of another class.

What is recursion?

A recursion function is one which calls itself either directly


or indirectly it
must halt at a definite point to avoid infinite recursion.

47. What are the characteristics of arrays in C?

§  An
array holds elements that have the same data type.

§  Array elements
are stored in subsequent memory locations

§  Two-dimensional
array elements are stored row by row in subsequent memory locations.

§  Array
name represents the address of the starting element

48. What is the differentiate between for loop and a while loop?
What are it uses?

For executing a set of statements fixed number of times we use


for loop while when the number
of iterations to be performed is not known in
advance we use while loop.

49. What is the difference between printf(...) and sprintf(...)?

printf(....) -------------> is standard output statement 

sprintf(......)-----------> is formatted output statement.

50. What is an explicit constructor?

A conversion constructor declared with the explicit keyword. The


compiler does not
use an explicit constructor to implement an implied
conversion of types. It’s purpose
is reserved explicitly for
construction.Explicit constructors are simply constructors
that cannot take
part in an implicit conversion.

What is the difference between malloc and calloc?

malloc is use for memory allocation


and initialize garbage
values.malloc ()
for allocating the single block of
memory.

where as calloc is same as malloc but


it initialize 0 value.calloc () for
allocating multiple blocks of memory.
57. What is null pointer?

NULL pointer is a pointer which is pointing to nothing. 

Examples : 

int *ptr=(char *)0;

float *ptr=(float *)0;

58. How are pointer variables initialized?

Pointer
variable are initialized in two ways :

§  Static
memory allocation

§  Dynamic
memory allocation

59. What is copy constructor?

Copy constructor is a constructor function with the same name as


the class and used to make
deep copy of objects.

60. What is the difference between #include‹ › and #include “ ”?

#include‹ › ----> Specifically used for built in header


files.

#include “ ” ----> Specifically used for used for user defined/created n


header file.

12345678910111213141

What is
dynamic
array?

The dynamic array is an array data structure which can be


resized during runtime which
means elements can be added and removed.

62. What are macros? What are its advantages and disadvantages?

Macros are abbreviations for lengthy and frequently used


statements. When a macro is called the
entire code is substituted by a single
line though the macro definition is of several lines.

The advantage of macro is that it reduces the time taken for


control transfer as in case of function.

The disadvantage of it is here the entire code is substituted so the program


becomes lengthy if a
macro is called several times.

63. What is a copy constructor and when is it called?

A copy constructor is a method that accepts an object of the


same class and copies it members
to the object on the left part of
assignement.
64. Where is the auto variables stored?

Auto variables can be stored anywhere, so long as recursion


works. Practically, they’restored on
the stack. It is not necessary that
always a stack exist. You could theoretically allocate function
invocation
records from the heap.

65. What is the difference between arrays and linked list?

An array is a repeated pattern of variables in contiguous


storage. A linked list is a set of
structures scattered through memory, held
together by pointers in each element that point to the
next element. With an
array, we can (on most architectures) move from one element to the next
by
adding a fixed constant to the integer value of the pointer. With a linked
list, there is a “next”
pointer in each structure which says what element
comes next.

What are
register
variables?
What are
the
advantages
of using
register
variables?

If a variable is declared with a register storage class,it is


known as register variable.The
register variable is stored in the cpu
register instead of main memory.Frequently used
variables are declared as
register variable as it’s access time is faster.

67. What is problem with Runtime type identification?

The run time type identification comes at a cost of performance


penalty. Compiler maintains the
class.

68. What is conversion operator?

You can define a member function of a class, called a conversion


function, that converts from
the type of its class to another specified type.

69. What is a pointer value and address?

A pointer value is a data object that refers to a memory


location, bach memory location is
numbered in the memory. The number attached
to a memory location is called the address of
the location.
70. What is a static function?

A static function is a function whose scope is limited to the


current source file. Scope refers to
the visibility of a function or
variable. If the function or variable is visible outside of the current
source file, it is said to have global, or external, scope. If the function
or variable is not visible
outside of the current source file, it is said to
have local, or static, scope.

What is
storage
class?
What
are the
different
storage
classes
in C?

Storage class is an attribute that changes the behavior of a


variable. It controls the
lifetime,scope and linkage. The storage classes in
c are auto, register, and extern, static,
typedef.

72. What the advantages of using Unions?

When the C compiler is allocating memory for unions it will


always reserve enough room for the
largest member.

73. What is the difference between Strings and Arrays?

String is a sequence of characters ending with NULL .it can be


treated as a one dimensional
array of characters terminated by a NULL
character.

74. What is a huge pointer?

Huge pointer is 32bit long containing segment address and offset


address. Huge pointers are
normalized pointers so for any given memory
address there is only one possible huge address
segment : offset pair. Huge
pointer arithmetic is doe with calls to special subroutines so its
arithmetic
slower than any other pointers.

75. In C, why is the void pointer useful? When would you use it?

The void pointer is useful because it is a generic pointer that


any pointer can be cast into and
back again without loss of information.
What is
generic
pointer
in C?

In C void* acts as a generic pointer. When other pointer types


are assigned to generic
pointer,conversions are applied automatically
(implicit conversion).

77. How pointer variables are initialized?

Pointer
variables are initialized by one of the following ways.

§  Static
memory allocation

§  Dynamic
memory allocation

78. What are the advantages of auto variables?

§  The
same auto variable name can be used in different blocks.

§  There
is no side effect by changing the values in the blocks.

§  The
memory is economically used.

§  Auto
variables have inlierent protection because of local scope.

79. What is dynamic memory allocation?

A dynamic memory allocation uses functions such as malloc() or


calloc() to get memory
dynamically. If these functions are used to get memory
dynamically and the values returned by
these function are assigned to pointer
variables, such a way of allocating memory at run time is
known as dynamic
memory allocation.

80. What is the purpose of realloc?

It increases or decreases the size of dynamically allocated


array. The function realloc (ptr,n) uses
two arguments. The first argument
ptr is a pointer to a block of memory for which the size is to
be altered.
The second argument specifies the new size. The size may be increased or
decreased. If sufficient space is not available to the old region the
function may create a new
region.

What is
pointer
to a
pointer?

If a pointer variable points another pointer value. Such a


situation is known as a pointer to a
pointer.

Example : int *p1,

**p2,

v=10;P1=&v; p2=&p1;

Here p2 is a pointer to a pointer.

82. What is the difference between linker and linkage?

Linker converts an object code into an executable code by


linking together the necessary built in
functions. The form and place of
declaration where the variable is declared in a program
determine the linkage
of variable.

83. What is a function?

A large program is subdivided into a number of smaller programs


or subprograms. Each
subprogram specifies one or more actions to be performed
for the larger program. Such sub
programs are called functions.

84. What is an argument?

An argument is an entity used to pass data from the calling to a


called function.

85. What are built in functions?

The functions that are predefined and supplied along with the
compiler are known as built in
functions. They are also known as library functions.

Can a
Structure
contain a
Pointer
to itself?

Yes such structures are called self-referential structures.

87. What is the difference between array and pointer?

Array
§  Array
allocates space automatically.

§  It
cannot be resized

§  It
cannot be reassigned.
§  size of
(arrayname) gives the number of bytes occupied by the array.

Pointer
§  Explicitly
assigned to point to an allocated space.

§  It can
be sized using realloc() 3-pointer can be reassigned.

§  sizeof
(p) returns the number of bytes used to store the pointer variable p.

88. What is the difference between syntax vs logical error?

Syntax Error
§  These
involves validation of syntax of language.

§  compiler
prints diagnostic message.

Logical Error
§  logical
error are caused by an incorrect algorithm or by a statement mistyped in such
a way that it
doesn’t violet syntax of language.

§  difficult
to find.

89. What is preincrement and post increment?

++n (pre increment) increments n before its value is used in an


assignment operation or any
expression containing it. n++ (post increment)
does increment after the value of n is used.

90. What are the two forms of #include directive?

#include“filename”

#include - the first form is used to search the directory that contains the
source file.If
the search fails in the home directory it searches the
implementation defined
locations.In the second form ,the preprocessor
searches the file only in the
implementation defined locations.

What is the difference between the functions memmove() and


memcpy()?

The arguments of
memmove() can
overlap in memory.
The arguments
of
memcpy() cannot.

92. what is a stream?

A stream is a source of data or destination of data that may be


associated with a disk or other
I/O device. The source stream provides data
to a program and it is known as input stream. The
destination stream eceives
the output from the program and is known as output stream.

93. What is meant by file opening?

The action of connecting a program to a file is called opening


of a file. This requires creating an
I/O stream before reading or writing the
data.

94. What is a file pointer?

The pointer to a FILE data type is called as a stream pointer or


a file pointer. A file pointer points
to the block of information of the
stream that had just been opened.

95. What are the advantages of using array of pointers to string


instead of an array of strings?

Efficient use of memory.

Easier to exchange the strings by moving their pointers while sorting.

What are
the pointer
declarations
used in C?

§  Array
of pointers, e.g , int *a[10]; Array of pointers to integer

§  Pointers
to an array,e.g , int (*a)[10]; Pointer to an array of into

§  Function
returning a pointer,e.g, float *f( ) ; Function returning a pointer to float

§  Pointer
to a pointer ,e.g, int **x; Pointer to apointer to int

§  pointer
to a data type ,e.g, char *p; pointer to char

wwwcareercomcom.blogspot.in

No comments:

Post a Comment

Home
View web version

Powered by Blogger.

About Me
Unknown

View my complete profile

You might also like