C is a high-level and general-purpose programming language that is ideal for developing firmware or portable applications. Originally intended for writing system software, C was developed at Bell Labs by Dennis Ritchie for the Unix Operating System in the early 1970s.
Ranked among the most widely used languages, C has a compiler for most computer systems and has influenced many popular languages – notably C++.
Advertisement
Techopedia Explains C Programming Language (C)
C belongs to the structured, procedural paradigms of languages. It is proven, flexible and powerful and may be used for a variety of different applications. Although high level, C and assembly language share many of the same attributes.
C language Tutorial with programming approach for beginners and professionals, helps you to understand the C language tutorial easily. Our C tutorial explains each topic with programs.
The C Language is developed by Dennis Ritchie for creating system applications that directly interact with the hardware devices such as drivers, kernels, etc.
C programming is considered as the base for other programming languages, that is why it is known as mother language.
It can be defined by the following ways:
- Mother language
- System programming language
- Procedure-oriented programming language
- Structured programming language
- Mid-level programming language
1) C as a mother language
C language is considered as the mother language of all the modern programming languages because most of the compilers, JVMs, Kernels, etc. are written in C language, and most of the programming languages follow C syntax, for example, C++, Java, C#, etc.
It provides the core concepts like the array, strings, functions, file handling, etc. that are being used in many languages like C++, Java, C#, etc.
2) C as a system programming language
A system programming language is used to create system software. C language is a system programming language because it can be used to do low-level programming (for example driver and kernel). It is generally used to create hardware devices, OS, drivers, kernels, etc. For example, Linux kernel is written in C.
It can't be used for internet programming like Java, .Net, PHP, etc.
3) C as a procedural language
A procedure is known as a function, method, routine, subroutine, etc. A procedural language specifies a series of steps for the program to solve the problem.
A procedural language breaks the program into functions, data structures, etc.
C is a procedural language. In C, variables and function prototypes must be declared before being used.
4) C as a structured programming language
A structured programming language is a subset of the procedural language. Structure means to break a program into parts or blocks so that it may be easy to understand.
In the C language, we break the program into parts using functions. It makes the program easier to understand and modify.
5) C as a mid-level programming language
C is considered as a middle-level language because it supports the feature of both low-level and high-level languages. C language program is converted into assembly code, it supports pointer arithmetic (low-level), but it is machine independent (a feature of high-level).
A Low-level language is specific to one machine, i.e., machine dependent. It is machine dependent, fast to run. But it is not easy to understand.
A High-Level language is not specific to one machine, i.e., machine independent. It is easy to understand.
In this tutorial, all C programs are given with C compiler so that you can quickly change the C program code.
File: main.c
A detailed description of above program is given in next chapters.
C Programming Index
C Tutorial
C Control Statements
C Functions
C Array
C Pointers
C Dynamic Memory
C Strings
C Math
C Structure Union
C File Handling
C Preprocessor
C Command Line
C Programming Test
C Programs
C Programming Test
C Fundamental Test
C Control Test
C Function Test
C Array Test
C Pointers Test
C String Test
C Structure Test
C Preprocessor Test
C Interview
Prerequisite
Before learning C Programming, you must have the basic knowledge of Computer Fundamental.
Audience
Our C Programming tutorial is designed to help beginners and professionals.
Problem
We assure that you will not find any mistake in this C Language Tutorial. But if there is any mistake, please post the problem in the contact form.
While every effort has been made to follow citation style rules, there may be some discrepancies. Please refer to the appropriate style manual or other sources if you have any questions.
Select Citation Style
Copy CitationShare
Share
Share to social media
Facebook Twitter
URL
//www.britannica.com/technology/C-computer-programming-languageGive Feedback
External Websites
Feedback
Corrections? Updates? Omissions? Let us know if you have suggestions to improve this article (requires login).
Feedback Type
Your Feedback Submit FeedbackThank you for your feedback
Our editors will review what you’ve submitted and determine whether to revise the article.
External Websites
- The University of Utah - School of Computing - C Programming Language
- Engineering LibreTexts - The C Programming Language
Print Cite
verifiedCite
While every effort has been made to follow citation style rules, there may be some discrepancies. Please refer to the appropriate style manual or other sources if you have any questions.
Select Citation Style
Copy CitationShareShare
Share to social media
Facebook Twitter
URL
//www.britannica.com/technology/C-computer-programming-languageFeedbackExternal Websites
Feedback
Corrections? Updates? Omissions? Let us know if you have suggestions to improve this article (requires login).
Feedback Type
Your Feedback Submit FeedbackThank you for your feedback
Our editors will review what you’ve submitted and determine whether to revise the article.
External Websites
- The University of Utah - School of Computing - C Programming Language
- Engineering LibreTexts - The C Programming Language
Alternate titles: ANSI Standard C
By The Editors of Encyclopaedia Britannica Last Updated: Oct 23, 2022
Table of ContentsKey People:Richard Stallman Kenneth Lane Thompson Dennis M. Ritchie...(Show more)Related Topics:computer programming language procedural language...(Show more)
See all related content →
C, computer programming language developed in the early 1970s by American computer scientist Dennis M. Ritchie at Bell Laboratories (formerly AT&T Bell Laboratories). C was designed as a minimalist language to be used in writing operating systems for minicomputers, such as the DEC PDP 7, which had very limited memories compared with the mainframe computers of the period. The language was devised during 1969–73, alongside the early development of the UNIX operating system. It was based on CPL (Combined Programming Language), which had been first condensed into the B programming language—a stripped-down computer programming language—created in 1969–70 by Ken Thompson, an American computer scientist and a colleague of Ritchie. Ritchie subsequently rewrote and restored features from CPL to create C and eventually rewrote the UNIX operating system in the new language.
As the UNIX system was enhanced, a series of changes took place in C between 1977 and 1979. During this time a description of the language became widely available through a book, The C Programming Language (1978), by Brian W. Kernighan and Ritchie. In the mid-1980s it became important to establish an official standard for C, since it was being used in projects subject to commercial and government contracts. In 1983 the American National Standards Institute (ANSI) set up a committee that further amended and standardized the language. Since then C has been referred to as ANSI Standard C, and it remains popular in the world of UNIX-like operating systems. C also became one of the most common programming languages used for writing other system software and applications. Descendants of C include Concurrent C, Objective C, C*, C#, and the widely used C++. The programming language Java was introduced in 1994 as a simplified subset of C for deployment over the Internet and for use in portable devices with limited memory or limited processing capabilities.