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.
This course is designed for experienced programmers that need to write
or maintain C programs.
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.
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.
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.
Boolean operators, conditional selection, iteration.
Functional modularity, passing data in and out of functions, pass by
value and reference, member functions, optimization with inline.
Defining arrays and access through subscripting. Passing arrays to
functions. Strings in C.
Data structures, aggregation, Enumerations.
Using the preprocessor to create symbolic constants and macros. Using
conditional compilation techniques.
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.
Accessing the heap or freestore with malloc and free, creating dynamic
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,
How to construct larger programs and handle the coupling between
Overview of some advanced features; bit manipulation, unions