C-BASIC.AP1
C Primer Plus
Strengthen your programming skills! Learn C programming concepts, syntax, and best practices.
- Practice in 34 Hands-On Labs — nothing to install
- 19 Interactive Lessons and 219 topics mapped to the official exam objectives
Beginner Self-paced · 1 year access
34 Hands-On LiveLabs
Practice real IT tasks in guided environments.
- Real environments
- Auto-graded
- No installation
01 / Skills you'll get
What you will be able to do
- Knowledge of basic syntax, grammar, and structure of C programs
- Skilled in using various data types (int, float, char, etc.)
- Declaring, initializing, and using variables and constants
- Ability to work with operators including arithmetic, relational, logical, and bitwise
- Using conditional statements, loops, and branching
- Use of functions for creating, calling, and passing arguments
- Pointers, their dereferencing, and their use in memory management and dynamic data structures
- Using one-dimensional and multidimensional arrays
- Manipulating strings using standard library functions and custom implementations
- Expertise with File I/O and memory management
- Defining and using structures and unions for complex data
- Preprocessor directives for conditional compilation, macro definitions, and file inclusion
- Understanding of the C standard library functions and its usage
- Implement dynamic data structures including linked lists, stacks, queues, and trees
- Identify and debug errors in C code
Target Career Roles
- Software Developer Systems Programmer Embedded Systems Engineer Game Developer
02 / Lessons & labs
See exactly what you will learn and practice
Lessons
19 Interactive Lessons · 219 topics01 Introduction 2 topics +
- Approach and Goals
- About This eBook
02 Getting Ready 13 topics · 1 LiveLab +
- Whence C?
- Why C?
- Whither C?
- What Computers Do
- High-level Computer Languages and Compilers
- Language Standards
- Using C: Seven Steps
- Programming Mechanics
- How This Course Is Organized
- Conventions Used in This Course
- Summary
- Review Questions
- Programming Exercise
1 LiveLab in this lesson — see the labs panel →
03 Introducing C 12 topics · 2 LiveLab +
- A Simple Example of C
- The Example Explained
- The Structure of a Simple Program
- Tips on Making Your Programs Readable
- Taking Another Step in Using C
- While You’re at It—Multiple Functions
- Introducing Debugging
- Keywords and Reserved Identifiers
- Key Concepts
- Summary
- Review Questions
- Programming Exercises
2 LiveLab in this lesson — see the labs panel →
04 Data and C 11 topics · 2 LiveLab +
- A Sample Program
- Data Variables and Constants
- Data: Data-Type Keywords
- Basic C Data Types
- Using Data Types
- Arguments and Pitfalls
- One More Example: Escape Sequences
- Key Concepts
- Summary
- Review Questions
- Programming Exercises
2 LiveLab in this lesson — see the labs panel →
05 Character Strings and Formatted Input/Output 8 topics · 2 LiveLab +
- Introductory Program
- Character Strings: An Introduction
- Constants and the C Preprocessor
- Exploring and Exploiting printf() and scanf()
- Key Concepts
- Summary
- Review Questions
- Programming Exercises
2 LiveLab in this lesson — see the labs panel →
06 Operators, Expressions, and Statements 11 topics · 3 LiveLab +
- Introducing Loops
- Fundamental Operators
- Some Additional Operators
- Expressions and Statements
- Type Conversions
- Function with Arguments
- A Sample Program
- Key Concepts
- Summary
- Review Questions
- Programming Exercises
3 LiveLab in this lesson — see the labs panel →
07 C Control Statements: Looping 16 topics · 3 LiveLab +
- Revisiting the while Loop
- The while Statement
- Which Is Bigger: Using Relational Operators and Expressions
- Indefinite Loops and Counting Loops
- The for Loop
- More Assignment Operators: >+=, -=, *=, /=, %=
- The Comma Operator
- An Exit-Condition Loop: do while
- Which Loop?
- Nested Loops
- Introducing Arrays
- A Loop Example Using a Function Return Value
- Key Concepts
- Summary
- Review Questions
- Programming Exercises
3 LiveLab in this lesson — see the labs panel →
08 C Control Statements: Branching and Jumps 12 topics · 3 LiveLab +
- The if Statement
- Adding else to the if Statement
- Let’s Get Logical
- A Word-Count Program
- The Conditional Operator: ?:
- Loop Aids: continue and break
- Multiple Choice: switch and break
- The goto Statement
- Key Concepts
- Summary
- Review Questions
- Programming Exercises
3 LiveLab in this lesson — see the labs panel →
09 Character Input/Output and Input Validation 11 topics · 2 LiveLab +
- Single-Character I/O: getchar() and putchar()
- Buffers
- Terminating Keyboard Input
- Redirection and Files
- Creating a Friendlier User Interface
- Input Validation
- Menu Browsing
- Key Concepts
- Summary
- Review Questions
- Programming Exercises
2 LiveLab in this lesson — see the labs panel →
10 Functions 11 topics · 2 LiveLab +
- Reviewing Functions
- ANSI C Function Prototyping
- Recursion
- Compiling Programs with Two or More Source Code Files
- Finding Addresses: The & Operator
- Altering Variables in the Calling Function
- Pointers: A First Look
- Key Concepts
- Summary
- Review Questions
- Programming Exercises
2 LiveLab in this lesson — see the labs panel →
11 Arrays and Pointers 13 topics · 3 LiveLab +
- Arrays
- Multidimensional Arrays
- Pointers and Arrays
- Functions, Arrays, and Pointers
- Pointer Operations
- Protecting Array Contents
- Pointers and Multidimensional Arrays
- Variable-Length Arrays (VLAs)
- Compound Literals
- Key Concepts
- Summary
- Review Questions
- Programming Exercises
3 LiveLab in this lesson — see the labs panel →
12 Character Strings and String Functions 13 topics · 1 LiveLab +
- Representing Strings and String I/O
- String Input
- String Output
- The Do-It-Yourself Option
- String Functions
- A String Example: Sorting Strings
- The ctype.h Character Functions and Strings
- Command-Line Arguments
- String-to-Number Conversions
- Key Concepts
- Summary
- Review Questions
- Programming Exercises
1 LiveLab in this lesson — see the labs panel →
13 Storage Classes, Linkage, and Memory Management 9 topics · 1 LiveLab +
- Storage Classes
- A Random-Number Function and a Static Variable
- Roll ’Em
- Allocated Memory: malloc() and free()
- ANSI C Type Qualifiers
- Key Concepts
- Summary
- Review Questions
- Programming Exercises
1 LiveLab in this lesson — see the labs panel →
14 File Input/Output 11 topics · 1 LiveLab +
- Communicating with Files
- Standard I/O
- A Simple-Minded File-Condensing Program
- File I/O: fprintf(), fscanf(), fgets(), and fputs()
- Adventures in Random Access: fseek() and ftell()
- Behind the Scenes with Standard I/O
- Other Standard I/O Functions
- Key Concepts
- Summary
- Review Questions
- Programming Exercises
1 LiveLab in this lesson — see the labs panel →
15 Structures and Other Data Forms 18 topics · 3 LiveLab +
- Sample Problem: Creating an Inventory of Books
- Setting Up the Structure Declaration
- Defining a Structure Variable
- Arrays of Structures
- Nested Structures
- Pointers to Structures
- Telling Functions About Structures
- Saving the Structure Contents in a File
- Structures: What Next?
- Unions: A Quick Look
- Enumerated Types
- typedef: A Quick Look
- Fancy Declarations
- Functions and Pointers
- Key Concepts
- Summary
- Review Questions
- Programming Exercises
3 LiveLab in this lesson — see the labs panel →
16 Bit Fiddling 9 topics · 2 LiveLab +
- Binary Numbers, Bits, and Bytes
- Other Number Bases
- C’s Bitwise Operators
- Bit Fields
- Alignment Features (C11)
- Key Concepts
- Summary
- Review Questions
- Programming Exercises
2 LiveLab in this lesson — see the labs panel →
17 The C Preprocessor and the C Library 18 topics · 2 LiveLab +
- First Steps in Translating a Program
- Manifest Constants: #define
- Using Arguments with #define
- Macro or Function?
- File Inclusion: #include
- Other Directives
- Inline Functions (C99)
- _Noreturn Functions (C11)
- The C Library
- The Math Library
- The General Utilities Library
- The Assert Library
- memcpy() and memmove() from the string.h Library
- Variable Arguments: stdarg.h
- Key Concepts
- Summary
- Review Questions
- Programming Exercises
2 LiveLab in this lesson — see the labs panel →
18 Advanced Data Representation 12 topics · 1 LiveLab +
- Exploring Data Representation
- Beyond the Array to the Linked List
- Abstract Data Types (ADTs)
- Getting Queued with an ADT
- Simulating with a Queue
- The Linked List Versus the Array
- Binary Search Trees
- Other Directions
- Key Concepts
- Summary
- Review Questions
- Programming Exercises
1 LiveLab in this lesson — see the labs panel →
19 Appendix A: Reference Section 9 topics +
- Section I: Additional Reading
- Section II: C Operators
- Section III: Basic Types and Storage Classes
- Section IV: Expressions, Statements, and Program Flow
- Section V: The Standard ANSI C Library with C99 and C11 Additions
- Section VI: Extended Integer Types
- Section VII: Expanded Character Support
- Section VIII: C99/C11 Numeric Computational Enhancements
- Section IX: Differences Between C and C++
Hands-On Labs Our edge
34 LiveLabs- Using printf() and scanf()
- Using Multiple Functions
- Displaying the Value of a Variable
- Understanding Floating-Point Conversions
- Converting an Integer to its ASCII Code
- Performing String Formatting
- Using Strings and Unit Conversion
- Understanding Unit Conversion
- Using Functions with Arguments
- Using Operators
- Performing Calculations Using a Function Return Value
- Using Character Arrays
- Using Nested Loops
- Using the switch Statement
- Using Multiple Choice else if Statement
- Using the if Statement
- Understanding Character Input/Output
- Using the ctype.h Library
- Using a Loop to Calculate Fibonacci Numbers
- Computing the Harmonic Mean of Two Numbers
- Using Multidimensional Arrays
- Performing Calculations on Multiple Arrays
- Using Single-Dimensional Arrays
- Using String Input
- Understanding Memory Allocation
- Writing and Reading Numbers from a File
- Understanding Nested Structures
- Passing Structure Members as Arguments
- Using Compound Literals and Structures
- Using Bitwise Operators
- Understanding Binary Conversion
- Using Macro Functions
- Demonstrating the Usage of the atexit() Function
- Displaying a String in Reverse Order Using Stacks
03 / FAQs
Questions before you start
What is this C Primer Plus course about? +
Is this course worth the investment? +
Is this a beginner-friendly course? +
Does this course include any advanced topics of C programming? +
What are the career benefits of doing this course? +
What are the job opportunities available after this course? +
Will I get a certificate after completing this course?+
Gain Job-Ready Programming Skills
Learn how to write efficient and well-structured C Programming codes.
- 1 year of full access
- 34 LiveLab included
- Certificate of completion