1. Home

Explore C Tutorials: From Beginner Concepts to Advanced Techniques

Dive into our C tutorials and expand your programming skills. From fundamental concepts to advanced techniques, we've got you covered. Start your journey to C mastery today

• 130 Lessons
• 22 Hours
103

# Square Root in C

Updated on 19/07/20247,537 Views

A brief idea about the calculation of the square root and the formula to calculate the square root is presented here. Next, the computation of the square root using the C programming language is executed. Examples are illustrated to describe the programming language, methods of implementation, use of recursion, and math.h function, etc.

## Introduction

C is a general-purpose and high-level programming language. This is a prominent programming language because of its simplicity and efficiency. C language is used in developing computer software, web development, computer applications, etc. This programming language comprises some inbuilt functions and operators which are used to solve complex problems. This programming language is highly used because of its fast execution speed, portability, function-rich library, various types of data types and operators, etc. Various mathematical operations can be executed using C programming. Here the calculation of the square root using C language i.e. sqrt() in C is performed.

## What is Square Root?

The inverse operation of squaring a number is known as the square root. When a number gets multiplied by itself then the result obtained is known as the square of a number. Here the exponent is 2. Finding out the square root’s value is just the reverse process. Squared root value is that factor of a value which is when squared gives the original value.

Example 1: Suppose “a” is a particular number. The square of a is b i.e. () and “a” is called the square root value of “b.” In square root, the exponent is ½. This mathematical operation can be defined as

Example 2: Find out the square root of 16.

Answer: The square root of 16 is 4.

## Logic of sqrt in C language

In C programming the square root of a number is computed by using the sqrt() function. sqrt in C language is a predefined library function. This function is included in the <math.h> header file. So, while implementing sqrt() function in a program <math.h> header file must be included at the beginning of the program. The sqrt() function accepts a single number that is in double as input and returns a double number value as the output. If the input is a negative number, then the result is shown as -nan i.e. not a number value to the user. The sqrt() function does not support any imaginary value. While the square root of the negative number is an imaginary number, the output returns -nan. This is called domain error because the input is not supported by the sqrt() function domain.

## Syntax for sqrt() in C

The syntax for the sqrt function in C programming is

`double sqrt(double num)`

Here sqrt is the function to find out the square root of a number. “num” is the number whose square root value is to be found out. And double is the data type that is used to store large values of decimal numbers.

Algorithm for sqrt in C implementation

The algorithm used to calculate the square root value in the C language is presented below.

1. Declare an integer value to give input for square root calculation.

2. Declare a double data type to store the output value.

3. Print the result.

4. Exit the program

## How to Use the sqrt() Function in C?

Example 1: C program to ask the user for input and to print the result as output.

`# include <stdio.h># include <conio.h># include <math.h>int main(){// Declare an integer value as inputint num;double out;printf(“Enter a number = ”);scanf(“%d”, &num);// sqrt function implementationout = sqrt(num);printf(“The square root of %d is: %.2lf”,num, out);return 0;}`

Output:

`Enter a number = 225The square root of 225 is 15.00`

Keynotes:

1. Here stdio.h means single input single output. This is a built-in header file in the C programming language. It contains the information related to the input and output functions.

2. Int main() function is used as the starting point of program execution. It directs the calls to other functions in the program and thus controls program execution.

3. The math.h header represents several mathematical functions.

4. printf is an output function that indicates “print formatted”.

5. Scanf is an input function that is used to read input from the user.

Example 2: Find out the square root of a number by using a user-defined function

`# include <stdio.h># include <conio.h># include <math.h>// Declare a functiondouble findSqRoot (int x);int main(){// Declare an integer value as inputint num;double out;printf(“Enter a number = ”);scanf(“%d”, &num);// call functionout = findSqrRoot (num);printf(“The square root of %d is: %.2lf”,num, out);return 0;}double findSqrRoot (int x){double findoutfindout = sqrt(x);return findout;}`

Output:

`Enter a number = 237The square root of 237 is 15.39`

The above program is basically to find out the square root of a given number. Initially, it is important to declare the header files. The header stdio.h contains the information related to the input and output functions and the header math.h contains mathematical functions. Then a function named FindSqrRoot is declared. Then an input value is declared. printf function is used to print the output and scanf function is used to read input from the user. Again the function is defined to print the result.

## C Program to find out square root using recursion

An example is represented to show the implementation of sqrt in c using recursion. Recursion is a process that calls itself repeatedly directly or indirectly. Calling a function inside the same function is known as a recursive call of a function. Implementation of sqrt in c using recursion is represented here with an example.

`# include <math.h># include <float.h>float SqrtNum (float num, float PrevNum){float NextNum = (Prevnum num/PrevNum)/2;if (fabs(NextNum - PrevNum) < FLT_EPSILON*NextNum)Return NextNum;Return SqrtNum(num, NextNum);}`

## C Program to find out square root without math.h

An sqrt example is represented to show the sqrt in c without math.h. In C language math.h header represents several mathematical functions. The functions present in this library consider a double as input argument and give a double as output. double sqrt(double number) returns a double value. The implementation of sqrt in c without math.h is represented here.

`#include <stdio.h>Void main(){int num;float temp, sqrt;printf(“Enter a number: \n”);scanf(‘’%d”, &num);sqrt = num / 2;temp = 0;while(sqrt ! = temp){temp = sqrt;sqrt = (num/temp temp)/2;}Printf(“Square root of ‘%d’ is ‘%f’”, num, sqrt);}`

In this program first, the user must enter a number for which the square root is to be calculated. The number is divided by two and the result is stored in sqrt. The previous value of sqrt is stored as the temp. Then a loop is generated in which the sqrt variable is different from temp. At the same time, the value of temp and the previous value of sqrt continuously get updated. The square root of the number will be printed only when the loop ends.

## Return Values for sqrt() in C

The sqrt() function takes a double number as input and outputs a value that is also a double number. The result is displayed to the user as -nan, or without a number value if the input is a negative number.

## Exceptions for sqrt() in C

Any imaginary value is not supported by the sqrt() function. The output returns -nan if the square root of a negative number is an imaginary number. Because the input does not support the sqrt() function domain, this is known as a domain error.

## Conclusion

An overall description of the implementation of the sqrt function in C programming language is represented here. Initially, the definition of square root and the formula to calculate the square root value of a number is depicted. The syntax used to define the sqrt function in C language is presented. After that, an algorithm used to write a program by implementing the sqrt function is described. Different examples are given to explain the use of the sqrt function. Also implementation of sqrt function without using math.h header is described.

## FAQs

1. What is the C programming language?

C is a general-purpose and high-level programming language. This is a prominent programming language because of its simplicity and efficiency.

2. What is a sqrt function in C language?

In C programming the square root of a number is computed by using the sqrt() function. sqrt in C language is a predefined library function. This function is included in the <math.h> header file.

3. What is the use of the math.h header?

In C language math.h header represents several mathematical functions. The functions present in this library consider a double as input argument and give a double as output.

4. What is printf function?

printf is an output function that indicates “print formatted

5. What is the scanf function?

Scanf is an input function that is used to read input from the user.

6. What is int main()?

Int main() function is used as the starting point of program execution. It directs the calls to other functions in the program and thus controls program execution.

7. What is a double data type?

Double is the data type that is used to store large values of decimal numbers.

8. How to calculate the square root of a number?

The inverse operation of squaring a number is known as the square root. When a number gets multiplied by itself then the result obtained is known as the square of a number. Here the exponent is 2. Finding out the square root’s value is just the reverse process. Squared root value is that factor of a value which is when squared gives the original value.

PAVAN VADAPALLI

Director of Engineering

Director of Engineering @ upGrad. Motivated to leverage technology to solve problems. Seasoned leader for startups and fast moving orgs. Working …Read More

###### Talk to Career Expert
+91
*
By clicking, I accept theT&Cand
Privacy Policy
Join 10M+ Learners & Transform Your Career
Learn on a personalised AI-powered platform that offers best-in-class content, live sessions & mentorship from leading industry experts.

## upGrad Learner Support

Talk to our experts. We’re available 24/7.

Indian Nationals

1800 210 2020

Foreign Nationals

+918045604032

## Disclaimer

upGrad does not grant credit; credits are granted, accepted or transferred at the sole discretion of the relevant educational institution offering the diploma or degree. We advise you to enquire further regarding the suitability of this program for your academic, professional requirements and job prospects before enr...