C Language Introduction - GeeksforGeeks (2024)

C is a procedural programming language initially developed by Dennis Ritchie in the year 1972 at Bell Laboratories of AT&T Labs. It was mainly developed as a system programming language to write the UNIX operating system.

C Language Introduction - GeeksforGeeks (1)

The main features of the C language include:

  • General Purpose and Portable
  • Low-level Memory Access
  • Fast Speed
  • Clean Syntax

These features make the C language suitable for system programming like an operating system or compiler development.

Why Should We Learn C?

Many later languages have borrowed syntax/features directly or indirectly from the C language. Like syntax of Java, PHP, JavaScript, and many other languages are mainly based on the C language. C++ is nearly a superset of C language (Only a few programs may compile in C, but not in C++).

So, if a person learns C programming first, it will help him to learn any modern programming language as well. As learning C help to understand a lot of the underlying architecture of the operating system. Like pointers, working with memory locations, etc.

Get Started with C Learn C fundamentals and advanced concepts, then solve practical problems right in your browser window with Educative’s interactive skill path Become a C Programmer. Sign up at Educative.io with the code GEEKS10 to save 10% on your subscription.

Difference Between C and C++

C++ was created to add the OOPs concept into C language so they both have very similar syntax but both are a bit different from each other. Following are some main differences between C and C++ Programming language.

  • C++ supports OOPs paradigm while C only have procedural concept of programming.
  • C++ have exception handling capablities. In C, we have to resolve manually.
  • There are no references in C.

There are many more differences between C and C++ which are discussed here: Difference between C and C++

Beginning with C Programming

Writing the First Program in C

The following code is one of the simplest C programs that will help us the basic syntax structure of a C program.

Example:

C
#include <stdio.h>int main() { int a = 10; printf("%d", a);  return 0; }

Output

10

Let us analyze the structure of our program line by line.

Structure of the C program

After the above discussion, we can formally assess the structure of a C program. By structure, it is meant that any program can be written in this structure only. Writing a C program in any other structure will hence lead to a Compilation Error. The structure of a C program is as follows:

C Language Introduction - GeeksforGeeks (2)

Components of a C Program:

1. Header Files Inclusion – Line 1 [#include <stdio.h>]

The first and foremost component is the inclusion of the Header files in a C program.A header file is a file with extension .h which contains C function declarations and macro definitions to be shared between several source files. All lines that start with # are processed by a preprocessor which is a program invoked by the compiler. 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()]

The next part of a C program is to declare the main() function. It is the entry point of a C program and the execution typically begins with the first line of the main(). The empty brackets indicate that the main doesn’t take any parameter (See this for more details). The int that was written before the main indicates the return type of main(). The value returned by the main indicates the status of program termination. See this post for more details on the return type.

3. Body of Main Method – Line 3 to Line 6 [enclosed in {}]

The body of a function in the C program refers to statements that are a part of that function. It can be anything like manipulations, searching, sorting, printing, etc. A pair of curly brackets define the body of a function. All functions must start and end with curly brackets.

4. Statement – Line 4 [printf(“Hello World”);]

Statements are the instructions given to the compiler. In C, a statement is always terminated by a semicolon (;). In this particular case, we use printf() function to instruct the compiler to display “Hello World” text on the screen.

5. Return Statement – Line 5 [return 0;]

The last part of any C function is the return statement. The return statement refers to the return values from a function. This return statement and return value depend upon the return type of the function. The return statement in our program returns the value from main(). The returned value may be used by an operating system to know the termination status of your program. The value 0 typically means successful termination.

How to Execute the Above Program?

In order to execute the above program, we need to first compile it using a compiler and then we can run the generated executable. There are online IDEs available for free like GeeksforGeeksIDE, that can be used to start development in C without installing a compiler.

  1. Windows: There are many free IDEs available for developing programs in C like Code Blocks and Dev-CPP. IDEs provide us with an environment to develop code, compile it and finally execute it. We strongly recommend Code Blocks.
  2. Linux: GCC compiler comes bundled with Linux which compiles C programs and generates executables for us to run. Code Blocks can also be used with Linux.
  3. macOS: macOS already has a built-in text editor where you can just simply write the code and save it with a “.c” extension.

Application of C

  • Operating systems: C is widely used for developing operating systems such as Unix, Linux, and Windows.
  • Embedded systems: C is a popular language for developing embedded systems such as microcontrollers, microprocessors, and other electronic devices.
  • System software: C is used for developing system software such as device drivers, compilers, and assemblers.
  • Networking: C is widely used for developing networking applications such as web servers, network protocols, and network drivers.
  • Database systems: C is used for developing database systems such as Oracle, MySQL, and PostgreSQL.
  • Gaming: C is often used for developing computer games due to its ability to handle low-level hardware interactions.
  • Artificial Intelligence: C is used for developing artificial intelligence and machine learning applications such as neural networks and deep learning algorithms.
  • Scientific applications: C is used for developing scientific applications such as simulation software and numerical analysis tools.
  • Financial applications: C is used for developing financial applications such as stock market analysis and trading systems.

Elevate your coding journey with a Premium subscription. Benefit from ad-free learning, unlimited article summaries, an AI bot, access to 35+ courses, and more-available only with GeeksforGeeks Premium! Explore now!


`; tags.map((tag)=>{ let tag_url = `videos/${getTermType(tag['term_id__term_type'])}/${tag['term_id__slug']}/`; tagContent+=``+ tag['term_id__term_name'] +``; }); tagContent+=`
C Language Introduction - GeeksforGeeks (2024)
Top Articles
Zodiac Academy Book 7 Spoilers
TelevisaUnivision on LinkedIn: Breaking barriers and impacting the world of Spanish-language media would…
Poe T4 Aisling
Artem The Gambler
Here are all the MTV VMA winners, even the awards they announced during the ads
Mileage To Walmart
Sportsman Warehouse Cda
Osrs But Damage
WK Kellogg Co (KLG) Dividends
Pollen Count Central Islip
Clairememory Scam
Call Follower Osrs
Spelunking The Den Wow
Nick Pulos Height, Age, Net Worth, Girlfriend, Stunt Actor
Wbiw Weather Watchers
Boscov's Bus Trips
Melendez Imports Menu
Www.craigslist.com Savannah Ga
Airline Reception Meaning
Mdt Bus Tracker 27
Klsports Complex Belmont Photos
Riverstock Apartments Photos
Kuttymovies. Com
Skepticalpickle Leak
Free Tiktok Likes Compara Smm
Desales Field Hockey Schedule
Star News Mugshots
Kattis-Solutions
Sun-Tattler from Hollywood, Florida
Breckie Hill Fapello
دانلود سریال خاندان اژدها دیجی موویز
Poe Flameblast
Temu Y2K
Felix Mallard Lpsg
Cygenoth
San Bernardino Pick A Part Inventory
VPN Free - Betternet Unlimited VPN Proxy - Chrome Web Store
Owa Hilton Email
Craigslist Food And Beverage Jobs Chicago
Craigslist Central Il
Craigslist Minneapolis Com
Unblocked Games - Gun Mayhem
Rescare Training Online
This Doctor Was Vilified After Contracting Ebola. Now He Sees History Repeating Itself With Coronavirus
Access to Delta Websites for Retirees
Www Pig11 Net
St Als Elm Clinic
Besoldungstabellen | Niedersächsisches Landesamt für Bezüge und Versorgung (NLBV)
Inloggen bij AH Sam - E-Overheid
The Love Life Of Kelsey Asbille: A Comprehensive Guide To Her Relationships
Noaa Duluth Mn
Emmi-Sellers
Latest Posts
Article information

Author: Rev. Porsche Oberbrunner

Last Updated:

Views: 5545

Rating: 4.2 / 5 (73 voted)

Reviews: 80% of readers found this page helpful

Author information

Name: Rev. Porsche Oberbrunner

Birthday: 1994-06-25

Address: Suite 153 582 Lubowitz Walks, Port Alfredoborough, IN 72879-2838

Phone: +128413562823324

Job: IT Strategist

Hobby: Video gaming, Basketball, Web surfing, Book restoration, Jogging, Shooting, Fishing

Introduction: My name is Rev. Porsche Oberbrunner, I am a zany, graceful, talented, witty, determined, shiny, enchanting person who loves writing and wants to share my knowledge and understanding with you.