Courses βeta
C Programming

## C Language Introduction

C is a procedural programming language. It was initially developed by Dennis Ritchie between 1969 and 1973. It was mainly developed as a system programming language to write the operating system. The main features of C language include low-level access to memory, a simple set of keywords, and clean style, these features make C language suitable for system programming like the operating system or compiler development. Many later languages have borrowed syntax/features directly or indirectly from C language. Like syntax of Java, PHP, JavaScript and many other languages is mainly based on C language. C++ is nearly a superset of C language (There are few programs that may compile in C, but not in C++).

Beginning with C programming:

1) Finding a Compiler:
Before we start C programming, we need to have a compiler to compile and run our programs. There are certain online compilers like http://code.geeksfogeeks.org/, http://ideone.com/ or http://codepad.org/ that can be used to start C without installing a compiler. Windows: There are many compilers available freely for the compilation of C programs like Code Blocks and Dev-CPP. We strongly recommend Code Blocks. Linux: For Linux, GCC comes bundled with the Linux, Code Blocks can also be used with Linux.

2) Writing first program:

#include <stdio.h>
int main(void)
{
printf("GeeksQuiz");
return 0;
}


Output:

GeeksQuiz

Let us analyze the program line by line.
Line 1: [ #include ] In a C program, all lines that start with # are processed by a preprocessor which is a program invoked by the compiler. In a very basic term, preprocessor takes a C program and produces another C program. The produced program has no lines starting with #, all such lines are processed by the preprocessor. In the above example, preprocessor copies the preprocessed code of stdio.h to our file. The .h files are called header files in C. These header files generally contain a declaration of functions. We need stdio.h for the function printf() used in the program.

Line 2 [ int main(void) ] There must be starting point from where execution of compiled C program begins. In C, the execution typically begins with first line of main(). The void written in brackets indicates that the main doesn’t take any parameter. Though main() can be written to take parameters also. The int written before main indicates return type of main(). The value returned by main indicates status of program termination. See this post for more details on return type.

Line 3 and 6: [ { and } ] In C language, a pair of curly brackets define a scope and mainly used in functions and control statements like if, else, loops. All functions must start and end with curly brackets.

Line 4 [ printf(“GeeksQuiz”); ] printf() is a standard library function to print something on standard output. The semicolon at the end of printf indicates line termination. In C, a semicolon is always used to indicate the end of the statement.

Line 5 [ return 0; ] The return statement returns the value from main(). The returned value may be used by operating system to know termination status of your program. The value 0 typically means successful termination.