About the course
Our Introduction to C Programming Training Course aims to give developers a solid foundation in the language, syntax, and Best Practises of developing robust C code for commercial use.
C has been, and continues to be, a very popular language, due to its combination of simplicity, portability, and ability to create compact, highly performant programs.
As a result, it its suitable for use in systems programming tasks, low-level device driver code, and embedded applications. It can also be used for in higher level applications, and in combination with many, many other languages which offer different trade-offs (e.g. C used with C++, or an interpreted language such as Python, or Ruby).
Instructor-led online and in-house face-to-face options are available - as part of a wider customised training programme, or as a standalone workshop, on-site at your offices or at one of many flexible meeting spaces in the UK and around the World.
-
- Write, compile, and debug C code to create functional programs.
- Master C language fundamentals, including variables, data types, operators, and control flow.
- Design and implement efficient algorithms using C.
- Develop programs using functions, including passing arguments and returning values.
- Work with aggregate data types like arrays and structures to organise complex data.
- Utilise pointers to effectively manage memory and work with data structures.
- Perform input/output operations and handle files in C.
- Use the C preprocessor to control compilation and create reusable code.
-
This course is designed for programmers and software developers looking to build C applications and platforms, maintain existing C codebases, or cross-train from languages like Java, Perl, C#, or Python.
-
A foundation in programming or scripting is beneficial. We can tailor the course to take into account your starting skills and project requirements - get in touch to discuss your learning goals.
-
This C programming course is available for private / custom delivery for your team - as an in-house face-to-face workshop at your location of choice, or as online instructor-led training via MS Teams (or your own preferred platform).
Get in touch to find out how we can deliver tailored training which focuses on your project requirements and learning goals.
-
Introduction to C Programming
Introduction to C and its applications
C Standards (ANSI C, C99, C11, C17)
The C compilation process: Preprocessing, compilation, assembly, linking
Overview of C development tools (compilers, linkers, debuggers)
Coding conventions and style guidelines
C Language Fundamentals
C program structure
main() function
Header files and source files
Variables: declaration, definition, scope, and lifetime
Data types: primitive and derived
Constants and literals
Operators and Expressions
Operators:
Arithmetic operators
Logical operators
Relational operators
Bitwise operators
Assignment operators
Ternary operator
Operator precedence and associativity
Expressions and statements
Control Flow
Conditional statements:
if statement
if-else statement
switch statement
Looping statements:
while loop
do-while loop
for loop
Jump statements: break, continue, goto
Functions
Function declaration and definition
Function parameters and arguments
Passing arguments by value and by reference (using pointers)
Returning values from functions
Function prototypes
Recursion
Function pointers
Aggregate Data Types
Arrays:
Single-dimensional arrays
Multi-dimensional arrays
Array initialization
Arrays and functions
Structures:
Defining structures
Accessing structure members
Arrays of structures
Structures and functions
Pointers to structures
Unions
Enumerations
Pointers
Introduction to pointers
Declaring and initializing pointers
Dereferencing pointers
Pointer arithmetic
Pointers and arrays
Pointers and functions
Dynamic memory allocation (malloc, calloc, realloc, free)
Input/Output and File Handling
Standard input and output functions (printf, scanf, getchar, putchar, etc.)
Formatted input/output
File handling:
Opening and closing files (fopen, fclose)
Reading from and writing to files (fread, fwrite, fprintf, fscanf, etc.)
File positioning (fseek, ftell, rewind)
Error handling with files
The C Preprocessor
Preprocessor directives:
#include
#define (macros)
#ifdef, #ifndef, #else, #endif (conditional compilation)
#undef
#line
#error
#pragma
Standard headers
Preprocessor operators: #, ##
Optional Advanced topics for custom courses
Bit fields
Variable-length arrays
Complex declarations
Type qualifiers (const, volatile, restrict)
Inline functions
C99 and C11 features
-
C Programming Language - Wikipedia: https://en.wikipedia.org/wiki/C_(programming_language) - A comprehensive overview of the C programming language.
ISO/IEC 9899: https://www.iso.org/standard/74528.html - The official standard for the C programming language.
GNU Compiler Collection (GCC): https://gcc.gnu.org/ - A widely used C compiler, part of the GNU project.
Clang: https://clang.llvm.org/ - Another popular C compiler, part of the LLVM project.
Code::Blocks: https://www.codeblocks.org/ - A free, open-source C/C++ IDE.
Visual Studio Code: https://code.visualstudio.com/ - A versatile code editor with C/C++ support via extensions.
Trusted by