RTD Training & Development

C Programming

Call us on +44 (0)1225 66 72 72 or send us a message

C Programming

5 days hands-on £2,425+VAT

This course can be delivered over the web

Next scheduled date:
Monday September 3rd, 2018 Enrol Now!

Covers the whole of the C language from scratch. May be used as an introduction to programming.


Data Types & Operators

  • Constants
  • Variable names
  • Data types & sizes
  • Declarations
  • Operators & expressions

Control Flow

  • Statements & blocks
  • Decision statements
  • Loops
  • 'Break' & 'Continue' statements

Functions & variables

  • Declaring functions
  • Using functions
  • Scope and lifetime of variables
  • Initialisation

Arrays & structures

  • Declaring & accessing arrays
  • Passing arrays to functions
  • Multi-dimensional arrays
  • Declaring & accessing structures


  • Pointers & addresses
  • Pointers to structures
  • Pointers as function arguments
  • Pointers & arrays
  • Address arithmetic
  • Pointers to pointers
  • Command-line arguments
  • Dynamic memory allocation
  • Function pointers
  • Pointers vs. multi-dimensional arrays


  • Formatted output
  • Formatted input
  • File handling
  • Error handling

Program Structure

  • Using multiple source files
  • Scope & visibility
  • Typedefs
  • Complex declarations
  • Linking

The C Pre-processor

  • Declaring constants
  • Using header files
  • Conditional compilation
  • Declaring & using macros

Low-level operations

  • Type conversion
  • Bitwise operations
  • Bit fields
  • Declaring & accessing unions
  • Variable-length argument lists


C is the most portable programming language available. C programs utilising standard library functions can be compiled and run on Unix, Windows, Linux and many other platforms.

C is not object-oriented, but it combines the features of modern, high-level structured languages with a small size and the flexibility of low-level access that usually requires assembly-language programming.

This course covers all the features of ANSI C and much of the standard library. Participants acquire hands-on experience of the language by working through a wide selection of exercises.


On successful completion of this course, participants will be able to:

  • Write, compile and execute ANSI C programs
  • Apply C's high-level structured programming features
  • Use arrays, pointers, structures and unions
  • Use dynamic memory allocation and other low-level techniques
  • Access platform-provided services via the standard library


This course is aimed primarily at applications programmers and system programmers and engineers who are interested in C program development. Analysts and managers will also find it useful.


No prior knowledge is assumed on this course. It is suitable for beginners and experienced programmers alike.