C Tutorial

C Tutorial C Language Environment Setup Execution flow of C program C Data type C Token Variable in C Operators in C Comments in C

C Functions

User Defined Functions in C Built-in functions in C Types of Function in C Inbuilt Functions in C Static() Function in C pow() function in C Assert() Function fgets() function Ftell() Function getc() function getch() function gets() function Pi() Function Write() function abs() function in C Ferror() in c fopen() function in C Beep() function in C Cbrt() function in C Hook() function in C Isalnum() function in C Simple hash() function in C strcat() Function in C C printf() and Scanf() Use of free() function in C Floor() Function in C Free() Function in C Unformatted input() and output() function in C tolower() Function in C fprintf() and fscanf() in C Sprintf() in C fork() in C isupper() in C Perror() in C Strcmp() Function in C String Functions in C Strrev() function in C exit() and return in C execlp() function in C realloc() in C strftime() function in C Strsep() function in C strstr() function in C Ceil() function in C Malloc() function in C Realloc() function in C Fseek() Function in C Pure Virtual Function in C Ceil() and Floor() in C putchar() in C kbhit() function in C bzero() Function in C atan2() Function in C atof() Function in C getopt() Function in C seof() Function in C getw() and putw() Function in C strdup() Function in C Usleep() function in C getpid() and getppid() function in C strcasecmp() function in C gotoxy() function in C strupr() function in C Free Function in C Language frewind() Function in C

C Programs

infix To Postfix Program in C Armstrong program in C using function Factorial Program in C using For Loop Factorial Program in C Using While Loop Prime Number Program in C using for Loop C program to find factorial of a number using Recursion Fibonacci series program in C using Recursion C Program to find the Roots of a Quadratic Equation 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 Multiplication table program in C using For loop C Program for Mean and Median of an Unsorted Array C program that does not Suspend when Ctrl+Z is Pressed Write a program that produces different results in C and C++ SJF Scheduling Program in C Union Program in C GCD program in C Bit Stuffing Program in C Arithmetic Progression Program in C Binomial Coefficient Program in C C Program to find the size of a File GCD program of two numbers in C C Program for Extended Euclidean algorithms C Program of Fencing the Ground Compound interest Program in C Distance Vector Routing Protocol Program in c DSA Program in C Simple Programs in C Language Assignment Operator Program in C Caesar Cipher Program in C CRC Program in C Deadlock Detection Program in C C Program to find ASCII value of a character 1 2 3 4 Series Program in C C Program for Polynomial Addition C Program to Count the Number of Vowels in a String Complex C Programs Addition Program in C Calculator Program in C C Program to Read and Print an Employee's Detail Using Structure C Program to Find Area and Perimeter of Circle C Program to Check Whether a Given Number is Even or Odd C Program to Make a Simple Calculator Using Switch Case Insertion Sort Program in C Leap Year Program in C Simple interest Program in C Patterm Program in C C Program to Print Table from 1 to 10 Power of 2 Program in C Program to Swap two numbers using Pointers in C Stack program in C C Program For String Concatenation C Program to Calculate Electricity Bill C Program to Convert Decimal to Binary without using Array C Program to Convert Decimal to Hexadecimal C Program to Draw a Circle C Program for Customer Billing System C Program to Reverse a Linked List C Program to Store Inventory System using Structures C Program to Swap Two Numbers Using Call by Reference C Program Using Segmentation Fault C Program Using Structures Employee Details C Program For Matrix Multiplication C Program to Print a Matrix C Program Using Recursion C Program For Sine Series C Program to Find the Square Root Of a Number C Program For Union Of Sets C Program to Access The Array Elements Using Pointers C Program to Add Two integers C Program to Find Gcd Of Two Numbers C Program to Swap 2 Numbers Marksheet Program in C First and Follow Programs in C Checksum Program in C Alphabet Pattern Programs in C Bellman Ford Algorithm Program in C Fcfs Program in C C Program to Calculate Compound Interest C Program to Calculate Percentage C Program to Find Sum Of Array Elements C Program to Find The Rank Of a Matrix C Program to Optimal Page Replacement Algorithm C Program to Swap Two Numbers Without Using a Third Variable Binary Tree Program in C Client Server Program in C Program to Check Balanced Parenthesis in C ATM Program in C C Program to Check Student is Pass or Fail C Program to Delete An Element in An Array C Program to Find Factors of a Number C Program to Generate the Fibonacci Triangle Program For Average of 5 Numbers in C Program to Convert Decimal to Hexadecimal in C Binomial Heap Program in C C Program to Find the Largest Element in An Array C Program to Search An Element in An Array C Program to Sort An Array in Descending Order Strssen Matrix Multiplication Program in C Vigenere Cipher Program in C

C Loops

Loop Statement in C Do-While Loop in C For Loop in C While-Loop in C Entry Control Loop in C Exit control loop in C infinite loop in C Nested loop in C For loop in C Programming

C Examples

Do WHILE LOOP in C Programming Examples For Loop in C Programming Examples While Loop in C programming examples Nested Loops in C Programming Examples Types of Tokens in C with Examples Merge and Merge sort with example in C Example of Iteration in C FIFO Example in the C Language Explain Recursion with example in C


What are linker and loader in C What is Linked List in C What is a buffer in C What is required in each C Program What is the main in C Why C is a Middle Level Language Why does sizeof(x++) not increment x in C What is String Comparison in C What is a Size of Pointer in C What is increment and Decrement Operator in C What are the differences between C and Embedded C What is Constant in C What is Stack in C What is Data Structure in C Can We Learn Python Without C Can We Learn Java Without Learning C What is Flag in C What is Lvalue in C Which Loop is Faster in C Language What is the Producer Consumer Problem in C What is The Garbage Value in C What is The Function Prototype in C What is FEOF in C

How To

How to Avoid Structure Padding 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 How to delete a file in C How to move a text in C How to create a binary file in C How to convert a number to words in C How to convert a string to hexadecimal 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 How to Find Square Free Numbers 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 How to find string length in C using strlen() function How to take input in string in C How to Use Threads in C How to Place Horizontal Tab Character in C How to Reverse a Number in C How to Print Double Quotes in C How to Create Your Own Header Files in C How to Store an Integer in a Char Array in C How can we Initialize an Array in C


Difference between while and do-while loop in C Difference between rand() and srand() function in C Difference between while and for loop in C Difference between Array and List in C Difference between If and Switch Statement 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 Difference between Argument and Parameter in C Difference between char s[] and char *s in C Difference between Static and Dynamic Memory Allocation in C Difference between parameter and arguments in C Runtime Vs Compile Time in C Const Vs Volatile in C C Vs Java C vs Java Strings Difference Between Float and Double in C Difference Between Malloc and Calloc in C Fseek vs Rewind Function in C Difference between Structure And Union in C With Example

C Interview Questions

Interview Questions on Pointers in C


Escape Sequence in C C – Storage Classes C Decision control statement 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 Sizeof in C Selection Sort in C Scope Of Variables 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 Character Set in C Character Class Tests in C Calloc in C C Pointers Arrays in C include in C Clrscr in C String Literals in C Types Of Pointers in C Variables in C Volatile 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 Array, Declaring Arrays and Array initialization Limitations of inline Function in C Array Of Structures in C Data Structures And Algorithms in C Types Of Structures in C Use of Structure in C String Handling functions in C Prime Number code in C Fibonacci Series in C Using For Loop Fibonacci series in C using while loop Call Back Function in Embedded C Else If Ladder Heap Sort Nested if-else statement Positioning of file Attributes in C Formatted input and output function in C Snake Game in C C Switch Statements Doubly Linked list in C integer Promotions in C Find the Largest Three Distinct Elements in an Array using C/C++ Loop Questions in C Modulus on Negative Numbers in C Results of Comparison Operations in C and C++ Reverse a Stack using Recursion in C Sum of N numbers in C using For loop C Function Argument and Return Values Keywords in C Bank management system in C Calendar application in C Remove an element from an array in C Socket Programming in C Structure in C Tower of Hanoi in C Variable Declaration in C While Loop Syntax in C Branching Statements in C Comma Operator in C Control statement in C Double Specifier in C Long int in C Palindrome Number in C Run Time Polymorphism in C Types of Array in C Associativity of Operators in C Actual and Formal Parameters Addition of two Numbers in C Advantages of function in C Diffie-Hellman Algorithm in C C and C++ Binary Files Different ways to Declare the Variable as Constant in C Range of int in C GPA Calculator in C Addition of Matrix in C Booleans in C Displaying Array in C Dos.h Header File in C Language Explain the two-way selection in C Fee Management System in C File Operations in C Multiplication Table in C Type Conversion in the C Advantages of Dynamic Memory Allocation in C Armstrong Number in C Banker’s Algorithm in C Binary Search in C with Best and Worst Time Complexity Call by Value and Call by Reference in C Conditional Operator in C Decimal to Binary in C Evaluation of Arithmetic Expression in C Explain the increment and Decrement Operators 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 C Compilers for Windows Functions and Recursion in C Pointer Declaration in C Algorithm for String Palindrome in C Constant Pointer in C Implicit and Explicit in C indirect Recursion in C input and Output functions 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 Advantages and Disadvantages of C Language C Programming Errors and Solutions Compilation Errors in C Evaluation of Postfix Expression Using Stack in C Find Leftmost and Rightmost Set Bit of a Number introduction to Dynamic Array in C Print Address in C Ternary Operators 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 Bubble Sort Algorithm in C C in Roman Numerals 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 Dijkstra's Algorithm in C Jump Statements in C Modulus Operator in C Memory Allocation in C Reverse Array in C Recursive Function in C Queue in C Printing Pascal’s Triangle in C Preprocessor Directives in C Perfect Number in C Programming Language Parameter Passing Techniques in C Pascal Triangle in C Swapping of two numbers in C Switch Case Questions in C Transpose of Matrix in C Special Operators in C Static Variable in C Understanding Operator Precedence in C Typedef in C User Defined Datatypes in C Variable initialization in C Void Pointer in C Wild Pointer in C 2D Array in C Priority Queue in C atoi in C Break Statement in C CALL by Reference in C Call by Value in C Circular Buffer in C Digital Clock Code in C Programming Do While Loop Questions in C Flag in C Language Functions in C Function in C Function Declaration in C isDigit in C Macro Expansion in C Modifiers in C Number Crunching in C Number System in C PRAGMA in C Precedence in C Prims Algorithm in C Print Hexadecimal Values in C Return 0 in C Reverse Array in C Stack using array in C Star Pattern in C String input in C Structure and Union in C Transpose of Matrix in C Void in C Math.h in C Prim’s Algorithm in C printf Syntax in C Priority Scheduling Program in C Singly Linked List in C Size of Structure in C Argument in C Bitwise Operator in C Circular Queue in C Compiler in C Convert Char to Int in C ctype.h in C Dangling else Program in C Graphics Programming in C File Handling Functions in C Clock Program in C File in the C Programming Language Identifiers in C Language Area of Triangle Program in C Ascii Table in C Bitwise Operator in C C Programming Errors and Corrections Calling and Called Function in C Characters in C Circular Linked List in C Concatenate String in C Declaration in C Fabs in C Fifo Page Replacement Algorithm in C Getchar Method in C Global Variables in C Memory Management in C Modulus Operator in C Operator Precedence and associativity in C Pointers in C Programming Size Of Data Types in C Size T in C U in the C Programming Language Xor Operator in C Converting Dollars into Rupees in C Form Feed in C Gauss Seidel Method in C Unsigned Char in C Absolute Value in C Function Call in C Dereference Operator in C Different Storage Class Specifiers in C Formal Parameters in C Graph in C Not Equal to in C Print Double in C While Statement in C Deadlock Avoidance Program in C Declaration and Initialisation of Variables in C Declaration of Two Dimensional Array in C Typedef Function Pointer in C ARGC and ARGV in C File Pointer in C Exit 0 in C Increment Operator in C Emirp Number in C Flowchart Symbols in C Lexicographical Order in C Longest Common Subsequence in C Newton Raphson Method in C Sum of Natural Numbers Using Recursion in C Binary Search in Data Structures Using C Binary Tree in Data Structures in C Define Keywords in C Checksum Code in C Distance Vector Routing Program in C Double Type in C Euler Method in C Hollow Triangle Pattern in C Indirection Operator in C Insert Array in C Lagrange Interpolation in C Multiplication Table in C Scansets in C Semaphores in C Spy Number in C BFS Algorithm in C Bisection Method in C Byte Stuffing Program in C Call by Value Function in C Conio in C Constants in C Evaluation Of Prefix Expression Using Stack in C Exception Handling in C Features Of Array in C Find The Power Of Number in C Graphics.h in C Ifndef in C Storage Classes in C Free Function in C Language Callback Function in C Variadic Functions in C Bin Packing Algorithm in C Balanced Parathesis in C Fractional Knapsack Problem in C Double Ended Queue in C Two Level Dictionary Program in C Implementing Data Structures Like Linked Lists or Binary Search Trees in C Exec System Call in C Return Statement in C Bit Manipulation in C Amicable Numbers in C Multiline Macros in C Declare A Character in C Implicit Type Conversion in C C Expressions Printing Double Quotes in C Unary Operators in C Types of Files in C Endianness in C Associativity in C Default Return Type of Function in C Fibonacci Recursion in C Define File in C Structure Within the Structure in C Define Identifier in C Expression Evaluation in C Floating Point Exceptions in C Find Duplicate Elements in Array in C Sum of Diagonal Elements of A Matrix in C File Functions in C Float in C Programming Find Length of Array in C Documentation Section in C Comment Line in C Define Data Structure in C File Modes in C File Opening Modes in C FMOD in C Hallow Diamond Pattern in C Hill Cipher Program in C INT MAX in C Integer Size in C Most Frequently asked C Programming Language Questions for Freshers Passing Pointers to Function in C Passing Strings to Function in C Permutation of String in C Syntax Error in C Top Down Approach in C Types of Strings in C Unconditional Statements in C Auto Keyword in C Characteristics of Algorithm in C Circular Doubly Linked List in C Hamming Code in C Duplicate Array in C Flowchart For While Loop in C Format Specifiers in C Generic Pointer in C Happy Number in C Memory Mapping in C Recursion in C Relational Operators in C Strmcp Return Value in C Non Primitive Data Types in C Octal to Decimal in C Parameter Passing Technique in C Print Magic Square in C Quadratic Equation in C

Fibonacci series program in C using Recursion

In this tutorial, we’ll explore how to utilise recursion to build the Fibonacci sequence in C language.

What does the term "Fibonacci Series" mean?

The following number in a Fibonacci number series is essentially the summation of the previous two values (preceding numbers). In every series, the first two integers are still 0 and 1. Thus, the sequence is as follows: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, so on.

How to write the Fibonacci Sequence in C?

Two of the main approaches that can be used to write this series in C language:

  • Using Recursion (Only this approach is discussed in this tutorial)
  • Without Recursion

Fibonacci Series using Recursion:

Let's look at a recursive Program for the Fibonacci series in C Language


C Program to write Fibonacci Series


void printFibonacciseries(int p)

static int p1=0, p2=1, p3; //considering variables

if( p > 0 ) //if condition is true it will execute

p3 = p1 + p2; 

p1 = p2;

p2 = p3;

printf("%d ", p3); //printing value of the series

printFibonacciseries( p - 1) ; //user-defined function



int main()

int p; //considering variable

printf("Enter any number to create Fibonacci Series: "); //asks user for a input

scanf("%d", & p); //storing value in variable p

printf("The Fibonacci Series should be: "); //printing statement

printf("%d %d ",0,1); //printing 0 and 1 as these are common for all fibonacci series

printFibonacciseries( p - 2 ); //using p-2 as we have already printed two numbers here 

return 0;


Output: (If user puts 11 as input)

Enter any number to create Fibonacci Series: 11
The Fibonacci Series should be: 0 1 1 2 3 5 8 13 21 34 5

Output: (If user puts 9 as input)

Enter any number to create Fibonacci Series: 9
The Fibonacci Series should be: 0 1 1 2 3 5 8 13 21