C Tutorial

C Tutorial C Language Environment Setup Execution flow of C program C printf and Scanf C Data type C Token Variable in C Operators in C Comments in C Escape Sequence in C C – Storage Classes C Decision control statement Loop Statement in C Break, continue and goto statement in C Type Casting in C Function in C Recursion in C String in C C Array Pointer in C Dynamic memory allocation C –Structure Nested Structure in C Union in C File Handling in C C pre-processor Static Function In C Sizeof In C Selection Sort In C Scope Of Variables In C Runtime Vs Compile Time In C Random Access Lseek In C Queue Implementation In C Pseudo Code In C Prototype In C Pointer To Pointer In C Pointer Arithmetic In C Passing Array To Function In C Null Character In C Merge Sort In C Macros In C Library Functions In C Memory Leak In C Int In C Goto And Labels In C Fibonacci Series In C Fflush In C Derived Data Types In C Data Types In C Const Vs Volatile In C Character Set In C Character Class Tests In C Calloc In C C Pointers Arrays In C Include In C Clrscr In C C Vs Java String Literals In C Types Of Pointers In C Variables In C Volatile In C Why C Is A Middle Level Language Infix To Postfix Program In C Ceil function in C LCM of two numbers in C Quick sort in C Static in C function pointer as argument in C Top Array Keywords in C Add two numbers using the function in C Armstrong program in C using function Array, Declaring Arrays and Array Initialization Limitations of Inline Function in C Merge and Merge sort with example in C Do-While Loop in C For Loop in C While-Loop in C Difference between while and do-while loop in C Array Of Structures in C Data Structures And Algorithms in C Types Of Structures In C How to Avoid Structure Padding in C Use of Structure in C Do WHILE LOOP in C Programming Examples For Loop in C Programming Examples Entry Control Loop in C Exit control loop in C Infinite loop in C Nested loop in C pow() function in C String Handling functions in C Prime Number code in C Factorial Program in C using For Loop Factorial Program in C Using While Loop Fibonacci Series in C Using For Loop Fibonacci series in C using while loop Prime Number Program in C using for Loop While Loop in C programming examples Built-in functions in C Assert() Function C vs Java Strings Call Back Function in Embedded C Else If Ladder fgets() function Ftell() Function getc() function getch() function gets() function Heap Sort Nested if-else statement Pi() Function Positioning of file Write() function abs() function in C Attributes in C C program to find factorial of a number using Recursion Ferror() in c fopen() function in C Fibonacci series program in C using Recursion Formatted Input and output function in C Snake Game in C User Defined Functions in C Beep() function in C Cbrt() function in C Hook() function in C Isalnum() function in C C Program to find the Roots of a Quadratic Equation C Switch Statements Difference between rand() and srand() function in C Difference between while and for loop in C Doubly Linked list in C Example of Iteration in C How to use atoi() function in C How to use floor() function in C How to use sine() function in C How to use Typedef Struct in C Integer Promotions in C C Program Swap Numbers in cyclic order Using Call by Reference C Program to Find Largest Number Using Dynamic Memory Allocation C Program to Find the Largest Number using Ternary Operator C/C++ Program to Find the Size of int, float, double and char Find the Largest Three Distinct Elements in an Array using C/C++ Loop Questions in C Modulus on Negative Numbers in C Multiplication table program in C using For loop Nested Loops in C Programming Examples C Program for Mean and Median of an Unsorted Array Results of Comparison Operations in C and C++ Reverse a Stack using Recursion in C Simple hash() function in C strcat() Function in C Sum of N numbers in C using For loop Use of free() function in C Write a program that produces different results in C and C++ C Function Argument and Return Values Keywords in C Bank management system in C Calendar application in C Floor() Function in C Free() Function in C How to delete a file in C How to move a text in C Remove an element from an array in C Unformatted input() and output() function in C What are linker and loader in C SJF Scheduling Program in C Socket Programming in C Structure in C Tower of Hanoi in C Union Program in C Variable Declaration in C What is Linked List in C While Loop Syntax in C fork() in C GCD program in C Branching Statements in C Comma Operator in C Control statement in C Double Specifier in C How to create a binary file in C Long int in C Palindrome Number in C Pure Virtual Function in C Run Time Polymorphism in C Types of Array in C Types of Function in C What is a buffer in C What is required in each C Program Associativity of Operators in C Bit Stuffing Program in C Actual and Formal Parameters Addition of two Numbers in C Advantages of function in C Arithmetic Progression Program in C Binomial Coefficient Program in C Difference between Array and List in C Diffie-Hellman Algorithm in C How to convert a number to words in C How to convert a string to hexadecimal in C Difference between If and Switch Statement in C C and C++ Binary Files C program that does not Suspend when Ctrl+Z is Pressed Different ways to Declare the Variable as Constant in C Range of Int in C C Program to find the size of a File FIFO Example in the C Language For loop in C Programming GCD program of two numbers in C GPA Calculator in C How to Calculate Time Complexity in C How to include graphics.h in C How to measure time taken by a function in C How to return a Pointer from a Function in C What is the main in C Addition of Matrix in C Booleans in C C Program for Extended Euclidean algorithms C Program of Fencing the Ground Ceil and Floor in C Compound Interest Program in C Displaying Array in C Distance Vector Routing Protocol Program in c Dos.h Header File in C Language DSA Program in C Explain the two-way selection in C Fee Management System in C File Operations in C Malloc function in C Multiplication Table in C Simple Programs in C Language tolower() Function in C Type Conversion in the C Why does sizeof(x++) not Increment x in C Advantages of Dynamic Memory Allocation in C Armstrong Number in C Assignment Operator Program in C Banker’s Algorithm in C Binary Search in C with Best and Worst Time Complexity Caesar Cipher Program in C Call by Value and Call by Reference in C Conditional Operator in C CRC Program in C Deadlock Detection Program in C Decimal to Binary in C Difference between If Else and Nested If Else in C Difference between Pre-increment and Post-increment in C Difference between Scope and Lifetime in C Evaluation of Arithmetic Expression in C Explain the Increment and Decrement Operators in C Fseek Function in C Functions in C How to Find Square Free Numbers in C Length of an Array Function in C OpenGL in C Projects on C language in 2023 Purpose of a Function Prototype in C Stdio.h in C Two-Dimensional array in C What is String Comparison in C C Compilers for Windows Functions and Recursion in C How to Declare Boolean in C How to Declare Character in C How to Round up a number in C How to use strlen() in C Pointer Declaration in C Algorithm for String Palindrome in C C Program to find ASCII value of a character Constant Pointer in C How to find string length in C using strlen() function Implicit and Explicit in C Indirect Recursion in C Input and Output functions in C isupper() in C Jump Statement in C Lifetime of a Variable in C Linker Error in C Language Numeric Constant in C Size of Pointer in C Square Root in C Language Static and Dynamic Memory allocation String Declaration in C Strong Number in C Symmetric Matrix in C Types of C Tokens What is a Size of Pointer in C What is Increment and Decrement Operator in C 1 2 3 4 Series Program in C Advantages and Disadvantages of C Language C Program for Polynomial Addition C Program to Count the Number of Vowels in a String C Programming Errors and Solutions Compilation Errors in C Complex C Programs Difference between Argument and Parameter in C Difference between char s[] and char *s in C Evaluation of Postfix Expression Using Stack in C Find Leftmost and Rightmost Set Bit of a Number fprintf and fscanf in C Introduction to Dynamic Array in C Print Address in C Realloc function in C Ternary Operators in C Types of Tokens in C with Examples Difference between Static and Dynamic Memory Allocation in C Addition Program in C Array Definition in C Array of Pointers in C Arrow Operator in C Average of Two Numbers in C Binary to Decimal in C Binary to Octal in C BREAK STATEMENT in C C Programming Operators Questions C Programs Asked in Interview Calculator Program in C C Program to Read and Print an Employee's Detail Using Structure Bubble Sort Algorithm in C C Program to Find Area and Perimeter of Circle C Program to Check Whether a Given Number is Even or Odd C in Roman Numerals C Program to Make a Simple Calculator Using Switch Case Insertion Sort Program in C How to take input in string in C GCC Conflicting Types in C Function Definition in C Format Specifier for Hexadecimal in C Flowchart in C Float in C Fizzbuzz Implementation in C Conditional Statement in C Conio.h functions list in C Constants in C Dynamic Array in C Decision Making Statements in C Continue Statement in C Creation of Thread in C DFS Algorithm in C Difference between parameter and arguments in C Dijkstra's Algorithm in C Leap Year Program in C Jump Statements in C Modulus Operator in C Memory Allocation in C Simple Interest Program in C Reverse Array in C Recursive Function in C Queue in C Printing Pascal’s Triangle in C Preprocessor Directives in C Perror() in C Perfect Number in C Programming Language Parameter Passing Techniques in C Pascal Triangle in C Patterm Program in C

C Programs Asked in Interview

For the creation of diverse software applications, systems, and embedded devices, C programming is a popular programming language. Technical interviews that test a candidate's proficiency in C programming are common for aspiring programmers searching for work in the software sector. We'll talk about a few typical C programs that come up in interviews and offer tips on how to handle them in this article.

Let’s discuss the most important and commonly asked c programs in interviews.

Commonly Asked C Program in Interviews

The Sum of Digits of a Number

The assignment is to create a program that computes a number's digit sum. The program must take each digit out of the number and add them all up to determine the total sum.

The answer to this query reveals how well a candidate comprehends loops, mathematical operations, and the fundamentals of programming logic.

Let’s understand with an example:

Suppose the number given is 3245. We have to sum all the digits, i.e., 3,2,4,5, So the output should be 14.

Here is the code of this question in C.

Example:

#include <stdio.h>
int digitSum(int x) {
 int sum = 0;
 while (x != 0) {
 int digit = x % 10; // Here, the remainder gives the last digit of the number
 sum += digit; // Add the remainder to the sum
x /= 10; // Reassign the number by removing the last digit
 }
 return sum;
}
int main() {
 int n = 2345;
 int result = digitSum(n);
printf("Total sum of digits of the given number is: %d\n", n, result);
 return 0;
}

Output:

The output of this code is:
Total sum of digits of the given number is: 14

Check for Palindrome

A group of characters or digits that reads the same forward and backward is known as a palindrome.The assignment is to create a program that determines whether a given text or number is a palindrome. So, this can be asked for a string as well as for numbers.

Let’s see an example:

Suppose the input string is asdfdsa. After reversing the string, we get asdfdsa. So, this string is a Palindrome string.

Example of a Palindromestring in C.

Example:

#include <stdio.h>
#include <string.h>
bool isPalindrome(char *str) {
 int start = 0;
 int end = strlen(str) - 1;
 while (start < end) {
 if (str[start] != str[end]) {
 return false;
 }
 start++;
 end--;
 }
 return true;
}
int main() {
 char str[100] = "asdfghgfdsa";
 if (isPalindrome(str)) {
printf("%s is a palindrome.\n", str);
 } else {
printf("%s is not a palindrome.\n", str);
 }
 return 0;
}

Output:

The output of this code is: asdfghgfdsa is a palindrome.

Now, try to understand and code for the Palindrome number.

Here is an example of a Palindrome number: 34243. It results in true, whereas in the case ofnumber 3245, it says false as it is not a Palindrome number.

Example of a Palindrome number in C.

Example:

#include <stdio.h>
#include <stdbool.h>
bool isPalindrome(int num) {
 int o_Num = num;
 int r_Num = 0;
 int digit;
 while (num> 0) {
 digit = num % 10;
r_Num = r_Num * 10 + digit;
num /= 10;
 }
 return o_Num == r_Num;
}
int main() {
 int x = 1234321;
 if (isPalindrome(x)) {
printf("%d is a palindrome number.\n", x);
 } else {
printf("The number is not a palindrome number.\n");
 }
 return 0;
}

Output:

The output of this code is: 1234321 is a palindrome.

Find the Factorial of a Number

In this question, we have to create a computer program that figures out the factorial of a given number. The multiplication of all positive integers from 1 to that given number, called the factorial, is the given number.

Here is an example to understand this question.

Suppose the input is 5. To find the factorial of 5, we have to multiply all the integers from 1 to 5, i.e., 1*2*3*4*5 = 120. So, the factorial of the given number 5 is 120.

Let’s see the code for factorial in C.

Example:

#include <stdio.h>
int factorial(int x) {
 if (x == 0 || x == 1) {
 return 1;
 } else {
 return x * factorial(x - 1);
 }
}
int main() {
 int n = 4;
 if (n < 0) {
printf("Invalid Input.\n");
 } else {
 int res = factorial(n);
printf("Factorial of %d = %d\n", n, res);
 }
 return 0;
}

Output:

The output of this code is: Factorial of 4 = 24

Reverse a String

The task is to create a program that accepts a string as input and prints the reverse of the string.

In order to achieve the reversal, the technique is usually either exchanging characters already in place or iterating through the string's characters in reverse order and adding them to a new string.

Let’s understand the question with an example.

Suppose the given input string is “TajMahal”. We have to reverse the string, i.e., the first string should be placed at last and the last string at first in the output string. So the output of this example is “lahaMjaT”.

Here is the code of this question in C.

Example:

#include <stdio.h>
#include <string.h>
void reverseString(char *str) {
 int s = 0;
 int e = strlen(str) - 1;
 while (s < e) {
 char temp = str[s];
 str[s] = str[e];
 str[e] = temp;
 s++;
 e--;
 }
}
int main() {
 char str[100] = " TajMahal ";
printf("Original string: %s\n", str);
reverseString(str);
printf("Reversed string: %s\n", str);
 return 0;
}

The output of this code is:

Output:

Original string: TajMahal
Reversed string: lahaMjaT

Count a Target Character in a String

In this question, the task is to create a program that counts the instances of a particular character in a given string. It shows how good a candidate is good in his knowledge of strings, loops, and conditional statements.

If you are confused about the question, see this example to understand the question.

Suppose the given input string is “hippopotamus”. The target character is the ‘p’. So, how many times does ‘p’ appears in the given string. ‘p’ appears three times, so the output of this question is 3.

Let’s see the C program code of this question.

Example:

#include <stdio.h>
#include <string.h>
int countChar(char *str, char ch) {
 int count = 0;
 for (int i = 0; i<strlen(str); i++) {
 if (str[i] == ch) {
 count++; // Increment count if a character match
 }
 }
 return count;
}
int main() {
 char given_str[100] = "AYUSH MILAN";
 char target_ch = 'A';
 int result = countChar(given_str, target_ch);
printf("The number of occurrences of '%c' in the given string is: %d\n", target_ch, result);
 return 0;
}

Output:

The output of this code is: The number of occurrences of 'A' in the given string is: 2

Swap two numbers without using a third variable

In this question, the problem statement is to swap the two numbers without using a third variable.

Let’s see the program to swap two numbers without using a third variable.

Example:

#include <stdio.h>
int main()
{
 int a = 34, b = 23;
 a=a+b;
 b=a-b;
 a=a-b;
printf("\n After swapping: A= %d, B= %d\n",a,b);
 return 0;
}

The output of this code is:

Output:

After swapping: A= 23, B= 34

Check Perfect Square

The task is to check whether a number is a perfect square or not. Let’s try to understand the question with an example.

Suppose the input number is 121. 121 is the perfect square of number 11, i.e.,

11 * 11 = 121. So, it will print 121 as a perfect square number.

C program to check perfect square.

Example:

#include <stdio.h>
#include <math.h>
int main() {
 int n = 144;
 int s_root = sqrt(n);
 if (s_root * s_root == n) {
printf("%d is a perfect square.\n", n);
 } else {
printf("%d is not a perfect square.\n", n);
 }
 return 0;
}

The output of this code is:

Output:

144 is a perfect square.

Check for Armstrong’s number

A number is said to be an Armstrong number when the sum of its own digits is in such a way that each raised to the power of the number of digits is equal to the given number. In other words, a number with n digits is an Armstrong number if its digits are added together in such a way that each raised to the nth power equals the number itself.

Let’s understand this question with an example.

Suppose the number is 153. Here, the total number of digits in the number is 3. So, 13 + 53 + 33 = 1 + 125 + 27 = 153. So, the given number is an Armstrong number.

C program to check for Armstrong number.

Example:

#include <stdio.h>
#include <math.h>
int main() {
 int num = 153, c_num, r, res = 0, n = 0;
c_num = num;
 // Count the total number of digits
 while (c_num != 0) {
c_num /= 10;
 ++n;
 }
c_num = num;
 // Find the result
 while (c_num != 0) {
 r = c_num % 10;
 res += pow(r, n);
c_num /= 10;
 }
 if (res == num) {
printf("%d is an Armstrong number.\n", num);
 } else {
printf("%d is not an Armstrong number.\n", num);
 }
 return 0;
}

The output of this code is:

Output:

153 is an Armstrong number.

Advance C Program asked in an Interview

Find Elements using Binary Search

A binary search is an algorithm that locates a target value's location within a sorted array. It works by periodically splitting in half the area of the array that might contain the target value until it is either found or it is determined that the value is not in the array.

In this method, it divides the area of the array that might contain the target value in half each time, continuing until either the value is found or it is determined that the value is not in the array. Then, it compares the target value with the array's middle element. The position is returned if the target value matches the center element. But if the target value is less than the middle element, then it searches in the lower half of the array. If the target value is higher than the middle element, then it searches in the upper half of the array. Repeat this procedure until the desired value is located or it is determined that the value is not present in the array.

In this question we have to find a target element in a sorted array using binary search.

Here is the code in the C program.

Example:

#include <stdio.h>
int binarySearch(int arr[], int low, int high, int target) {
 while (low <= high) {
 int mid = (low + high) / 2;
 if (arr[mid] == target) {
 return mid;
 } else if (arr[mid] < target) {
 low = mid + 1;
 } else {
 high = mid - 1;
 }
 }
 return -1;
}
int main() {
 int arr[] = {1, 3, 5, 7, 9, 11};
 int size = sizeof(arr) / sizeof(arr[0]);
 int target = 7;
 int res = binarySearch(arr, 0, size - 1, target);
 if (res == -1) {
printf("Element not found\n");
 } else {
printf("Element found at index %d\n", res);
 }
 return 0;
}

The output of this code is:

Output:

Element found at index 3

Write a Program without using a Semicolon

Can you able to print your name without using the C program? This is also an important question that is asked in interviews.

So, in this question, we learn how to print any message without using a semicolon in the program.

Let’s see the C program code of this question.

Example:

#include <stdio.h>
void main() {
 if (printf("Hello ")) {}
 if (printf("World\n")) {}
}

The output of this program is:

Output:

Hello World

Check a Leap Year

In this question, we have to check a year whether it is a leap year or not.

Here is the C program to check a leap year.

Example:

#include <stdio.h>
int main() {
 int year = 1960;
 if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
printf("%d is a leap year\n", year);
 } else {
printf("%d is not a leap year\n", year);
 }
 return 0;
}

The output of this code is:

Output:

1960 is a leap year

Converting String into Hexadecimal string

In this program, the input string is converted to a Hexadecimal String. We will translate each character in the string into its corresponding hexadecimal value, add the translated value to a string, and then output the translated string.

Let’s understand this with an example:

Suppose the input String is ayu. Then it will convert a, y, and u to their hexadecimal values, i.e.,61, 79, 75. So the output of this string is 617975.

Here is the code in the C program.

Example:

#include <stdio.h>
#include <string.h>
int main()
{
 unsigned char strH[200];
 int i, j;
 char str[100] = "Hello World";
 /*set strH with nulls*/
memset(strH, 0, sizeof(strH));
 /*converting str character into Hexadecimal and adding into strH*/
 for (i = 0, j = 0; i<strlen(str); i++, j += 2) {
sprintf((char*)strH + j, "%02X", str[i]);
 }
strH[j] = '\0'; /*adding NULL in the end*/
printf("Hexadecimal of the string %s is: %s\n", str, strH);
 return 0;
}

The output of this code is:

Output:

Hexadecimal of the string Hello World is: 48656C6C6F20576F726C64

Print characters without using format specifier in C

In this question, we have to print the characters without using format specifiers like %d, %c, %f.

We can print the characters by using the ASCII code. The ASCII code of A, B, C, and D is 0x41, 0x42, 0x43, and 0x44, respectively.

Here is the C program to solve this question.

Example:

#include <stdio.h>
int main()
{
printf("\x41");
printf("\x42");
printf("\x43");
printf("\x44");
 return 0;
}

The output of this code is:

Output:

ABCD

Conclusion

In this article, we have seen various C programs which are important from the interview point of view. Hope these discussed questions will be helpful for your interview.