C Language Introduction
The C programming language is a general-purpose programming language that was created in the early 1970s by Dennis Ritchie at Bell Labs.
It is one of the most widely used and influential programming languages, and many modern programming languages, such as C++, C#, and Objective-C, have been influenced by C.
It was mainly developed as a system programming language to write the UNIX operating system.
The main features of the C language include:
1. General Purpose and Portable
2. Low-level Memory Access
3. Fast Speed
4. Clean Syntax
Why Should We Learn C?
C provides several benefits, and it continues to be relevant despite the emergence of newer programming languages. Here are some reasons why learning C is valuable:
1. Foundation for Programming Knowledge:
C is often referred to as the "mother of all languages" because many programming languages, including C++, C#, and Objective-C, have borrowed syntax or concepts from C. Understanding C gives you a solid foundation for learning other languages.
2. System Programming:
C is widely used for system-level programming and developing operating systems. If you're interested in understanding how computers work at a fundamental level, learning C is essential.
3. Efficiency and Performance:
C allows for low-level manipulation of memory and hardware, providing fine-grained control over a system's resources. This makes it a language of choice for performance-critical applications, such as game development, embedded systems, and real-time systems.
4. Portability:
C programs are highly portable across different platforms. Knowing C allows you to write code that can be compiled and run on various operating systems and hardware architectures with minimal modifications.
5. Embedded Systems:
Many embedded systems, such as those found in microcontrollers and IoT devices, are programmed using C. Learning C is essential for anyone interested in working with embedded systems.
6. High Demand in Industry:
Despite the emergence of newer languages, C remains in high demand in industries where performance and efficiency are critical, such as finance, aerospace, and telecommunications.
Beginning with C programming:
Writing the First Program in C
#include <stdio.h> int main() { int a = 10; printf("%d", a); return 0; } |
Output = 10
Structure of the C program
Source - geeksforgeeks |
1. Header Files Inclusion – Line 1 [#include <stdio.h>]
By including <stdio.h>, you gain access to functions and definitions necessary for basic input and output operations, making it an integral part of many C programs. This line is a standard practice at the beginning of C programs to ensure that the program has the required functionality for interacting with the user and the environment.
In the above example, the preprocessor copies the preprocessed code of stdio.h to our file. The .h files are called header files in C.
Some of the C Header files:
stddef.h – Defines several useful types and macros.
stdint.h – Defines exact width integer types.
stdio.h – Defines core input and output functions
stdlib.h – Defines numeric conversion functions, pseudo-random number generator, and memory allocation
string.h – Defines string handling functions
math.h – Defines common mathematical functions.
2. Main Method Declaration – Line 2 [int main()]
int: It specifies the return type of the function. In this case, main is expected to return an integer value.
main: It is the name of the function. In C, every program must have a main function, which serves as the entry point for program execution.
(): These parentheses indicate that main takes no parameters. The absence of parameters is common in simple C programs, but main can also be defined to accept command-line arguments if needed.
The main function is where the program execution begins. It contains the statements that define what the program does. For example, printing output to the console, reading input, and performing various operations can all be part of the main function.
3. Body of Main Method – Line 3 to Line 6 [enclosed in {}]
{: This opening curly brace marks the beginning of the main function's body.
// Statements go here: This is a placeholder for the actual statements of your program. Inside these braces, you would write the instructions that define the behavior of your program. This can include variable declarations, control flow statements (like if, else, while), and function calls.
return 0; This line indicates the end of the main function. The return statement is used to exit the function, and 0 is typically returned to the operating system to indicate a successful execution. The inclusion of return 0; is a convention, and not having it implicitly returns 0.
4. Statement – Line 4 [printf(“Hello World”);]
printf: This is a standard library function in C used for formatted output. It stands for "print formatted" and is part of the <stdio.h> header.
("Hello, World!\n"): The content within the parentheses is the format string. In this case, it contains the text "Hello, World!\n". \n represents a newline character, causing the cursor to move to the beginning of the next line after printing "Hello, World!".
The printf function is versatile and allows for the formatting of output. In this simple example, it's used to display a message on the console.