C Programming - Course Syllabus
(This page uses style sheets.)
An in depth course on the C Programming language for programmers who are going to write both application and system programs. Some prior knowledge of a high level language (eg, Pascal, Basic, Fortran) is a pre-requisite. The course is platform independent and any system can be used for the practical work (eg. Linux, Unix, MS-DOS, Windows, VMS, etc.).
- Introduction
- History, facilities, concepts, uses
- Simple C
- Basic program structure
- Simple data types, variables, constants, operators, comments
- Control Flow; if, while, for, do-while, switch
- Functions
- Functions; Types, parameters, prototypes, recursion
- Arrays & Pointers
- Array usage
- Pointers, addresses and types, call by reference
- Pointer - array duality
- Strings
- Arrays of pointers
- Arguments to main
- Pointers to functions
- Structures
- Member accessing, pointers to structures
- Structures and functions
- Arrays of structures, linked lists, trees
- Other Data Types
- Unions, enumerations and bit fields
- Bitwise Operators
- Usage, device accessing
- Type manipulation
- Coercion, typedef, initialisation
- Static, global, external, register
- Dynamic Allocation
- Uses, pitfalls
- The Pre-processor
- Define, include, macro's, ifdef
- Input and Output
- Concepts
- Character and File I/O, Basic Curses
- Simple File I/O
- The Standard I/O Routines
- ANSI Standard Libraries
Notes
- A comprehensive list of exercises is provided along with worked solutions.
- All participants receive copies of the slide material as well as a textbook. Where appropriate, participants receive a pocket reference guide as well.
- Emphasis on different aspects will change according to the participants interests.
- The Course is applicable to all versions of C, not just for use under a Unix System.
- The length of the Course is normally five days.