Expert-led training for your team

C Programming training course

Our C programming training course provides a comprehensive introduction to one of the most essential programming languages. Over four days, you'll master the basics of C, including syntax, data structures, algorithms, memory management, pointers, and file I/O operations. Designed for both beginners and experienced developers, this course offers hands-on exercises and real-world examples to ensure practical understanding.

JBI training course London UK

"Our tailored course provided a well rounded introduction and also covered some intermediate level topics that we needed to know. Clive gave us some best practice ideas and tips to take away. Fast paced but the instructor never lost any of the delegates"

Brian Leek, Data Analyst, May 2022

Public Courses

26/08/24 - 4 days
£2500 +VAT
07/10/24 - 4 days
£2500 +VAT
18/11/24 - 4 days
£2500 +VAT

Customised Courses

* Train a team
* Tailor content
* Flex dates
From £1200 / day
EDF logo Capita logo Sky logo NHS logo RBS logo BBC logo CISCO logo
JBI training course London UK

C Programming Training: 

  • Learn the principles of procedural programming
  • Creating efficient and responsive applications
  • Use functions and flow of control
  • Use Input and Output
  • Understand Memory Management
  • Work with Pointers
  • Consider the benefits and problems with pointers
  • Work with Data Structures

Introduction to ‘C’

  • History of ‘C’
  • Simple program
  • Build process
  • Simple output
  • Lab: Create simple program to provide output

‘C’ Fundamentals

  • Comments
  • Data types
  • Identifiers
  • Variables and scoping
  • Stack and Heap
  • Floating point number and functions
  • Constants
  • Operators and precedence
  • Lab: Experiment with variables, scope and expressions

Basic Input/Output

  • stdin, stdout and stderr
  • getchar(), putchar() and printf()
  • Print formatting
  • Lab: Create simple application providing input/output


Introduction to Functions

  • Defining functions
  • Argument(s) and return
  • Declaration vs definition
  • Lab: Separate functionality into separate functions

Iteration and Flow of Control

  • Relational operators
  • if statements
  • for and while loops
  • do-while loop
  • Logical and bitwise operators
  • Conditional expression
  • Switch statement
  • Enumerated data type
  • break, continue and ‘goto’!
  • Lab: Add flow of control statements to provide user options


  • Preprocessor commands
  • #define
  • Conditional compilation
  • #if, #ifdef and #ifndef
  • File guards
  • Macros or pseudo functions
  • Lab: Experiment with conditional compilation
  • Lab: Experiment with pseudo functions


  • Declaring arrays
  • Initialisation
  • Accessing arrays
  • Multi-Dimensioned arrays
  • Lab: Extend application to store data


  • Overview of use of Pointers
  • Declaring pointers
  • Null pointers
  • Use of pointers in scanf
  • Pointer arithmetic
  • Labs: Experiment with the use of pointers
  • malloc, calloc and free
  • Pointers as function arguments
  • const and pointers
  • Labs: Experiment with memory allocation
  • Pointers to functions
  • Labs: Experiment with passing functions to a function
  • Program arguments
  • Labs: Experiment with passing arguments to application
  • Characters and arrays of characters
  • Use string functions
  • Labs: Experiment with strings

Data Structure

  • Defining a structure
  • Accessing structure members
  • Unions
  • Accessing members (. and ->)
  • Lab: Store data within structures

Library functions

  • File handling
  • fopen() and fclose()
  • Algorithms
  • sort and search
  • Lab: Experiment with algorithms

Overview of ‘C’ 23 Features

  • New language features


JBI training course London UK

  • Beginners in Programming: Individuals with little to no programming experience who want to start with a fundamental and powerful language.
  • Computer Science Students: Students pursuing degrees in computer science or related fields who need a solid foundation in programming.
  • Software Developers: Developers looking to expand their knowledge and skills in lower-level programming for system or application development.
  • Embedded Systems Engineers: Professionals working on hardware and firmware development where C is frequently used.
  • Performance-Critical Application Developers: Developers working on applications that require high efficiency and performance, such as game developers and those involved in high-frequency trading systems.
  • Systems Programmers: Individuals interested in operating systems, compilers, and other system-level programming tasks.
  • Career Switchers: Professionals from other fields who want to transition into a career in software development.

5 star

4.8 out of 5 average

"Our tailored course provided a well rounded introduction and also covered some intermediate level topics that we needed to know. Clive gave us some best practice ideas and tips to take away. Fast paced but the instructor never lost any of the delegates"

Brian Leek, Data Analyst, May 2022

“JBI  did a great job of customizing their syllabus to suit our business  needs and also bringing our team up to speed on the current best practices. Our teams varied widely in terms of experience and  the Instructor handled this particularly well - very impressive”

Brian F, Team Lead, RBS, Data Analysis Course, 20 April 2022



JBI training course London UK



Sign up for the JBI Training newsletter to stay updated with world-class technology training opportunities, including Analytics, AI, ML, DevOps, Web, Backend and Security. Our Power BI Training Course is especially popular.  Gain new skills, useful tips, and validate your expertise with an industry-leading organisation, all tailored to your schedule and learning preferences.

This C programming course provides a comprehensive introduction to the C language, covering basic syntax, data structures, and algorithms.

Participants will learn how to write efficient and effective code through hands-on exercises and real-world examples. The course also delves into memory management, pointers, and file I/O operations, essential for system-level programming.

Designed for both beginners and experienced developers, it emphasizes problem-solving and debugging techniques. By the end of the course, attendees will have the skills to develop robust applications and understand the fundamentals of computer science.

Join us to build a strong foundation in one of the most widely-used programming languages in the world.

1. Who is this course for?
   - This course is ideal for beginners in programming, computer science students, software developers, embedded systems engineers, and anyone interested in system-level programming.

2. What will I learn?
   - You'll learn the basics of C programming, including syntax, data structures, algorithms, memory management, pointers, and file I/O operations.

3. Do I need prior programming experience?
   - No prior programming experience is required. This course is designed to accommodate both beginners and experienced developers.

4. How is the course delivered?
   - The course is available in multiple formats: live online sessions, onsite training, and classroom-based instruction.

5. Is there a certification provided?
   - Yes, participants will receive a certification upon successful completion of the course.

6. How long is the course?
   - The course spans four days, offering intensive and comprehensive training.

Participants who complete the course will receive a certification, recognizing their proficiency in C programming and their commitment to advancing their skills.

Delivery Methods:
- Live Online: Interactive sessions conducted via video conferencing, allowing you to learn from anywhere.
- Onsite: Training delivered at your location, tailored to your organization's needs.
- Classroom-Based: Traditional in-person classes held at our training centers, providing hands-on learning experiences.

+44 (0)20 8446 7555

[email protected]



Copyright © 2023 JBI Training. All Rights Reserved.
JB International Training Ltd  -  Company Registration Number: 08458005
Registered Address: Wohl Enterprise Hub, 2B Redbourne Avenue, London, N3 2BS

Modern Slavery Statement & Corporate Policies | Terms & Conditions | Contact Us


Rust training course                                                                          React training course

Threat modelling training course   Python for data analysts training course

Power BI training course                                   Machine Learning training course

Spring Boot Microservices training course              Terraform training course

Kubernetes training course                                                            C++ training course

Power Automate training course                               Clean Code training course