Consult our trainings :
The C Programming Language Training
- Participants / Prerequisite
This intensive training will enable you to acquire operational knowhow of the C language. You will study the mechanisms of the C language and their application through numbers of case studies. At the end of the session you will be able to write robust and portable C programs.
- Introduction to C programing. History, the pre-processor, the compiler, the linker and the loader.
- Tracing tools, debugger, profilers and indexing tools.
- C language structure. The basic syntax. First program using printf (hello world).
- The main function. comments. Reserved keywords.
- The C preprocessor. Including headers. Macros and conditional compilation.
- Macros with variable numbers of arguments.
- Basic language components. C types, sizeof, cast. Assigning a value.
- Pointers and strings. Incomplete types.
- Formatted Input Output. Using printf and scanf to write to the screen and read from keyboard. Escape sequences.
- Arithmetic and logic. Arithmetic, bitwise, logical and Floating point operators.
- Compound assignment operators.
- Selection statements : if/else and switch.
- iteration statements : for, while, do/while
- jump statements : goto, labels, label addressing. Continue and break statements.
- Storage classes : auto, static, extern, register.
- Storage qualifiers : volatile, const, restrict.
- Pointers et arrays : initialization of pointers and arrays. Multidimensional arrays.
- Function declarations. Argument passing. return directive.
- Scope of the variables. Function pointers.
- Declaring function prototypes.
- Advanced C function programing. Inline function tag. Nested functions. Variable number of arguments.
- Structures definition. Initialization of structures.
- Accessing a structure members. Accessing a structure members with a pointer.
- Definition of unions. initialization of unions.
- Accessing a union members. Accessing a union members with a pointer.
- The strings library functions. Signal, raise, kill are used to send or receive signals.
- C library propose a standard interface for file I/O.
- Buffered file access, formatted and unformatted I/O. Constants and variables.
- Non local goto. Using setjmp and longjmp with signals.
- Handling errors : errno, stderr and perror .
- Security issues. Buffer overflows vulnerabilities. Threading problems and race conditions