×

Factorial Program in C using For Loop

Before move on the factorial program. We have to know about the for loop in C programming language.

The syntax of the For Loop is:

for (initialization statement; test expression; an increment or decrement  statement)
{
    /* main body of the “for” loop */
}

How does the For Loop work?

In for loop, the initialization command is implemented only once. After that, it checks the test expression of the loop and finds whether the test expression is false or true. And, for loop is dismissed if the test expression is false.   

If the test expression of the 'For loop becomes true, then the program line provided in the For loop’s body is executed, and the update expression is changed accordingly.

Again, the entire process of evaluation is to be done. The loop executes its body until and unless the value of the test expression in for loop becomes false. The loop automatically terminates as soon as the test expression result becomes false.

For loop program in c programming language to find factorial of an entered integer:

With the help of below mentioned example you can easily come to know about the method of calculating of a positive integer provided by the user.

The following formula is used for calculating the factorial of an inputted positive integer ‘n’:

factorial of “n” or (n!) = 1 * 2 * 3 * 4....n

If we talk about the factorial value of 0 is always 1 and the factorial of any negative integer does not exist.

Following Program calculates the Factorial of a natural number using For loop in C programming language:

#include <stdio.h>
int main () 
{
    int n, a; // declaring variables  
    unsigned long long fact = 1;
    printf ("Enter any positive number: \n"); // taking input from the user
    scanf ("%d", &n); // assigning the value inputted by the user to the declared variable
    // program line in case the user enters a negative integer, it will display error
    if (n < 0) // if termination condition
        printf ("Error 404! Sorry to say but there is no factorial of a negative integer."); // to display error
    else {
        for (a = 1; a <= n; ++a) // (initialization statement, test expression, increment statement) 
{
            fact *=a;
        }
        printf ("The factorial of given number is %d = %llu", n, fact); // printing output
    }
    return 0;
}

Output:

Enter an integer: 15
Factorial of 15 = 1307674368000

This program will take a positive integer as an input from the user and compute the factorial of the given number with the help of for loop.

Sometimes, the factorial of some positive integers can be extremely large that’s why the “unsigned long long” is used as the data type of factorial variable to overcome this issue.

Suppose, the user enters any negative integer, the program will automatically display a pre-defined error message like this:

"Error 404! Sorry to say but there is no factorial of a negative integer"

Step by step explanation of above example:

Firstly, we will declare two variables “a” and “n”. Then, we will let the user to assign the value to “n”.

After that, the control will check the first termination condition. If the number entered by the user is less than 0 then it will immediately terminate the loop. But if the value is more than 0 then it will certainly enter the loop. In the loop it will start evaluating the factorial of the given positive number.

As the number entered here was 15. So, the control will easily qualify the first termination condition as 15 is more than 0, because it is a positive number.

So, the control will enter in the loop. In the looping statement, the value of “a” is set to 1 and the termination condition checks the value of “a” is less or equal to the value of “n”.  And, at last, there is an increment statement (++ a) which increase the value of “a” each time during the loop execution.

Initially, the loop will be executed for one time and the value of output is assign to the fact variable. After this, the value of “a” is increased by 1.

This process performs again and again until the value of “a” becomes more than the value of “n”. At last, the loop will certainly terminate.


Related Topics

Difference between Array and List in C

C# Array vs List is where the abstraction and implementation of human computing meet.  Arrays are incredibly related to the hardware concept of contiguous and contiguous memory, where each part is...

3 minutes read.

How to use floor() function in C

Introduction: The floor() used as a function in the C programming language. This function uses to return the largest or most significant integer value. The integer value is smaller than...

3 minutes read.

Multilevel Feedback Queue Scheduling (MLFQ) CPU Scheduling

In this article, you will learn how to initialise an array to 0 in C In C, an array is declared as: char ZEROARRAY[2022]; The global scope changes at runtime to all zeros....

3 minutes read.

Unformatted input() and output() function in C

Unformatted Input and Output functions take the character, character array, and strings as input. We can read-only character data types with these functions. These functions are already defined in the...

5 minutes read.

Data Types in C

Data type is a very important concept in C programming language. Simply, “A data type is the classification of data values that a data item can have.” We need to...

11 minutes read.

memcmp() in C

Introduction: In this article we are discuss about memcmp() function in C. This function permits the person to evaluate the bytes of the two characters, as mentioned above. Depending on...

4 minutes read.

Type Conversion in the C

The process of changing one data type to another in the C programming language is known as "type conversion." The type conversion method is only executed on data types that...

4 minutes read.

Flow Chart of For loop in C

This is a flowchart that represents the process of executing the for loop in the C programming language. Generally, as we know there are three main components of for loop:1. The...

3 minutes read.

Loop Questions in C

Question 1: What is For loop syntax? Ans: The syntax that has been used for the ‘for’ loop in C programming language is: for (initialization statement /*for providing a value to variables*/; test...

19 minutes read.

Fee Management System in C

The concept is to split every operation into its very own characteristic. Software is made from all of the capabilities mixed with transfer cases. An example of the capabilities may...

5 minutes read.

Bit Fields in C

The size of a structure in C is specified in bits. The primary goal of it is to use memory efficiently, once we understand that a bit's value must fall...

3 minutes read.

Structure in C

Why Structure came into the picture? In the actual world, we deal with entities that are collections of objects rather than tiny bits of data like integers, characters, floats, etc. So,...

4 minutes read.

C program to compare the two strings

C program to compare the two strings Strings can be compared either by using the string function or without using string function. First, we will look at how we can compare the strings with...

4 minutes read.

Why C is a middle level language

The C programming language is generally referred to as a high level language but we glance through the backend of C, i.e the working of C as a programming language...

4 minutes read.

Character Class Tests in C

Introduction The <ctype.h> is a header file in C which is used to declare functions for testing characters. This header file of the C standard library is used to declare multiple...

4 minutes read.

Actual and Formal Parameters

Any variable declared within the parenthesis is referred to as the parameters during the function declaration. Parameters tell the function about the argument datatype, their order, and the number of...

5 minutes read.

Simple Programs in C Language

In this article, we will discuss the basic programs in C language. Addition of two values in C. Swapping two values. Finding the odd or even values. Finding vowels and consonants in C. Finding the...

11 minutes read.

Fahrenheit to Celsius in C

Before going into conversion, we have to know what Fahrenheit and Celsius mean, these are both units to measure the temperature.In our daily life, we use both Fahrenheit and Celsius,...

1 minute read.

Variable in C

Variable is an identifier that holds data in memory. It is used to identify input data in a program. The value of the variable can change at the time of...

2 minutes read.

Difference between Scope and Lifetime in C

In this article, we will discuss about the key differences between scope and lifetime in C, including their definitions, applications, and how they relate to one another. By the end...

8 minutes read.