Course : The C Programming Language

The C Programming Language

Download in PDF format Share this course by email 2


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.


Inter
In-house
Custom

Practical course in person or remote class

Ref. LGC
Price : 2970 € E.T.
  5d - 35h00




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.

Intended audience
Engineers and programers wishing to acquire a complete and operational training on C language.

Prerequisites
Basic programing knowledge.

Course schedule

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.

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.

Flow control

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

Storage classes

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

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.

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.

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


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

Customer reviews
4,5 / 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.


Dates and locations
Select your location or opt for the remote class then choose your date.
Remote class