Interview Questions

AJAX Interview Questions Android Interview Questions Angular 2 Interview Questions AngularJs Interview Questions Apache Presto Interview Questions Apache Tapestry Interview Questions Arduino Interview Questions ASP.NET MVC Interview Questions Aurelia Interview Questions AWS Interview Questions Blockchain Interview Questions Bootstrap Interview Questions C Interview Questions C Programming Coding Interview Questions C# Interview Questions C++ Interview Questions Cakephp Interview Questions Cassandra Interview Questions CherryPy Interview Questions Clojure Interview Questions Cobol Interview Questions CodeIgniter interview Questions CoffeeScript Interview Questions Cordova Interview Questions CouchDB interview questions CSS Buttons Interview Questions CSS Interview Questions D Programming Language Interview Questions Dart Programming Language Interview Questions Data structure & Algorithm Interview Questions DB2 Interview Questions DBMS Interview Questions Django Interview Questions Docker Interview Questions DOJO Interview Questions Drupal Interview Questions Electron Interview Questions Elixir Interview Questions Erlang Interview Questions ES6 Interview Questions and Answers Euphoria Interview Questions ExpressJS Interview Questions Ext Js Interview Questions F# Interview Questions Firebase Interview Questions Flask Interview Questions Flex Interview Questions Fortran Interview Questions Foundation Interview Questions Framework7 Interview Questions FuelPHP Framework Interview Questions Go Programming Language Interview Questions Google Maps Interview Questions Groovy interview Questions GWT Interview Questions Hadoop Interview Questions Haskell Interview Questions Highcharts Interview Questions HTML Interview Questions HTTP Interview Questions Ionic Interview Questions iOS Interview Questions IoT Interview Questions Java BeanUtils Interview Questions Java Collections Interview Questions Java Interview Questions Java JDBC Interview Questions Java Multithreading Interview Questions Java OOPS Interview Questions Java Programming Coding Interview Questions Java Swing Interview Questions JavaFX Interview Questions JavaScript Interview Questions JCL (Job Control Language) Interview Questions Joomla Interview Questions jQuery Interview Questions js Interview Questions JSF Interview Questions JSP Interview Questions KnockoutJS Interview Questions Koa Interview Questions Laravel Interview Questions Less Interview Questions LISP Interview Questions Magento Interview Questions MariaDB Interview Questions Material Design Lite Interview Questions Materialize CSS Framework Interview Questions MathML Interview Questions MATLAB Interview Questions Meteor Interview Questions MongoDB interview Questions Moo Tools Interview Questions MySQL Interview Questions NodeJS Interview Questions OpenStack Interview Questions Oracle DBA Interview Questions Pascal Interview Questions Perl interview questions Phalcon Framework Interview Questions PhantomJS Interview Questions PhoneGap Interview Questions Php Interview Questions PL/SQL Interview Questions PostgreSQL Interview Questions PouchDB Interview Questions Prototype Interview Questions Pure CSS Interview Questions Python Interview Questions R programming Language Interview Questions React Native Interview Questions ReactJS Interview Questions RequireJs Interview Questions RESTful Web Services Interview Questions RPA Interview Questions Ruby Interview Questions Ruby on Rails Interview Questions SAS Interview Questions SASS Interview Questions Scala Interview Questions Sencha Touch Interview Questions SEO Interview Questions Servlet Interview Questions SQL Interview Questions SQL Server Interview Questions SQLite Interview Questions Struts Interview Questions SVG Interview Questions Swift Interview Questions Symfony PHP Framework Interview Questions T-SQL(Transact-SQL) Interview Questions TurboGears Framework Interview Questions TypeScript Interview Questions UiPath Interview Questions VB Script Interview Questions VBA Interview Questions WCF Interview Questions Web icon Interview Questions Web Service Interview Questions Web2py Framework Interview Questions WebGL Interview Questions Website Development Interview Questions WordPress Interview Questions Xamarin Interview Questions XHTML Interview Questions XML Interview Questions XSL Interview Questions Yii PHP Framework Interview Questions Zend Framework Interview Questions

Top 20 C Programming | Coding Interview Questions for 2022

Most Frequently asked C programming | Coding Interview Questions and answer for Fresher

C is a powerful high-level programming language.  It is a fast, portable and available for all platforms. C is called as mother language of all programming language. It is used for creating a wide range of system applications for different OS like Windows, iOS. It is highly efficient, that's why it is popular for decades. It's a good programming language for those who are new to programming. C clears your entire concept of how a computer works as well as the program. Drivers and kernels of an OS are written in c. It was developed during 1972 by Dennis Ritchie at Bell Labs. It was created for UNIX utilities. In this tutorial, I bring you some most important and asked interview questions and answers. These questions are also important for academic exams as well as competitive exams. Try to make your logic for the programs. Question 1: write a c program to print the leap year from 1 to a given number. Answer-
intleap(int y)
{
if( (y % 400==0)||(y%4==0 && y%100!=0) )
return 1;
else
return  0;
}
intmain()
{#include<stdio.h>
inti,n;
printf("Enter the value of N: ");
scanf("%d",&n);
printf("Leap years from 1 to %d:\n",n);
for(i=1;i<=n;i++)
    {
if(leap(i))
printf("%d\t",i);
    }
return 0;
}
Output-
Enter the value of N:
50

Leap years from 1 to 50:
4          8          12       16       20       24       28       32       36       40       44       48
Question 2: write a c program to read two integers A and B and swap their values. Answer-
#include <stdio.h>
void swap(float *ptr1, float  *ptr2);
void main()
{
float a, b;
printf("Enter the values of A and B \n");
scanf("%f %f", &m, &n);
printf("Before Swapping A = %5.2ftN = %5.2f\n", a, b);
swap(&m, &n);
printf("After Swapping B  = %5.2ftN = %5.2f\n", a, b);
}
void swap(float *ptr1, float *ptr2)
{
float temp;
temp = *ptr1;
    *ptr1 = *ptr2;
    *ptr2 = temp;
}
 Output-
Enter the values of A and B5 6Before Swapping= 5.00    N = 6.00After Swapping = 6.00    N = 5.00
Question 3: write a c program to compute the sum of the digit in a given number. Answer-
#include <stdio.h>
void main()
{
long n, temp, d, sum = 0;
printf("Enter the number \n");
scanf("%ld", &n);
temp = n;
while (n > 0)
    {
digit = n % 10;
sum  = sum + d;
n /= 10;
    }
printf("Given number = %ld\n", temp);
printf("Sum of the digits %ld = %ld\n", temp, sum);
}
Output-
Enter the number
755
Given number= 755
Sum of the digits 755=17
Question 4: write a c program to check whether a number is even or add. Answer- For this program, we will take the input by the user in integer format. And divide that number by 2 with modulus operator (%) if n%2=0 then the number is even otherwise the number is odd.
#include <stdio.h>
int main()
{
int n;
printf("Enter the number: ");
scanf("%d", &n);
if(n % 2 == 0)
printf("%d is even.", n);
else
printf("%d is odd.", n);
return 0;
}
Output-
Enter the number:
25
25 is odd
Question 5- write a c program to check whether a number is a palindrome or not. Answer- For this program, we will get a number from user and reverse it. Compare it with the number taken by the user. If both numbers are equal, then the number is palindrome otherwise not.
#include <stdio.h>
int main()
{
int n, reverse = 0, a;
printf("Enter a number to check for palindrome\n");
scanf("%d", &n);
  a = n;
while (a!= 0)
   {
reverse = reverse * 10;
reverse = reverse + a%10;
      a = a/10;
   }
if (n == reverse)
printf(number is palindrome: %d.\n", n);
else
printf("%d isn't a palindrome number.\n", n);
return 0;
}
Output-
Enter a number to check for palindrome
12121
Number is palindrome: 12121
Question 6: write a c program to calculate Sum & Average of an Array. Answer- For this program, we will create a fixed size array, takes the array elements from the user say n. Iterate the array element by for loop (0 to n).  Perform the sum operation in the loop block. Print the sum. For average print sum/n. This program will take the array element from the user as input and give the sum and average of the array element as output.
#include <stdio.h>
int main()
{
int A[100], n, i, sum = 0;
printf("Enter the number of array element : ");
scanf("%d", &n);
for (i = 0; i< n; i++)
    {
printf("Enter element %d : ", i + 1);
scanf("%d", &A[i]);
sum += A[i];
    }
printf("\n sum of the array elements : %d", sum);
printf("\n average of the array element: %0.2f", (float)sum / n);
return 0;
Output-
Enter the number of array element: 5
Enter element 1 : 10
Enter element 2 : 5
Enter element 3 : 2
Enter element 4 : 4
Enter element 5 : 6
Sum of the array elements: 27
Average of the array elements: 5.40
Question 7:  write a c program to calculate the sum of the array elements using the pointer. Answer- For this program we will create a fixed size array, takes the array elements from the user say n. Iterate the array element by for loop (0 to n).  And assign the array into pointer. Perform the sum operation in the loop block. Print the sum.
#include<stdio.h>
#include<conio.h>
void main() {
            int a[10];
            int n;
            inti, sum = 0;
            int *ptr;
            printf("\n Enter the size of array : ");
            scanf("%d",&n);
            printf(" enter the array element");
            for (i = 0; i< n; i++)
            {
                        scanf("%d", &a[i]);
            }
            ptr = a;
            for (i = 0; i< n; i++)
            {
                        sum = sum + *ptr;
                        ptr++;
            }
            printf("The sum of array elements : %d", sum);
            getch();
}
Output-
Enter the size of array: 5
Enter the array element
1
2
3
4
5
The sum of array elements: 15
Question 8: write a c program for selecting the largest two numbers from an array. Answer- For this program, we will declare a fixed size array let's take it 4, Define elements of an array. We will consider the first and second elements as top two higher number of the array respectively. We will interchange both l1 and I2, if I1 is smaller than I2. We will run ‘for loop' for the remaining element of array, i.e. 3 to 4. Now it will compare with all the elements of the array. We will run the loop till the end, and it will give the actual first and second largest number. See the program for better understanding.
#include <stdio.h>
    #define MAX 4
void main()
    {
int a[MAX], i, l1, l2, temp;
printf("Enter numbers:\n", MAX);
for (i = 0; i< MAX; i++)
        {
scanf("%d", &a[i]);
        }
printf("Input integer are \n");
for (i = 0; i< MAX; i++)
        {
printf("%5d", a[i]);
        }
printf("\n");
        l1 = a[0];
        l2 = a[1];
if (l1 < l2)
        {
temp = l1;
            l1 = l2;
            l2 = temp;
        }
for (i = 2; i< 4; i++)
        {
if (a[i] >= l1)
            {
                l2 = l1;
                l1 = a[i];
            }
else if (a[i] > l2)
            {
                l2 = a[i];
            }
        }
printf("first larger number is %d \n", l1);
printf("second largest number is %d \n", l2);
printf("\n Average of %d and %d = %d \n", l1, l2,
        (l1 + l2) / 2);
    }
Output-
Enter numbers:
5
15
10
12
Input integers are
5 15 10 12
First larger number is 15
Second larger number is 12
Average of 15 and 12 =13
Question 9: write a c program to delete a specific integer from an array. Answer- This program will delete an element from the array list. In this program, we will take the position from the user where he wants to delete an element. Deletion does not affect the size of the array. We will check whether deletion is possible or not. The required program is-
#include <stdio.h>
int main()
{
int a[100], p, i, n;
printf("enter the total number of array element\n");
scanf("%d", &n);
printf("Enter array elements\n");
for (i = 0; i< n; i++)
scanf("%d", &a[i]);
printf("Enter the position where you want to delete\n");
scanf("%d", &p);
if (p >= n+1)
printf("Deletion is not possible.\n");
else
   {
for (i = p - 1; i< n - 1; i++)
a[i] = a[i+1];
printf("new array:\n");
for (i = 0; i< n - 1; i++)
printf("%d\n", a[i]);
   }
return 0;
}
Output-
Enter the total number of array element
5
Enter array elements
12
10
5
14
8
Enter the position where you want to delete
3
New array:
12
10
14
8
Question 10: write a c program to convert the temperature from Celsius to Fahrenheit and vice versa.  Answer- This program will give you a choice for converting from Celsius to Fahrenheit and vice versa. We will proceed using the basic formula of temp conversion. The required program is-
#include <stdio.h>
int main()
{
floatf,c;
int option;
printf("\n1: Fahrenheit to Celsius.");
printf("\n2: Celsius to Fahrenheit.");
printf("\n Select your option (1, 2): ");
scanf("%d",&option);
if(option ==1){
printf("\nEnter temperature(in Fahrenheit): ");
scanf("%f",&f);
        c= (f - 32) / 1.8;
printf("Temperature(in Celsius): %.2f",c);
    }
else if(option==2){
printf("\nEnter temperature (n Celsius): ");
scanf("%f",&c);
        f= (c*1.8)+32;
printf("Temperature(in Fahrenheit): %.2f",f);
    }
else{
printf("\nInvalid option !!!");
    }
return 0;
}
Output-
1: Fahrenheit to Celsius
2: Celsius to Fahrenheit.
  Select your option (1, 2):    1
Enter temperature (in Fahrenheit): 77
Temperature (in Celsius): 25.00
Question 11: write a c program to calculate the gross salary of an employee. Answer- This program will read the name ; basic salary and some other part of salary to calculate the gross salary. The required program is:
#include <stdio.h>
int main()
{
char name[20];
float basic, hra, da, pf, gross;
printf("Enter employee name: ");
gets(name);
printf("Enter  the Basic Salary: ");
scanf("%f",&basic);
printf("Enter HRA: ");
scanf("%f",&hra);
printf("Enter D.A.: ");
scanf("%f",&da);
pf= (basic*12)/100;
gross=basic+da+hra+pf;
printf("\nName: %s \nBASIC: %f \nHRA: %f \nDA: %f \nPF: %f",name,basic,hra,da,pf);
printf("\n***GROSS SALARY: %f ***",gross);
return 0;
}
Output-
Enter employee name: Abhishek
Enter the basic salary: 25000
Enter HRA: 10000
Enter D.A.:9000
Name: Abhishek
Basic: 25000.00
HRA: 10000.00
DA: 9000.00
PF: 3000.00
*** GROSS SALARY: 47000.00 ***
Question 12: write a C program to convert the number from Decimal to Binary. Answer- We can convert any given decimal number in binary. Decimal numbers have base 10 (0 to 1), and binary numbers have base (0 or 1). We will follow the below process for conversion-
  • We will divide the given number by 2 and store the remainder.
  • Again divide by two
  • Repeat the above steps until the number is greater than zero and print the array in reverse order.
By this process, we can convert any decimal number into binary. Example- if the decimal number is 5. 5/2 remainder =1 and new number is 2 A[0]=1 2/2=0 remainder 0 and new number is 1 A[1]=0 A[2]=1 New array is [101] Now reverse this- 101 This is the required binary number for 5. Let's see the below example.
#include<stdio.h>
#include<stdlib.h>
int main(){
int a[10],n,i;
system ("cls");
printf("Enter decimal number: ");
scanf("%d",&n);
for(i=0;n>0;i++)
{
a[i]=n%2;
n=n/2;
}
printf("\n The binary number of the given number is=");
for(i=i-1;i>=0;i--)
{
printf("%d",a[i]);
}
return 0;
}
Output-
Enter decimal number: 5
The binary number of given number is=101
Question 13: write a c program to convert the given binary number into decimal number. In this program we will follow these steps.
  • Take a binary number and store it in the variable n.
  • Initialize the decimal value dec=o and variable base=1.
  • For remainder and quotient we will multiply rem with variable base increment the variable decimal with this new value.
  • Increment the variable base by 2.
  • Repeat this process until the quotient becomes zero.
  • Now the variable dec is our required number.
The required program is-
#include <stdio.h>
void main()
{
int  n, bin, dec= 0, b= 1, rem;
printf("enter the binary number\n");
scanf("%d", &n);
bin= n;
while (n> 0)
    {
rem = n% 10;// for remainder
dec= dec + rem *b;// for quotient
        n = n/ 10 ; //for incrementing the varibale base
        b = b * 2;  // by 2
    }
printf("The required decimal number is %d\n", dec);
}
  Output-
Enter the binary number
1011
The required decimal number is 11
Question 14: how many times the program will print “Tutorialandexample”?
#include<stdio.h>
int main()
{
printf("Tutorialandexample");
main();
return 0;
}
Answer- This program will print “tutorialandexample” till stack overflows, because stack overflow occurs when call the stack (it used too much memory). In the given code,the main() function is called repeatedly and its returned address is stored in the stack. After some time, it will show error like stack overflow because of memory full. Question 15: what will the output of the below program?
#include<stdio.h>
int main()
{
   int n;
   for(n = 5; n!=0; n--)
     printf("n = %d", n--);
   getchar();
   return 0;
}
Answer- Given program will go in infinite loop because n will never be zero because of the loop condition (n!=0). Question 16: what will the output of the below program?
#include <stdio.h>
void main()
{                 
    int a = 25;
    printf("%o %x", a, a);
    getch();
}
Output- This program will give the output as 31 19 because %o is used for octal number and %x is used for hexadecimal number. Octal of 25=31 Hexadecimal of 25=19 Question 17: write a c program to transpose a matrix. Answer- Transpose matrix- Transpose matrix is obtained by interchanging the rows and columns. The transpose of a square matrix remains the same. Transpose of a matrix changes its order. E.g.
1   2    3
4   5    6
Transpose-
1    4
2   5
3   6
C program for transpose of a matrix-
#include <stdio.h>
int main()
{
int a[10][10], t[10][10], row, col, i, j;
printf("Enter the number of rows and columns of matrix: ");
scanf("%d %d", &row, &col);
printf("\nEnter elements of matrix:\n");
for(i=0; i<row; ++i)
for(j=0; j<col; ++j)
        {
printf("Enter the elements a%d%d: ",i+1, j+1);
scanf("%d", &a[i][j]);
        }
printf("\nGiven Matrix: \n");
for(i=0; i<row; ++i)
for(j=0; j<col; ++j)
        {
printf("%d  ", a[i][j]);
if (j == col-1)
printf("\n\n");
        }
for(i=0; i<row; ++i)
for(j=0; j<col; ++j)
        {
t[j][i] = a[i][j];
        }
printf("\nTranspose of Matrix:\n");
for(i=0; i<col; ++i)
for(j=0; j<row; ++j)
        {
printf("%d  ",t[i][j]);
if(j==row-1)
printf("\n\n");
        }
return 0;
}
Output-
Enter the number of rows and columns of matrix:
2
2
Enter elements of matrix:
Enter the elements a11: 8
Enter the elements a12: 9
Enter the elements a21: 3
Enter the elements a22:  5
Given matrix:
8   9
3   5
Transpose of matrix:
8   3
9   5
Question 18: write a c program for multiplying two matrices. Answer- Multiplying a matrix by another matrix- For two matrix multiplication, we need “dot product” of rows and columns. The “dot product” is where we multiply matching number (row or column), then sum up. Dot Products C programming coding (1, 2, 3)*(7, 9, 11) =1*7+2*9+3*11=58 (1, 2, 3)*(8, 10, 12) =1*8+2*10+3*12=64 (4, 5, 6)*(7, 9, 11) = 4*7+5*9+6*11=139 (4, 5, 6) *(8, 10, 12) =4*8+5*10+6*12=154 Resultant matrix will be- Matric C Programming  C program for matrix multiplication-
#include <stdio.h>
int main()
{
int r1, c1, r2, c2, c, d, k, sum = 0;
int a1[10][10], a2[10][10], mul[10][10];
printf("Enter number of rows and columns of first matrix\n");
scanf("%d%d", &r1, &c1);
printf("Enter elements of first matrix\n");
for (c = 0; c < r1; c++)
for (d = 0; d < c1; d++)
scanf("%d", &a1[c][d]);
printf("Enter number of rows and columns of second matrix\n");
scanf("%d%d", &r2, &c2);
if (c1 != r2)
printf("The matrices can't be multiplied with each other.\n");
else
  {
printf("Enter elements of second matrix\n");
for (c = 0; c < r2; c++)
for (d = 0; d < c2; d++)
scanf("%d", &a2[c][d]);
for (c = 0; c < r1; c++) {
for (d = 0; d < c2; d++) {
for (k = 0; k < r2; k++) {
sum = sum + a1[c][k]*a2[k][d];
        }
mul[c][d] = sum;
sum = 0;
      }
    }
printf("Product of the matrices:\n");
for (c = 0; c < r1; c++) {
for (d = 0; d < c2; d++)
printf("%d\t", mul[c][d]);
printf("\n");
    }
  }
return 0;
}
}
Output-
Enter number of rows and columns of first matrix
2
3
Enter elements of first matrix
1
2
3
4
5
6
Enter number of rows and columns of second matrix
3
2
Enter elements of second matrix
7
8
9
10
11
12
Product of the matrices:
58      64
139   154
  Question 19: write a c program to verify the string is palindrome or not. Answer- Required program is-
#include<stdio.h>
#include <string.h>
int main()
{
char a1[50], a2[50];
printf("Enter a string \n");
gets(a1);
strcpy(a2, a1);  // Copying
strrev(a2); //reversing
if (strcmp(a1, a2) == 0)
printf("given string is :palindrome.\n");
else
printf("Given string isn't :palindrome.\n");
return 0;
}
Output- Enter a string Asharahsa Given String is :palindrome Question 20: write a c program to print the source code as output. Answer- It is possible to print source code as output. It's a trick by using file handling. It is possible because of a predefined macro in c _FILE_ containing the location of a C programming file.
#include <stdio.h>
int main(void)
{
    FILE *f;
char c;
    f = fopen(__FILE__, "r");
do
    {
        c=fgetc(f);
putchar(c);
    }
while(c!=EOF);
fclose(f);
return 0;
}
Output-
#include <stdio.h>
int main(void)
{
    FILE *f;
char c;
    f = fopen(__FILE__, "r");
do
    {
        c=fgetc(f);
putchar(c);
    }
while(c!=EOF);
fclose(f);
return 0;
}



ADVERTISEMENT
ADVERTISEMENT