C& CPP Tutorials
About C
Program Structure
Running C Program
Variables, constants
Operators
Control Structure
Array
Function
Pointers
Preprocessor
Structure
File
Bitwise Operators
Recursion
 Data Structures
Introduction
Stacks
Queues
Linked List
Sorting 
Searching
 Test Your Skill
Fundamentals
Input and Output
Branching and Looping
Function
Pointers I
Pointers II
Structure and Union
Sample Problems I
Sample Problems II
 Help and Support
C Forum
Source code
C  Yahoo Group
C Compilers
 

C is a relatively minimalist programming language that operates close to the hardware, and is more similar to assembly language than most high-level languages are. Indeed, C is sometimes referred to as "portable assembly," reflecting its important difference from low-level languages such as assembly languages: C code can be compiled to run on almost any computer, more than any other language in existence, while any given assembly language runs on at most a few very specific models of computer. For these reasons C has been called a medium-level language.

We briefly list some of C's characteristics that define the language and also have lead to its popularity as a programming language. Naturally we will be studying many of these aspects throughout the course.

  • Small size

  • Extensive use of function calls

  • Loose typing -- unlike PASCAL

  • Structured language

  • Low level (BitWise) programming readily available

  • Pointer implementation - extensive use of pointers for memory, array, Structures and functions

C has now become a widely used professional language for various reasons.

  • It has high-level constructs.

  • It can handle low-level activities.

  • It produces efficient programs.

  • It can be compiled on a variety of computers.

Its main drawback is that it has poor error detection which can make it off putting to the beginner. However diligence in this matter can pay off handsomely since having learned the rules of C we can break them. Not many languages allow this. This if done properly and carefully leads to the power of C programming.

A Brief History of C

C is a general-purpose language which has been closely associated with the UNIX operating system for which it was developed - since the system and most of the programs that run it are written in C.

 Many of the important ideas of C stem from the language BCPL, developed by Martin Richards. The influence of BCPL on C proceeded indirectly through the language B, which was written by Ken Thompson in 1970 at Bell Labs, for the first UNIX system on a DEC PDP-7. BCPL and B are "type less" languages whereas C provides a variety of data types.

In 1972 Dennis Ritchie at Bell Labs writes C and in 1978 the publication of The C Programming Language by Kernighan & Ritchie caused a revolution in the computing world

 In 1983, the American National Standards Institute (ANSI) established a committee to provide a modern, comprehensive definition of C. The resulting definition, the ANSI standard, or "ANSI C", was completed late 1988.

  • UNIX developed c. 1969 -- DEC PDP-7 Assembly Language

  • BCPL -- a user friendly OS providing powerful development tools developed from BCPL. Assembler tedious long and error prone.

  • A new language ``B'' a second attempt. c. 1970.

  • A totally new language ``C'' a successor to ``B''. c. 1971

  • By 1973 UNIX OS almost totally written in ``C''

Next
 

Google