Thursday, April 15, 2021

C Interview Questions

      C Programming Interview Questions



C Programming Interview Questions and Answer

1) What is C language?

C is a mid-level and procedural programming language. The Procedural programming language is also known as the structured programming language is a technique in which large programs are broken down into smaller modules, and each module uses structured code. This technique minimizes error and misinterpretation. 


2) Why is C known as a mother language?

C is known as a mother language because most of the compilers and JVMs are written in C language. Most of the languages which are developed after C language has borrowed heavily from it like C++, Python, Rust, javascript, etc. It introduces new core concepts like arrays, functions, file handling which are used in these languages.


) Why is C called a mid-level programming language?

C is called a mid-level programming language because it binds the low level and high -level programming language. We can use C language as a System programming to develop the operating system as well as an Application programming to generate menu driven customer driven billing system. 


4) Who is the founder of C language?

Dennis Ritchie.


5) When was C language developed?

C language was developed in 1972 at bell laboratories of AT&T. 

6) What are the features of the C language?

The main features of C language are given below:

  • Simple: C is a simple language because it follows the structured approach, i.e., a program is broken into parts
  • Portable: C is highly portable means that once the program is written can be run on any machine with little or no modifications.
  • Mid Level: C is a mid-level programming language as it combines the low- level language with the features of the high-level language.
  • Structured: C is a structured language as the C program is broken into parts.
  • Fast Speed: C language is very fast as it uses a powerful set of data types and operators.
  • Memory Management: C provides an inbuilt memory function that saves the memory and improves the efficiency of our program.
  • Extensible: C is an extensible language as it can adopt new features in the future.

7) What is the use of printf() and scanf() functions?

printf(): The printf() function is used to print the integer, character, float and string values on to the screen.

Following are the format specifier:

  • %d: It is a format specifier used to print an integer value.
  • %s: It is a format specifier used to print a string.
  • %c: It is a format specifier used to display a character value.
  • %f: It is a format specifier used to display a floating point value.

scanf(): The scanf() function is used to take input from the user.

8) What is the difference between the local variable and global variable in C?

Following are the differences between a local variable and global variable:

Basis for comparisonLocal variableGlobal variable
DeclarationA variable which is declared inside function or block is known as a local variable.A variable which is declared outside function or block is known as a global variable.
ScopeThe scope of a variable is available within a function in which they are declared.The scope of a variable is available throughout the program.
AccessVariables can be accessed only by those statements inside a function in which they are declared.Any statement in the entire program can access variables.
LifeLife of a variable is created when the function block is entered and destroyed on its exit.Life of a variable exists until the program is executing.
StorageVariables are stored in a stack unless specified.The compiler decides the storage location of a variable.

9) What is the use of a static variable in C?

Following are the uses of a static variable:

  • A variable which is declared as static is known as a static variable. The static variable retains its value between multiple function calls.
  • Static variables are used because the scope of the static variable is available in the entire program. So, we can access a static variable anywhere in the program.
  • The static variable is initially initialized to zero. If we update the value of a variable, then the updated value is assigned.
  • The static variable is used as a common value which is shared by all the methods.
  • The static variable is initialized only once in the memory heap to reduce the memory usage.

10) What is the use of the function in C?

Uses of C function are:

  • C functions are used to avoid the rewriting the same code again and again in our program.
  • C functions can be called any number of times from any place of our program.
  • When a program is divided into functions, then any part of our program can easily be tracked.
  • C functions provide the reusability concept, i.e., it breaks the big task into smaller tasks so that it makes the C program more understandable.

11) What is the difference between call by value and call by reference in C?

Following are the differences between a call by value and call by reference are:

Call by valueCall by reference
DescriptionWhen a copy of the value is passed to the function, then the original value is not modified.When a copy of the value is passed to the function, then the original value is modified.
Memory locationActual arguments and formal arguments are created in separate memory locations.Actual arguments and formal arguments are created in the same memory location.
SafetyIn this case, actual arguments remain safe as they cannot be modified.In this case, actual arguments are not reliable, as they are modified.
ArgumentsThe copies of the actual arguments are passed to the formal arguments.The addresses of actual arguments are passed to their respective formal arguments.

Example of call by value:

  1. #include <stdio.h>  
  2. void change(int,int);  
  3. int main()  
  4. {  
  5.     int a=10,b=20;  
  6.     change(a,b); //calling a function by passing the values of variables.  
  7.     printf("Value of a is: %d",a);  
  8.     printf("\n");  
  9.     printf("Value of b is: %d",b);  
  10.     return 0;  
  11. }  
  12. void change(int x,int y)  
  13. {  
  14.     x=13;  
  15.     y=17;  
  16. }  

Output:

Value of a is: 10
Value of b is: 20

Example of call by reference:

  1. #include <stdio.h>  
  2. void change(int*,int*);  
  3. int main()  
  4. {  
  5.     int a=10,b=20;  
  6.     change(&a,&b); // calling a function by passing references of variables.  
  7.     printf("Value of a is: %d",a);  
  8.     printf("\n");  
  9.     printf("Value of b is: %d",b);  
  10.     return 0;  
  11. }  
  12. void change(int *x,int *y)  
  13. {  
  14.     *x=13;  
  15.     *y=17;  
  16. }  

Output:

Value of a is: 13
Value of b is: 17

12) What is recursion in C?

When a function calls itself, and this process is known as recursion. The function that calls itself is known as a recursive function.

Recursive function comes in two phases:

  1. Winding phase
  2. Unwinding phase

Winding phase: When the recursive function calls itself, and this phase ends when the condition is reached.

Unwinding phase: Unwinding phase starts when the condition is reached, and the control returns to the original call.

Example of recursion

  1. #include <stdio.h>  
  2. int calculate_fact(int);  
  3. int main()  
  4. {  
  5.  int n=5,f;  
  6.  f=calculate_fact(n); // calling a function  
  7.  printf("factorial of a number is %d",f);  
  8.   return 0;  
  9. }  
  10. int calculate_fact(int a)  
  11. {  
  12.   if(a==1)  
  13.   {  
  14.       return 1;  
  15.   }  
  16.   else  
  17.   return a*calculate_fact(a-1); //calling a function recursively.  
  18.    }  

Output:

factorial of a number is 120

13) What is an array in C?

An Array is a group of similar types of elements. It has a contiguous memory location. It makes the code optimized, easy to traverse and easy to sort. The size and type of arrays cannot be changed after its declaration.

Arrays are of two types:

  • One-dimensional array: One-dimensional array is an array that stores the elements one after the another.

Syntax:

  1. data_type array_name[size];  
  • Multidimensional array: Multidimensional array is an array that contains more than one array.

Syntax:

  1. data_type array_name[size];  

Example of an array:

  1. #include <stdio.h>  
  2. int main()  
  3. {  
  4.    int arr[5]={1,2,3,4,5}; //an array consists of five integer values.  
  5.    for(int i=0;i<5;i++)  
  6.    {  
  7.        printf("%d ",arr[i]);  
  8.    }  
  9.     return 0;  
  10. }  

Output:

1 2 3 4 5



14) What is a pointer in C?

A pointer is a variable that refers to the address of a value. It makes the code optimized and makes the performance fast. Whenever a variable is declared inside a program, then the system allocates some memory to a variable. The memory contains some address number. The variables that hold this address number is known as the pointer variable.

For example:

  1. Data_type *p;  

The above syntax tells that p is a pointer variable that holds the address number of a given data type value.

Example of pointer

  1. #include <stdio.h>  
  2. int main()  
  3. {  
  4.    int *p; //pointer of type integer.  
  5.    int a=5;  
  6.    p=&a;  
  7.    printf("Address value of 'a' variable is %u",p);  
  8.     return 0;  
  9. }  

Output:

Address value of 'a' variable is 428781252

15) What is the usage of the pointer in C?

  • Accessing array elements: Pointers are used in traversing through an array of integers and strings. The string is an array of characters which is terminated by a null character '\0'.
  • Dynamic memory allocation: Pointers are used in allocation and deallocation of memory during the execution of a program.
  • Call by Reference: The pointers are used to pass a reference of a variable to other function.
  • Data Structures like a tree, graph, linked list, etc.: The pointers are used to construct different data structures like tree, graph, linked list, etc.




0 Comments:

Post a Comment

Popular Posts

Recent Posts

Unordered List

Text Widget