C++ Training for the Industry

C Training Course


The C Programming Language Training Course

This five-day C training course is an introduction to the C programming language, the C standard library, and C11 to C2X standards. The training is offered both remotely and on-site. No prior experience with C is required to attend the course. This C training course is for teams who wish to learn the C programming language, solidify their knowledge-base and become familiar with the latest C standards.

The recommended group size is up to ten people. The training day consists of a C theoretical introduction, C source code examples, and C coding exercises and tasks. During the training, there is an ongoing Q&A session between the trainer and participants. The fifth day is dedicated to creating a C project, debugging the solution, and doing code reviews.


The following is a breakdown of all the C topics by day:

  • Day 1
  • Introduction
  • Types and Declarations
  • Operators and Expressions
  • Statements
  • Selection Statements
  • Iteration Statements
  • Arrays
  • Pointers
  • Functions
  • The const Qualifier
  • Enumerations
  • Function Pointers
  • Preprocessor
  • Conditional Compilation
  • Built-in Macros
  • Function-like Macros
  • Q&A and Exercises
  • Day 2
  • Structures:
  • Introduction
  • Initialization
  • Member Access Operator
  • Copying Structures
  • Pointers to Structures
  • Self-Referencing Structures
  • Structures as Function Arguments
  • Unions
  • Typedef
  • Conditional Expression
  • Dynamic Memory Allocation
  • malloc
  • calloc
  • realloc
  • Storage and Scope
  • Q&A and Exercises
  • Day 3
  • Standard Input and Output
  • File Input and Output
  • Header and Source Files
  • The C Standard Library
  • String Manipulation
  • Memory Manipulation Functions
  • Mathematical Functions
  • String Conversion Functions
  • Time and Date
  • Linkage
  • Bitwise Operators
  • Dos and Don’t’s
  • Do Not Use the gets Function
  • Initialize Variables Before Using Them
  • Do Not Read Out of Bounds
  • Do Not Free the Allocated Memory Twice
  • Do Not Cast the Result of malloc
  • Do Not Overflow a Signed Integer
  • Cast a Pointer to void* When Printing Through printf
  • Do Not Divide by Zero
  • Where to Use Pointers?
  • Prefer Functions to Function-Like Macros
  • static Global Names
  • What to Put in Header Files?
  • Q&A and Exercises
  • Day 4
  • C11 Standard
  • Static_assert
  • The _Noreturn Function Specifier
  • Type Generic Macros Using _Generic
  • The _Alignof Operator
  • The _Alignas Specifier
  • Anonymous Structures and Unions
  • Aligned Memory Allocation: aligned_alloc
  • Unicode Support for UTF-16 and UTF-32
  • Bounds-Checking Functions
  • C2X Standard
  • Static_assert Without a Message
  • Attributes
  • No Parameters Function Declaration
  • The strdup Function
  • The memccpy Function
  • Q&A and Exercises
  • Day 5
  • C Project
  • Q&A, Debugging, and Code Review


The training day can be organized as follows:

Time Activity
09:00 – 11:00 Live training
11:00 – 12:30 Exercises
12:30 – 13:30 Lunch break
13:30 – 15:30 Live training
15:30 – 17:00 Exercises
  • Live Training Includes
  • C theoretical introduction
  • C PDF handouts
  • Coding in IDE
  • Exercises Include
  • C source code tasks
  • Solved C source code solutions
  • Q&A sessions with a trainer

The workflow can be modified according to the client’s needs.


This course aims to provide a high-quality, professional-grade introduction to the modern C programming language, establish a solid base, and enable further progress. The course follows the latest trends in the C programming community and provides the necessary building blocks that make a C knowledge backbone. This C training is for everyone who wishes to learn the C programming language, the C standard library, and get familiar with modern C standards. Each training day can be customized to meet the client’s requirements.

For more info, contact us at contact@cppsrc.com.

Download the PDF Brochure ⇩