C AND C++ INTERVIEW QUESTIONS


Most Important Frequently Asked C And C++ Interview Questions




Interview Quesions on C And C++

    1. Question 1. What Is The Difference Between C And C++ ?

      Answer :

      • C is a procedural language on the other hand c++ is an object oriented language.
      • C follows top down approach, c++ follows bottom up approach.
      • C is a low level language, c++ is a middle level language.
      • Input and putput functions differs in the two languages, c uses printf and scanf whereas c++ uses >> and << as input and output operators.
      • C++ can be broken down to solve real world problems which is not the case in c.

    2. Question 2. What Is The Difference Between Declaration And Definition ?

      Answer :

      There are basically two differences between declaration and definition : 

      • In declaration no space is reserved for the variable, declaration only tells about the 'type' of the variable we are using or we will be using int he program.
      • Definition on the other hand reserves the sapce for the variable and some initial value is given to it.
      • Another major difference is that redeclaration is not an error whereas redefinition is an error,
      • In simple words, when we declare no space is reserved for the variable and we can redeclare it in the program
      • On the other hand, when we define a variable some sapce is reserved for it to hold values plus some initial value is also given to it, apart from it we cannot give another definition to the variable, i.e. we cannot define it again.

      Example: 

      extern int x -> is a declaration whereas int y is definition.

    3. Question 3. If You Want To Share Several Functions Or Variables In Several Files Maintaining The Consistency How Would You Share It?

      Answer :

      To maintain the consistency between several files firstly place each definition in '.c' file than using external declarations put it in '.h' file after it is included .h file we can use it in several files using #include as it will be in one of the header files, thus to maintain the consistency we can make our own header file and include it where ever needed.

    4. Question 4. What Do You Mean By Translation Unit?

      Answer :

      A Translation Unit is a set of source files that is seen by the compiler and it translate it as one unit which is generally.file and all the header files mentioned in #include directives.

      When a C preprocessor expands the source file with all the header files the result is the preprocessing translation unit which when further processed translates the preprocessing translation unit into translation unit, further with the help of this translation unit compiler forms the object file and ultimately forms an executable program.

    5. Question 5. Describe Linkages And Types Of Linkages?

      Answer :

      When we declare identifiers within the same scope or in the different scopes they can be made to refer the same object or function with the help of likages. 

      There are three types of linkages: 

      • External linkage 
      • Internal linkage 
      • None linkage

      EXternal Linkages means 'global, non-static' functions or variable.

      Example: extern int a1

      Internal Linkages means static variable and functions. Example: static int a2

      None Linkages means local variables.

      Example : int a3

    6. Question 6. Keeping In Mind The Efficiency, Which One Between If-else And Switch Is More Efficient?

      Answer :

      • Between if-else chain and switch statements, as far as efficiency is concerned it is hard to say that which one is more efficient because both of them posses hardly any difference in terms of efficiency. 
      • Switch can ne converted into if else chain internally by the compiler.
      • Switch statements are compact way of writting a jump table whereas if-else is a long way of writting conditions.
      • Between if-esle and switch statements, switch cases are prefered to be used in the programming as it is a compact and cleaner way of writting conditions in the program.

    7. Question 7. What Are Structures And Unions?

      Answer :

      While handling real world problems we come across situations when we want to use different data type as one, C allows the user to define it own data type known as structures and unions.Structures and unions gathers together different atoms of informations that comprise a given entity.

    8. Question 8. What Is The Difference Between Structures And Unions?

      Answer :

      • Conceptually structures and unions are same, the differnce between them lies in their 'Memory Management' or in simple words the memory required by them.
      • Elements in structures are stored in contiguous blocks, where as in unions the memory is allocated in such a way that the same memory allocated for one variable serves as its memory at one occassion and as memory for another varioable at some other occassion. 
      • Therefore, the basic difference lies in the way mrmory is allocated to both structures and unions.

    9. Question 9. What Do You Mean By Enumerated Data Type?

      Answer :

      Enumerated Data type helps the user in defining its own data type and also gives the user an opportunity to define what values this type can take.

      The use of Enumerated Data Type maily lie when the program get more complicated or more number of programers are workin on it as it makes the program listings more readable.

    10. Question 10. What Are Preprocessor Directives In C?

      Answer :

      The Preprocessor processes the source program before it is passed to the compiler. The features that preprocessor offers are known as Prepsocessor Directives.

      Preprocessing directives are lines in your program that start with `#'. The `#' is followed by an identifier that is the directive name. For example, `#define' is the directive that defnes a macro. Whitespace is also allowed before and after the `#'. A preprocessing directive cannot be more than one line in normal circumstances. Some directive names require arguments.View answers in details

    11. Question 11. How C Functions Prevents Rework And Therefore Saves The Programmers Time As Well As Length Of The Code ?

      Answer :

      As we know that c allows us to make functions and cal them where ever needed, it prevents rework by calling the same function again and again where ever requires intead for example if we make a funtion that adds two numbers, it can be called anywhere in the program where ever the addintion is needed and we do not need to code again for adding any number. 

      It also shortens the length of the program as we do not need to code again the same thing for next time we can simple call the funtion and use it whenever needed.

    12. Question 12. Keyword Mean In Declaration?

      Answer :

      This keyword indicated that the function or the variable is implemented externally and it emphasizes that the variable ot the function exits external to the file or function.

      We use this keyword when we want to make anything global in the project, it does not lie within any function.

    13. Question 13. Can Union Be Self Referenced?

      Answer :

      No, Union cannot be self referenced because it shares a single memory for all of its data members.View answers in details

    14. Question 14. Define Pointers?

      Answer :

      • Pointes are special type of variables that are used to store the memory address of the other variables.
      • Pointers are declared normallt as other variables withe diffrence of * that is present in front of the pointer identifier.
      • There are two operators that are used with the pointers one is '&' and another one is '*'.
      • & is known as address of operator and * is known as dereferncing operator, both are prefix unary operators.

    15. Question 15. Which Format Specifier Is Used For Printing A Pointer Value?

      Answer :

      • %p is used to display the corresponding argument that is a pointer.
      • %x can also be used to print values in hexadecimal form.

    16. Question 16. What Is The Use Of 'auto' Keyword ?

      Answer :

      • The auto keyword declares a local variable whose scope remains within the block of code, it is a variable with the local scope.
      • When we declare a variable with the auto keyword it specify that it belongs to an auto storage class.
      • These variables are visible only within the bolck in which they are declared.
      • These types of variables are not initialised automatically instead need to be initialised xplicitly.

    17. Question 17. What Is The Use Of Register Keyword With The Variables?

      Answer :

      • Register keyword signifies that of possible to store variable in the register than store it in register. 
      • Variables are usually stored in stacks and are passed to and fro to processor whenever required.
      • Also register keyword when used redused code size which is an important thing in embeded system.

    18. Question 18. What Do You Mean By Global Variables?

      Answer :

      These are the variables which remains visible throughout the program and are not recreated when they are recalled.

      These types are by default initialised to zero and allocated memory on Data Segment.View answers in details

    19. Question 19. What Do You Mean By Static Variables?

      Answer :

      Static is an access qualifier that limits the scope of the variable but causes the variable to exist for the lifetime of the program. This means a static variable is one that is not seen outside the function in which it is declared as its scopeis limited to the block of code in which it has been created but its lifespan remains until the program terminates.

      The value of such a variable will remain and may be seen even after calls to a function also the declaration statement of such type of a variable inside a function is executed only once.

    20. Question 20. What Is The Difference Between Global Variables And Static Variables?

      Answer :

      • The scope of the variable describes that the variable is accessible at certain point in the program or not.
      • The difference between global variables and static variables lies in this concept only. 
      • The scope of the global variables remains through out the program also the life span of these variables is through out the program.
      • The scope of the static Variables remains within the block of code in which they are created but the life span remains through out the program.
      • Thus, the main difference is between the scope of both type of variables.



Topic: C And C++ Interview Questions
Interview Quesions on C And C++

No comments:

Post a Comment