50% users failed to get the best score. It's your turn to test now.

Questions curated by the expert mentors at codzify.com

__Article__

2 mins 51 sec read

C++ Functions are defined as simply a set of statements which are executed one by one. Every C++ Program contains various functions which perform a particular task defined.

Inside IT Companies there are different persons performing different functions like managers Function is different, Employees Function is different. Each Person performs his own task. Similarly, In Programming Language Functions are different blocks of statements which performs their own tasks.

returnType functionName() { statement 1; statement 2; }

**returnType** indicates the type that function returns. Type may be Integer , Float ,Double , void etc.

**functionName()** indicates the name of user-defined function.

**statement 1; statement 2 ** indicates the statements you want to execute.

void main() { displayMessage (); printf("Hey ! This is my first function :-: "); } displayMessage() { printf("Yeppiee ! Main Method Called me :-: "); }

Yeppiee ! Main Method Called me :-: Hey ! This is my first function :-:

This was the very basic example for understanding what actually function does .

This is the entry point of any C++ Program. This is where the program starts. Yeah, of course, you may write every 10's of thousands of lines inside the main. But think **Is it readable later in future?** So why not to break those 1000 lines statements into Functions and let that function handle the statements. That's why Functions are introduced into C++ Language.

Every C++ function returns **integer** value by default. If you don't specify any returnType to a function, it's integer always remember.

In this program we calculate the square of a number which is of **float** type.

main() { float a, b ; printf (" Enter any number ") ; scanf ("%f", &a) ; b = square (a) ; printf (" Square of %f is %f", a, b) ; }/* Square Function returns integer value by default here. Because if there is no returntype mentioned , Compiler will assume it as integer datatype.*/square (float x) { float y ; y = x*x; return (y) ; }

Enter any number 3 Square of 3 is 9.000000 Enter any number 1.5 Square of 1.5 is 2.000000/* is square of 1.5 is 2.000 ? */Enter any number 2.5 Square of 2.5 is 6.000000/* is square of 2.5 is 6.000 ? */

Since we did not specified returnType to Square function compiler assumed it as integer datatype. So square of 1.5 is **2.25** but since there is integer returntype ,**0.25** will get discarded.That's why output is **2.000**

Square of 2.5 is **6.25** but since there is integer returntype **.25** will gets discarded. That's why output is **6.000**

That's why you have to specify the declaration of function first or you have to specify the prototype of a function.

main() {/* This is how you declare a function */float square (float) ; float a, b ; printf (" Enter any number ") ; scanf ("%f", &a) ; b = square (a) ; printf (" Square of %f is %f", a, b) ; }/* Function Square with float returnType */float square (float x) { float y ; y = x * x; return ( y ) ; }

Enter any number 1.5 Square of 1.5 is 2.250000 Enter any number 2.5 Square of 2.5 is 6.250000

Function defination provides the actual body of the function. The statements we had written inside **square** function is called as providing the body to any function.So for square function , Function Defination will look like this

float square (float x) { float y ; y = x * x; return ( y ) ; }

Easy to use online data structure compiler where you can execute the programs in your favourite programming language.

(C, C++, Python)

Execute your HTML, CSS and javascript code in real time with the web editor

(HTML, CSS, Bootstrap, Javascript)