C is a general-purpose programming language. It has been closely associated with the UNIX system where it was developed, since both the system and most of the programs that run on it are written in C. The language, however,is not tied to anyone operating system or machine; and although it has been called a "system programming language" because it is useful for writing compilers and operating systems, it has been used equally well to write major programs in many different domains.

To complete this section I will be working from the following book(s):

  • Book 01: The C Programming Language (2nd Edition)

    book cover
    The Book's Cover

    Author: Brian Kernighan & Dennis Ritchie


    The authors present the complete guide to ANSI standard C language programming. Written by the developers of C, this new version helps readers keep up with the finalized ANSI standard for C while showing how to take advantage of C’s rich set of operators, economy of expression, improved control flow, and data structures. The 2/E has been completely rewritten with additional examples and problem sets to clarify the implementation of difficult language constructs. For years, C programmers have let K&R guide them to building well-structured and efficient programs. Now this same help is available to those working with ANSI compilers. Includes detailed coverage of the C language plus the official C language reference manual for at-a-glance help with syntax notation, declarations, ANSI changes, scope rules, and the list goes on and on.

    Publisher: Pearson; 2nd Edition (1st April 1988)

    ISBN: 978-0131103627

BOOK ONE: The C Programming Language (2nd Edition)

The home page for the exercises done from The C Programming Language (2nd Edition) can be found here.

  • Section 01: Overview Of C

    This section covers a quick introduction to C. It covers the basic essential elements of the language. In this section the following are covered:

    1. To become familiar with the general form of a C program and the basic elements in a program
    2. To appreciate the importance of writing comments in a program
    3. To understand the use of data types and the differences between the data types int,double, and char
    4. To know how to declare variables
    5. To understand how to write assignment statements to change the values of variables
    6. To learn how C evaluates arithmetic expressions and how to write them in C
    7. To learn how to read data values into a program and to display results
    8. To understand how to write format strings for data entry and display
    9. To learn how to use redirection to enable the use of files for input/output
    10. To understand the differences between syntax errors, run-time errors, and logic errors, and how to avoid them and to correct them.

  • Section 02: Top-Down Design With Functions

    The emphasis here is to learn about functions and how to use them to write programs with separate modules. In this section the following are covered:

    1. To understand the capabilities of some standard functions in C
    2. To introduce structure charts as a system documentation tool
    3. To understand how control flows between function main and other functions
    4. To learn how to pass information to functions using input arguments
    5. To learn how to return a value from a function