Highlights
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
Course Details
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
- 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
Arrays
- Declaring arrays
- Initialisation
- Accessing arrays
- Multi-Dimensioned arrays
- Lab: Extend application to store data
Pointers
- 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
Who should attend
- 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.
Feedback
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. " 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