A hands-on introduction to programming in the ANSI C programming language. The course initially moves at a fast pace in order to spend as much time as possible on the subject of pointers - the area which cause the most bugs in C programs.
Programmers wishing to learn C.
Programmers wishing to learn C++ or Java.
None, although experience in another high level language would be useful.
5 days
The compilation process, comments, main(), statement blocks, printf().
char, int, float and double, qualifiers, arithmetic and assignment operators, precedence, Associativity.
C libraries, stdin and stdout, getchar(), putchar(), printf() formatting.
if else, dangling elses, else if, while and for loops. switch statements, the null statement, break, continue and gotos.
Function calls, arguments and return types, function declarations (prototypes), function definitions, scope of variables.
Preprocessor actions, macros, #include. Libraries and their relationship with header files. Conditional compilation.
Logical, bitwise and other operators, type conversion, casting, typedefs and access modifiers.
Declaring and handling arrays, common gotchas, multidimensional arrays.
What are pointers? Why they are so important, declaring and using pointers,The three uses of the *,pointer example - scanf, pointers as arguments.
Golden rules of pointers and arrays, pointers to arrays, pointer arithmetic, arrays of pointers, multiple indirection.
Arrays of characters, string definition, working with strings, String library.
argc and argv, example uses,char *argv[] versus char ** argv.
Globals (externals), multi source programs, the look of a C program.
Declaration, the . and → operators, unions and bitfields.
File handling, fopen and fclose, reading from and writing to files, fseek().calloc() and malloc()
"Hard concepts were explained very simply."
"I’ve found it very useful and the course was very well put together and delivered."
This structured training course seeks to build upon workbook learning through the use of group exercises, dynamic discussion and individual tasks in order to deliver an engaging and interactive module that will ensure all candidates are able to transfer their new skills into the workplace.