Dr. Shem Mbandu Angolo, PhD
The Co-operatetive University of Kenya
September - December 2024
Contents
1 History of C Programming Language 2
1.1 Origins and Development . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Standardization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 Overview of C Language Features and Applications 2
2.1 Key Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3 Setting Up the Programming Environment (IDE, Compiler) 3
3.1 Integrated Development Environment (IDE) . . . . . . . . . . . . 3
3.2 Compilers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.3 Setting Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4 Writing and Running Your First C Program (Hello World) 5
4.1 Writing Your First Program . . . . . . . . . . . . . . . . . . . . . 5
4.2 Compiling and Running . . . . . . . . . . . . . . . . . . . . . . . 5
1
, 1 History of C Programming Language
1.1 Origins and Development
• 1969-1973: C programming language was developed by Dennis Ritchie
at AT&T Bell Labs.
• Influence: Derived from the B language, which was influenced by BCPL
(Basic Combined Programming Language).
• Purpose: Initially created for system programming for the Unix operat-
ing system, allowing Unix to be ported to different computers.
• K&R C: The first edition of ”The C Programming Language” by Brian
Kernighan and Dennis Ritchie, published in 1978, became known as K&R
C.
1.2 Standardization
• 1983: ANSI (American National Standards Institute) established a com-
mittee to standardize C.
• 1989: The ANSI C standard, known as ANSI X3.159-1989 or C89.
• 1990: ISO (International Organization for Standardization) adopted it as
ISO/IEC 9899:1990, also known as C90.
• 1999: An updated version known as C99 introduced new features like
inline functions, variable-length arrays, and new data types.
• 2011: C11 standard introduced multi-threading support, improved Uni-
code support, and other enhancements.
• 2018: C18 (or C17) included minor revisions and bug fixes to C11.
2 Overview of C Language Features and Appli-
cations
2.1 Key Features
• Portability: C programs can run on different types of computers with
little or no modification.
• Efficiency: C provides low-level access to memory and system processes,
which allows for highly efficient programs.
• Flexibility: C supports both high-level and low-level programming, mak-
ing it suitable for a variety of applications.
2