C Training Course

The Graphics Network

Training and Development for Windows, Linux and the Web

01285 713297 info@tgn.co.uk

C Programming

Despite its age, C remains one of our more popular courses despite competition from its newer offspring. This is because C is still the language which is 'just right' for many situations, particularly embedded and low level. A new generation of programmers are also meeting C thanks to the 'maker' community and open-source hardware such as Arduino.

This course teaches the C programming language and can also include system programming for Windows or Linux if required.

The 4 day course costs £2560 in total for up to 6 students, plus VAT and the instructor's reasonable expenses. Each student beyond 6 would cost £20 for the additional course materials. If you are interested in this course, please contact us by email at enquiries@tgn.co.uk or by phone on +44 (0)1285 713297.

Course Outline:

Getting Started

Writing, building and running a C Program. Language structure. The main function. Basic console input/output. Declaring and Initializing variables. Fundamental data types. Literal strings.

Control Flow

Control flow, loops and conditions. The for loop. Do and while. Break and continue. If and else. The conditional expression.


The basic operators. Shortcuts. Increment and decrement, prefix and postfix. Logical and bitwise operators. Precedence and parentheses.


Functions and argument passing. Predeclarations and prototypes. Using multiple source files. Using header files. The switch statement. Variable scope - local, static, global. Variable lifetimes. Casting.


Defining and using arrays. Array safety. Multi-dimension arrays.

Memory management and Pointers

Introducing memory management. Using pointers. Pointer manipulation and arithmetic. Arrays and pointers. Arrays and pointers as function arguments. Function pointers.


Strings and characters in C. Strings as arrays and pointers. Standard string functions. Writing string functions.

Structures and Unions

Data structures. Passing structs by value and pointer. Dynamic structs. Variable length structs. Unions. Nesting and complex structures. Typedef.

Input and Output

Console input and output. Formatting. Dealing with errors. File and device I/O.

The Preprocessor

How the preprocessor works. #define and constants. Conditional compilation. Macros. Passing arguments to macros.