Focus Software Solutions IT Training
Contact: 01997 414309

C Programming Course Outline

The C programming language has been used extensively for many years resulting in large amounts of legacy code that must still be maintained, and in many areas where small size and efficiency are of primary concern C is still very much the language of choice. This course guides experienced programmers through the complexities of writing and maintaining C. The C language was standardized in 1990 and a new standard introduced in 1999. As many of the largest compiler suppliers have stated they will not upgrade their compilers to the new 1999 standard this course focuses on the 1990 standard making mention of the 1999 features where appropriate.

 

Course Duration

4 Days

Upon completion of the course the delegate should be able to:

Write, maintain and debug C programs, use arrays, structures and dynamic memory. Make effective use of the Standard Library, in particular the file I/O.

Intended Audience

This course is designed for experienced programmers that need to write or maintain C programs.

Prerequisites

It is assumed that anyone attending this course is experienced in a block-structured language such as Pascal, modern variants of Basic, Smalltalk, Ada etc. They should be familiar with concepts such as functions or procedures, control flow, arrays, and structures or records. Any prior knowledge of C is neither assumed nor required.

Course Format

The course is spread over a four-day period and comprises of instructor-led presentations and practical hands-on exercises. The practical sessions are structured to give the delegates the opportunity to put into practice all of the language constructs covered during the instructor-led sessions. The delegates will be able to take away with them copies of all the code they have written, along with sample solutions and demonstration code.

 

Course Content

C Program Components
Basic program components; functions, statements, file inclusion, input and output, keywords, variables, operators.

Data and Operators
Identifiers, fundamental data types and their operators, constants, operator precedence, conversions, casting, scope.

Control Flow
Boolean operators, conditional selection, iteration. 

Functions
Functional modularity, passing data in and out of functions, pass by value and reference, member functions, optimization with inline.

Arrays
Defining arrays and access through subscripting. Passing arrays to functions. Strings in C.

Structures
Data structures, aggregation, Enumerations.

The Preprocessor
Using the preprocessor to create symbolic constants and macros. Using conditional compilation techniques.

Pointers
Concept of indirection, null pointers, using pointers with functions and arrays, pointer arithmetic.

Pointers and Arrays
The relationship between pointers and arrays. Using pointer arithmetic to index arrays.

Pointers and Structures
Using pointers with structures and introducing the structure pointer operator. Passing structures to functions.

Dynamic Memory
Accessing the heap or freestore with malloc and free, creating dynamic arrays.

File I/O
Working with the standard library file input and output routines.

The Standard Library
Introducing other features of the standard library. Sorting and searching, printing and scanning strings, time and data handling, international code.  

Larger Programs
How to construct larger programs and handle the coupling between modules
.  

Advanced Features
Overview of some advanced features; bit manipulation, unions.  

Focus Software Solutions Limited 2005