Advance to the next level of C programming — master functions, structures, file handling, preprocessor directives, and complex declarations to prepare for CLA certification.
The C programming language has been shaping the digital landscape for more than four decades, powering operating systems, databases, and game engines. C Essentials 2 builds on the foundations of C Essentials 1, exploring more advanced programming concepts including functions and structures, working with files and streams, and using preprocessor directives and complex declarations to elevate programming skills. Hands-on learning throughout the course develops practical C programming capabilities applicable to systems programming, embedded development, and high-performance software engineering. Developed in collaboration with the OpenEDG C++ Institute, this course aligns to the CLA – C Programming Language Certified Associate certification. Continuing with C Advanced prepares learners for more advanced certifications.
Curriculum Chapters
- 1. Functions and Structures
- Understanding Structures
- Declaring and Initializing Structures
- Exploring Pointers and Structures Interactions
- Scalar Parameters in Function Definitions
- Passing Structures and Strings as Function Parameters
- Passing Arrays to Functions
- Main Function Customization
- Essentials of Disjoint Compilation
- 2. Connecting to the Real World: Files and Streams
- Overview of File Systems: Definitions and Conventions
- Getting Started with Files and Streams
- Opening Streams
- Pre-Opened Streams
- Closing Streams and Handling Errors
- Reading from Streams: Retrieving Data in C
- Writing to Streams: Sending Data in C
- Stream Management: ftell(), fseek(), Rewind, and EOF Handling
- 3. Preprocessor and Declarations
- Preprocessor Fundamentals
- The #include Directive
- Exploring #define: Forms and Usage
- Macro Parameters in #define Directives
- Additional Features of #define and #undef
- Predefined Identifiers in the Preprocessor
- Preprocessor Operators and Their Applications
- Conditional Compilation with Preprocessor Directives
- Scope in C: The Extent of Declarations
- Storage Classes
- Pointers to Functions
- Complex Declarations
Skills You Will Learn
Declare, initialise, and use structures in C programs. Apply pointers in combination with structures. Pass scalar parameters, structures, strings, and arrays to functions. Customise the main function and apply essentials of disjoint compilation using modules. Explain file system concepts and open, close, read, and write file streams in C. Handle stream errors and use stream management functions including ftell(), fseek(), rewind, and EOF handling. Apply preprocessor fundamentals including the #include directive, #define macros, macro parameters, #undef, and predefined identifiers. Use preprocessor operators and implement conditional compilation. Understand scope in C and manage storage classes. Declare and use pointers to functions. Interpret and write complex declarations in C.
Technologies Used
C programming language
C compiler and development environment
C Standard Library file and stream functions
C preprocessor directives
Course Details
Course Type: Instructor-led
Time: 30 Hours
Modules: 3
Level: Intermediate
Prerequisites
Completion of C Essentials 1 or equivalent foundational C programming knowledge required.
Certification & Career
Career and Certification alignment: This course aligns to the CLA – C Programming Language Certified Associate certification from the OpenEDG C++ Institute. Continuing with C Advanced prepares learners for more advanced certifications. C programming skills are foundational for careers in systems programming, embedded systems, operating systems development, game development, and high-performance software engineering.
Achievements & Badges
Upon completion, earn a Cisco Networking Academy digital badge. Learners can also pursue the optional CLA – C Programming Language Certified Associate certification exam. Share your verified achievements on LinkedIn, your CV, or professional profile.
What Cisco verifies: Cisco verifies the earner of this badge successfully completed the C Essentials 2 course. The holder of this credential has intermediate C programming skills including working with structures, advanced function parameter passing, disjoint compilation, file and stream handling, preprocessor directives and conditional compilation, scope, storage classes, pointers to functions, and complex declarations.
