What is required in each C Program?
Each C program must require one function, i.e., main() function. It is because when we execute the C program, C compiler looks for the main() function, and from here only the execution gets started. Other than main() function, there is a specified structure of C program that programmers should follow.
Each programming language have a specified syntax and structure, and while writing the code we have to follow that structure. If we don’t follow it, we might get trouble and several errors or bugs while executing the code.
The basic required structure of a C program is as follows:
- Pre-processor Commands
- main() function
- Variables
- Statements & Expressions
1. Pre-processor Commands:
When a C program is compiled by compiler, a software called as pre-processor performs a procedure on the source code.
Pre-processor directives are a type of commands used in pre-processor; these commands start with the symbol #.
Pre-processor resolves statements that begin with # and removes them as well.
#include<stdio.h>
Above line is a pre-processor directive that instructs the compiler to include the standard input output header files in the program before moving on to the actual compilation, and it contains the definitions of all standard input and output functions.
Pre-processor Directives:
There are four categories into which the pre-processor directives are broken down, which are as follows:
- Macros
- File Inclusion
- Condition compilation
- Additional Directives
Macros:
There are two different kinds of macros: one that accepts an argument and the other that does not. Using the pre-processor command #define, we may define a macro in C.
Syntax:
#define Name Replacement_text
Name: It is also called macro template.
Replacement_text: It is known as macro expansion.
A macro name is typically written in capital letters.
File Inclusion:
The #include command is used for file inclusion.
Syntax:
#include<fileName>
The filename's contents will be changed at the point where the directive is written. We can include the header files in the program by utilizing the file inclusive directive.
Condition compilation:
When deciding whether to compile a particular set of code lines, conditional compilation is utilised.
It employs directives like "if," "elif," "else," and "endif."
Additional Directives:
There are two important directives are as follows:
- #undef: A declared macro variable can be undefined using the #undef
- #pragma: A C program uses #pragma to call functions both before and after the main function.
main() Function:
The start of the programming's actual execution occurs at this moment.
This serves as the starting point for all C programs.
The main() function receives immediate control when execution begins.
It is a Pre- defined function in C library.
The main() calls all predefined and user-defined functions directly or indirectly.
This is the mandatory function. Without this function, it would not be possible for our code to run because it serves as the entrance point.
The memory location defined by main () is where the compiler begins reading a programming instruction.
Numerous operating system applications are stored in computer memory, and to distinguish each one from the others, the main () function of each program's memory address is employed.
The beginning of main () is defined by a specified memory location.
int main()
int is a Keyword in C language.
There is no parameter in this main function.
int main() denotes that this method will only return values of the integer type. With a return statement like “return 0,” type of value is returned.
void main()
void is a keyword in C language.
No parameters are passed to this main function.
void main() denotes that this method will return nothing. This void main() does not require a return statement like “return 0”.
int main(int argc, char *argv)
This main function is called command-line arguments.
There are 2 parameters passed to this main function which are integer(int argc) and character(char *argv) data type.
- The integer type argc means ARGuments counts, which gives the number of command-line arguments, which also includes the program's name.
- The character type argv means ARGument Vector, which is known as a character pointer array, and this argv also holds pointers to strings.
int main(void)
int main(void) displays that it does not accept any arguments.
The main function will accept any number of arguments if the void is removed from the brackets.
Void expresses explicitly that main may be called here without any arguments.
void main(void)
like void main(), this also does not return any values.
int main(void) also displays that it does not accept arguments.
Unlike the void main(), this main does not accept multiple parameters.
Variables:
Variable is the name of the memory place where we can store any value, such as an int, char, float, or double.
Variables are crucial to computer programming because they allow us for creating adaptable programs.
A programmer can represent data in a program using variables instead of simply entering it.
Variables may represent character strings, memory addresses, or numeric values.
A program requires memory to store data while it is running.
It could be a number, a response to a query, or something else. Declaring a variable is required for this.
The variables are replaced with actual data when the program is run.
Statements & Expressions:
A statement is a directive issued to a computer that tells it to carry out a specific task, like displaying something on the screen or gathering input. There are many statements that make up a computer program.
The control statements enable users to select the sequence in which the instructions in a program should be executed.
A group of variables and constants are joined by one or more operators to form an expression. An expression is made up of one or more operators as well as one or more operands.
A program's tasks are carried out using expressions. Expressions can be used to compute values for variables, assign values to variables, and guide the flow of a program's execution, among other things.
Program:
#include <stdio.h>
int main()
{
int a,b ,sum;
sum=0;
printf("Enter the value of a and b:\n");
scanf("%d %d", &a,&b);
sum = a+b;
printf("The Sum of a and b is : %d",sum);
return 0;
}
Explanation:
- Here we have used file Inclusion Preprocessor Directives which is #inlcude<stdio.h>
- <stdio.h> instructs the compiler to include the standard input output header files in the program before moving on to the actual compilation, which contains the definitions of all standard input and output functions.
- Main() function serves as starting point for all c program.
- int main() denotes that this method will only return values of the integer type. With a return statement like “return 0,” this type of value is returned.
- We have three variables a, b, and sum which all have int data type.
- “int a, b, and sum” is a declaration statement.
- Post the declaration statement, all further statements are action statement except “return 0”.
- We get our sum using printf() function.
Program Output:
