×

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

Infix to Postfix program in C

Infix Expression: In infix expression, an operator is placed between the two operands. Example: x + y, here operator + is placed between operands x and y. Postfix Expression: In...

3 minutes read.

Double Specifier in C

What is a double specifier? The term double denotes the double data type in C. It more accurately depicts floating point numbers. The idea that it has twice the precision of...

3 minutes read.

Range of int in C

In this session we know about the rage of the int in C language with the suitable examples and the programs. Firstly, we can learn the range of int: The int is...

3 minutes read.

Advantages of Dynamic Memory Allocation in C

Dynamic Memory Allocation Dynamic memory allocation is a process of assigning or allocating memory to a variable during the execution of a program. Dynamic memory allocation provides storage according to the...

3 minutes read.

Explain the two-way selection in C

In C programming, a two-way selection statement is used to choose between two different options based on a Boolean expression. The two-way selection statement in C is the if statement. The...

6 minutes read.

Prototype in C

A prototype is nothing but a model, a model of initial creation of an intended product. Similarly, in the C programming language, all functions have a prototype. In general, all...

4 minutes read.

Exit control loop in C

To examine the termination condition for an exit, we usually use an exit control loop in C. If the evaluation for termination condition results in true, then the control would...

3 minutes read.

Expressions in C

Expressions in C: In the C programming language, an expression defines a formula in which the operands are linked to each other by using operators to compute the value. The operand...

4 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.

Goto and Labels in C

Introduction Goto in C: The goto statement is known as the jump statement in C. The goto is used to transfer the control of a program to a predefined label. The goto...

3 minutes read.

Fseek Function in C

The fseek function is a function in the C standard library that changes the position of the file pointer in a stream-oriented file. It is typically used to move the...

3 minutes read.

Example of Iteration in C

The iterations in the C language are the statements which are executed number of times until a certain condition is reached. These iterations are regarded as “Loops” in C language....

3 minutes read.

C Switch Statements

Switch-case statement comes under the Selection control statement; there are four types of Control statements Decision-making statements (if, if-else)Selection statements (Switch-case)Iteration statements (for, while, do-while)Jump statements (break, continue, goto) If we want...

4 minutes read.

Decimal to Binary in C

What is a decimal number? A decimal number is a number represented in the decimal number system. This system of binary conversion uses base 10 to represent numbers, i.e. the digits...

3 minutes read.

Cbrt() function in C

Introduction: The Cbrt is a function used in C programming language. The cbrt() function is a math function. Using the cbrt function, we can do the cube root of a function. This...

4 minutes read.

Reverse a Stack using Recursion in C

In this tutorial we will learn how recursion will be used in this case to reverse a stack. For loops, while loops, do-while loops, and similar constructions are not permitted....

5 minutes read.

If Statement in C

Decision Control Statements We frequently desire one set of instructions to be carried out in one circumstance while another set of instructions to be carried out in a completely different circumstance....

3 minutes read.

How to return a Pointer from a Function in C?

In the C programming language, pointers are variables that hold the address memory location of another variable. We could also input pointers to a function and return pointers from a...

3 minutes read.

C printf and Scanf

Input-Output functions in C Programming In C Language, the printf() and scanf() are inbuilt library functions that used for input and output. It is defined in the header file“<stdio.h>”. printf() Function: In C...

2 minutes read.

Different ways to Declare the Variable as Constant in C

There are a wide range of ways of making the variable as steady Using const keyword: The const catchphrase permits a software engineer to inform the compiler that a specific variable should...

5 minutes read.