Course : The C Programming Language

Practical course - 5d - 35h00 - Ref. LGC
Price : 3070 CHF E.T.

The C Programming Language






INTER
IN-HOUSE
CUSTOM

Practical course in person or remote class
Available in English on request

Ref. LGC
  5d - 35h00
3070 CHF E.T.







Practical details
Hands-on work
A Personal Computer with UNIX or Windows is available for each participant to immediately apply the new concepts.

Course schedule

1
Introduction to UNIX and C programing

  • 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.

2
Basic C components and types

  • 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.

3
Flow control

  • Selection statements : if/else and switch.
  • iteration statements : for, while, do/while
  • jump statements : goto, labels, label addressing. Continue and break statements.

4
Storage classes

  • Storage classes : auto, static, extern, register.
  • Storage qualifiers : volatile, const, restrict.
  • Pointers et arrays : initialization of pointers and arrays. Multidimensional arrays.

5
C functions

  • 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.

6
User defined types

  • 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.

7
The standard C library

  • 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


Customer reviews
4,2 / 5
Customer reviews are based on end-of-course evaluations. The score is calculated from all evaluations within the past year. Only reviews with a textual comment are displayed.
ALEXANDRE Q.
23/03/26
5 / 5

La formation rentre bien dans les détails grâce aux nombreux exemples de code, aux nombreux exercices de mise en pratique par ordre de difficulté, et aux corrections d’exercices disponibles. La mise à disposition de ressources supplémentaires sur le Moodle ou par le formateur en direct est très appréciable.
MATTHIEU L.
23/03/26
5 / 5

RAS
BENOIT B.
03/11/25
5 / 5

Course appreciated.



Publication date : 08/15/2024


Dates and locations

Last places available
Guaranteed date, in person or remotely
Guaranteed session
From 28 September to 2 October 2026
FR
Remote class
Registration
From 28 September to 2 October 2026
EN
Remote class
Registration
From 7 to 11 December 2026
FR
Remote class
Registration
From 7 to 11 December 2026
EN
Remote class
Registration

REMOTE CLASS
2026 : 28 Sep., 28 Sep., 7 Dec., 7 Dec.