I have learned that the B language that Ken Thompson developed is a successor of Basic Command Programming Language (BCPL) which was developed by Martin Richards. To augment B's power, Dennis Ritchie invented and first implemented the C Programming Language in Bell Laboratory. It was originally developed under UNIX environment running in DEC PDP-11.
C stands for Combined Programming Language and is also called System Programming Language(SPL) It did not become immediately popular after its creation. It took almost 6 years when many people read and learned the usefulness of the language after Brian Kernighan and Dennis Ritchie published the book "THE C PROGRAMMING LANGUAGE".
By year 1983, the American National Standard Institute (ANSI) created the X3J11 committee to provide the machine definition of the language and was then approved in 1989. ANSI cooperated with the International Standard Organization (ISO) to refer to as ANSI/ISO 9899:1990".
C language is considered as a middle-level language which means that it combines elements of high-level language with the functionalism of assembly language. It allows manipulation of bits, bytes, addresses the basic elements with which the computer functions.
C is sensitive to input commands, output commands and special words. That's why they are referred to as reserved words allow the use of lower case only It has only 32 keywords (27 from Kernighan and Ritchie and 5 from the ANSI Standardization Committee).
It was initially used for system development work, in particular the programs that make up the OS. It produces codes that run as fast as codes written in assembly language.
C is used in the following: Operating System, Language compilers,Assemblers, Text Editors, Print Spoolers, network devices, modern programs, databases, language interpreters and in utilities.
There five features of C language. First, it is a simple core language. Second, it focus on procedural programming paradigm. Third, parameters are always passed by value not by reference. Fourth, it encourages the creation of libraries user-defined functions. And last, it is flexible when it allows unrestricted conversion of data from one type to another.
FLOWCHARTING is the use of symbols and phrases to designate the logic of how a problem is solved.
A diagram representing the logical sequence in which a combination of steps is to be performed. It is a blueprint of the program.
ALGORITHM is a finite set of instructions that specify a sequence of operations to be carried out in order to solve a specific problem or class of problems.
SYMBOLS USED IN FLOWCHARTING
Terminal - is used to signify the beginning and end of flowchart.
Preparation/Initialization - signifies the preparation of data and used to select initial conditions. it also used to represent instructions or groups of instructions that will alter or modify a program's course of execution.
Input/ Output - shows input and output. Data are to be read into the computer memory from an input device or data are to be passed from the memory to an output device.
Processing -performs any calculations that are to be done.
Decision -signifies any decisions that are to be done
On-page Connector-shows the entry or exit point of the flowchart.A non-processing symbol used to connect one part of a flowchart to another without drawing flow lines. Conserves space by keeping related blocks near one another, reduces the number of flow lines in complex programs, and eliminates cross lines from taking place
Off-page Connector-Designates entry to or exit from one page when a flowchart requires more than one page
Flowlines- Signifies the process that is to be executed next.
CONTROLS
- Sequence
- Selection (if-then-else)
- Repetition (Looping)

