Introduction to C Programming

In this module, we will introduce ourselves to the C programming language! We will cover the C abstract machine model, basic syntax and semantic elements, fundamental and derived data types, control structures and functions, and the basic I/O facilities of the C standard library. Along the way, we will practice what we are learning to write our own versions of common utilities, and work with the gcc toolchain to build, execute, and debug simple programs.

Module Learning Outcomes

After successful completion of this module, you will

  1. Understand and explain the following basic features of the C language:

    • Stages of translation

    • Abstract object and machine models

    • Libraries, linkage, and the purpose and function of header files

    • Statements and control structures

    • Expressions and basic operations

    • Declaration of identifiers and initialization of objects

    • Function definitions and call semantics

    • Implicit and explicit type conversion

  2. Write simple C programs that perform calculations, manipulate text, and read and write files using only C language and standard library features.

  3. Identify and fix bugs in simple C programs.