
C Training Course
Overview

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 get 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 final day is dedicated to creating a C project, debugging the solution, and doing code reviews.
Topics
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
Workflow
Typical C 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 the following:
- C theoretical introduction
- C source code examples
- C PDF handouts
Exercises include the following:
- C source code tasks
- Complete C source code solutions
- Q&A sessions with a trainer
The workflow can be modified according to the client’s needs.
Summary
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 C PDF brochure