Function / Methods In C Programming Language

In today’s video tutorial lets learn the basics of function or methods in C programming language.

Function / Method: is a group of statements that together perform certain task.

Note: Every C program should have 1 main function. No 2 functions / methods should be named as main.

Video Tutorial: Function / Methods In C Programming Language


[youtube https://www.youtube.com/watch?v=X7auVd3QpTM]

YouTube Link: https://www.youtube.com/watch?v=X7auVd3QpTM [Watch the Video In Full Screen.]

Advantages of Function/Methods

1. It provides modularity to the program structure.
2. You can reuse your code. You can write function definition once and call the function any number of times in your program.
3. Easy to read, understand, edit and debug your code.

Types of Functions/Methods

1. Built in functions/methods.
2. User defined functions/methods.

1. Built in functions/methods: So far we’ve used a lot of builtin methods like pow(), sin(), cos(), tan(), sqrt() etc which are all present in library / header file math.h

If you open math.h header file and check the code, it’ll have function prototype and function definition for pow(), sin(), cos(), tan(), sqrt() etc.

Functions like printf(), scanf() and other input output functions/methods are present in stdio.h library file.

Similarly, if we want to write user defined function, we must specify the function prototype and function definition ourselves.

2. User defined functions/methods: We can define and use our own functions. We can have 4 types of user defined functions/methods.
a. No return type, no arguments.
b. No return type, with arguments.
c. With return type, no arguments.
d. With return type, with arguments.

Stay subscribed to our YouTube channel and blog for video tutorials explaining all types of user defined functions.

General Syntax of user defined Funtion/Method

1. Function prototype.
return_type funtion_name(argument_data_type_list);

2. Function definition.
return_type funtion_name(argument_data_type_list)
{
//instructions
}

3. Function Call.
funtion_name(argument_data_type_list);

Source Code: Function / Methods In C Programming Language: With Return Type and With Arguments

#include<stdio.h>

int add(int, int); // function prototype

int main()
{
    int a = 10, b = 20, c;

    c = add(a, b); // function call

    printf("Addition of %d and %d is %d\n", a, b, c);

    return 0;
}

//function definition
int add(int i, int j)
{
    return(i+j);
}

Output
Addition of 10 and 20 is 30

Source Code: Function / Methods In C Programming Language: No Return Type and No Arguments

#include<stdio.h>

void companies(); // function prototype

int main()
{
    companies(); // function call

    return 0;
}

//function definition
void companies()
{
    printf("1. IBM\n");
    printf("2. Apple\n");
    printf("3. Google\n");
    printf("4. Oracle\n");
    printf("5. Ripple\n");
}

Output
1. IBM
2. Apple
3. Google
4. Oracle
5. Ripple

Source Code: Function / Methods In C Programming Language: No Return Type and With Arguments

#include<stdio.h>

void multiply(int, int); // function prototype

int main()
{
    int a = 9, b = 12;

    multiply(a, b); // function call

    return 0;
}

//function definition
void multiply(int x, int y)
{
    printf("%d x %d = %d\n", x, y, (x*y));
}

Output
9 x 12 = 108

Source Code: Function / Methods In C Programming Language: With Return Type and No Arguments

#include<stdio.h>

int subtract(); // function prototype

int main()
{
    printf("Subtraction Result = %d\n", subtract() ); // function call

    return 0;
}

//function definition
int subtract()
{
    int a = 50, b = 25, c;

    c = a - b;

    return(c);
}

Output
Subtraction Result = 25

For list of all c programming interviews / viva question and answers visit: C Programming Interview / Viva Q&A List

For full C programming language free video tutorial list visit:C Programming: Beginner To Advance To Expert

C Program To Find Grace Marks of Student Using Switch Case

Write a C program to find the grace marks for a student using switch. The user should enter the class obtained by the student and the number of subjects he has failed in. Use the following logic:

– If the student gets first class and the number of subjects he failed in is greater than 3, then he does not get any grace. Otherwise the grace is of 5 marks per subject.

– If the student gets second class and the number of subjects he failed in is greater than 2, then he does not get any grace. Otherwise the grace is of 4 marks per subject.

– If the student gets third class and the number of subjects he failed in is greater than 1, then he does not get any grace. Otherwise the grace is of 5 marks per subject.

Related Read:
if else statement in C
Switch Case Default In C Programming Language

Video Tutorial: C Program To Find Grace Marks of Student Using Switch Case


[youtube https://www.youtube.com/watch?v=wpfh-tLWbEo]

YouTube Link: https://www.youtube.com/watch?v=wpfh-tLWbEo [Watch the Video In Full Screen.]

Source Code: C Program To Find Grace Marks of Student Using Switch Case

#include<stdio.h>

int main()
{
    int grade, grace = 0, failed;

    printf("Enter the class obtained by the student\n");
    scanf("%d", &grade);

    printf("How many subjects has the student failed\n");
    scanf("%d", &failed);

    switch(grade)
    {
        case 1:
                if(failed > 3)
                    grace = 0;
                else
                    grace = 5;

                break;

        case 2:
                if(failed > 2)
                    grace = 0;
                else
                    grace = 4;

                break;

        case 3:
                if(failed > 1)
                    grace = 0;
                else
                    grace = 5;

                break;

         default: printf("You entered wrong class for the student\n");

    }

    if(grade == 1 || grade == 2 || grade == 3)
    {
        printf("The student has obtained a grace marks of %d per subject\n", 
              grace);
    }

    return 0;
}

Output 1
Enter the class obtained by the student
1
How many subjects has the student failed
2
The student has obtained a grace marks of 5 per subject

Output 2
Enter the class obtained by the student
2
How many subjects has the student failed
3
The student has obtained a grace marks of 0 per subject

For list of all c programming interviews / viva question and answers visit: C Programming Interview / Viva Q&A List

For full C programming language free video tutorial list visit:C Programming: Beginner To Advance To Expert

Switch Case Default In C Programming Language

In this video tutorial lets learn how switch case decision control statement works and its syntax in C Programming Language.

Related Read:
Simple Calculator Program using Switch Case: C
break Statement In C Programming Language
Continue Statement In C Programming Language

Note: The condition in switch must be a integer constant or an expression which evaluates to an integer constant.

Video Tutorial: Switch Case Default In C Programming Language


[youtube https://www.youtube.com/watch?v=XklMeJ5ha1A]

YouTube Link: https://www.youtube.com/watch?v=XklMeJ5ha1A [Watch the Video In Full Screen.]

Source Code: Switch Case Default In C Programming Language

#include<stdio.h>

int main()
{
    char choice;

    printf("Enter your choice\n");
    scanf("%c", &choice);

    switch(choice)
    {
        case 'a':
        case 'A': printf("You typed A or a\n");
                  break;

        case 'b':
        case 'B': {
                   printf("You typed B or b\n");
                   break;
                  }

        default: printf("Your selection is wrong!\n");
    }

    return 0;
}

Output 1
Enter your choice
B
You typed B or b

Output 2
Enter your choice
b
You typed B or b

Here we’ve not specified keyword break after case ‘a’ and case ‘b’, that means if user enters a or A, for both whatever is present in case ‘A’ gets executed and then control exits switch case when it encounters break statement. Similarly for ‘b’ and ‘B’.

Also note that curly braces are optional here. Infact its unnecessary to use curly braces in switch case statements.

#include<stdio.h>

int main()
{
    int choice;

    printf("Enter your choice\n");
    scanf("%d", &choice);

    switch(choice)
    {
        case 1: printf("This is first statement\n");

        case 2: printf("This is second statement\n");

        default: printf("Your selection is wrong!\n");
    }

    return 0;
}

Output 1
Enter your choice
1
This is first statement
This is second statement
Your selection is wrong!

Output 2
Enter your choice
2
This is second statement
Your selection is wrong!

Here we’re not using break after any case, so it’s printing statements present in all the cases.

#include<stdio.h>
int main()
{
    int choice;

    printf("Enter your choice\n");
    scanf("%d", &choice);

    switch(choice)
    {
        case 1: printf("This is first statement\n");
                break;

        case 2: printf("This is second statement\n");
                break;

        default: printf("Your selection is wrong!\n");
    }

    return 0;
}

Output 1
Enter your choice
1
This is first statement

Output 2
Enter your choice
2
This is second statement

Output 3
Enter your choice
a
Your selection is wrong!

#include<stdio.h>
int main()
{
    int choice;

    printf("Enter your choice\n");
    scanf("%d", &choice);

    switch(choice)
    {
        case 2: printf("Apple\n");
                break;

        case 1: printf("IBM\n");
                break;

        default: printf("Your selection is wrong!\n");
    }

    return 0;
}

Output 1
Enter your choice
1
IBM

Here order doesn’t matter. As you can see from above example, case 2 comes before case 1.

#include<stdio.h>
int main()
{
    int choice;

    printf("Enter your choice\n");
    scanf("%d", &choice);

    switch(choice)
    {
        printf("List of companies\n");
        case 2: printf("Apple\n");
                break;

        case 1: printf("IBM\n");
                break;

        default: printf("Your selection is wrong!\n");
    }

    return 0;
}

Output 1
Enter your choice
1
IBM

All the code must go inside any of the cases orelse those code will not have any effect. In above program the printf statement with “List of companies” doesn’t get printed and it doesn’t even throw any error.

Note:
1. default case is optional.
2. Value of cases in switch must always be unique.
3. switch can not be used with float, double.
4. Switch, case, default are all builtin keywords.
5. continue does not take the control back to the start of switch.

For list of all c programming interviews / viva question and answers visit: C Programming Interview / Viva Q&A List

For full C programming language free video tutorial list visit:C Programming: Beginner To Advance To Expert

goto Keyword In C Programming Language

In this video tutorial lets learn how goto keyword works and its syntax in C Programming Language.

Note: As for as possible lets avoid using goto keyword and lets write programs using for loop, while loop, do while loop, continue and break statements itself. Lets learn usage of goto keyword just for the sake of knowing about it.

Related Read:
Continue Statement In C Programming Language
break Statement In C Programming Language

Video Tutorial: goto Keyword In C Programming Language


[youtube https://www.youtube.com/watch?v=FglRha0EdvQ]

YouTube Link: https://www.youtube.com/watch?v=FglRha0EdvQ [Watch the Video In Full Screen.]

Source Code: goto Keyword In C Programming Language

#include<stdio.h>

int main()
{
    int count = 1;

    while(count <= 10)
    {
        if(count == 6)
            goto six; // six is the label

        printf("%d IBM\n", count++);
    }

    six:
        printf("This is sixth loop\n");

    return 0;
}

Output
1 IBM
2 IBM
3 IBM
4 IBM
5 IBM
This is sixth loop

Working of goto Statement in C Programming Language

goto statement should always have a label associated with it. In above program label is six. Once count value is 6, control encounters goto six; Control searches for label six inside the program. Once it gets the label six, it executes the statements associated with label six.

For list of all c programming interviews / viva question and answers visit: C Programming Interview / Viva Q&A List

For full C programming language free video tutorial list visit:C Programming: Beginner To Advance To Expert

do-while Loop In C Programming Language

In this video tutorial lets learn about the general syntax and working of do-while loop in C programming language.

Related Read:
while loop in C programming
For Loop In C Programming Language
Using Scanf in C Program

Video Tutorial: do-while Loop In C Programming Language


[youtube https://www.youtube.com/watch?v=iGZACvW1HhA]

YouTube Link: https://www.youtube.com/watch?v=iGZACvW1HhA [Watch the Video In Full Screen.]

Source Code: do-while Loop In C Programming Language

#include<stdio.h>

int main()
{
    int count = 1;

    do
    {
        printf("Apple\n");
        printf("IBM\n");

    }while(count > 5);

    return 0;
}

Output
Apple
IBM

Note: Even though the while condition is false, the code inside do block gets executed atleast once.

Source Code: do-while Loop In C Programming Language

#include<stdio.h>

int main()
{
    char ch;

    do
    {
        printf("Apple\n");
        printf("IBM\n");

        printf("Do you want to continue?(y/n)");
        scanf("%c", &ch);

        fflush(stdin);

    }while(ch == 'y');

    return 0;
}

Output
Apple
IBM
Do you want to continue?(y/n)y
Apple
IBM
Do you want to continue?(y/n)y
Apple
IBM
Do you want to continue?(y/n)y
Apple
IBM
Do you want to continue?(y/n)y
Apple
IBM
Do you want to continue?(y/n)n

Working of do-while Loop

Unlike in while and for loop, in do-while loop the statements inside do block gets executed atleast once. After executing the statements present in do block atleast once, the condition present in while is checked. If while condition is true, then the block of code in do{} gets executed once again. If condition in while is false then the control exists do-while loop.

Note: Since we might start to input information from the keyboard repeatedly inside do-while block, scanf() method keeps checking the input buffer. And often times it gets confused with the input buffer and thinks that the user has pressed the enter key. To avoid that we flush out the previous buffer present in input device(ex: keyboard) using function fflush(). fflush takes stdin as argument, so that it can clear the buffer of standard input device. fflush(stdin);

Source Code: Infinite Looping in do-while Loop – In C Programming Language

#include<stdio.h>

int main()
{
    do
    {
        printf("Apple\n");
        printf("IBM\n");

    }while(1);

    return 0;
}

Output
do-while loop gets into infinite loop as the condition in while is non-zero number, which means the condition is always true.

Apple
IBM

For list of all c programming interviews / viva question and answers visit: C Programming Interview / Viva Q&A List

For full C programming language free video tutorial list visit:C Programming: Beginner To Advance To Expert