C Primer Plus

Strengthen your programming skills! Learn C programming concepts, syntax, and best practices.

(C-BASIC.AP1) / ISBN : 978-1-64459-441-4
Lessons
Lab
Get A Free Trial

About This Course

C Primer Plus is a skill development training course that focuses on the core concepts, syntax, and structure of C programs. The course offers a structured and engaging introduction focusing on the concepts, syntax, and best practices of C programming. The course content is divided into 18 comprehensive chapters, each covering different aspects of C programming fundamentals with detailed explanations and hands-on exercises to reinforce your learning. By the end of this C Programming course, you will develop a strong foundation in C programming and acquire the skills required to build applications.

Skills You’ll Get

  • 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

 

1

Introduction

  • Approach and Goals
  • About This eBook
2

Getting Ready

  • 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
3

Introducing C

  • 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
4

Data and C

  • 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
5

Character Strings and Formatted Input/Output

  • Introductory Program
  • Character Strings: An Introduction
  • Constants and the C Preprocessor
  • Exploring and Exploiting printf() and scanf()
  • Key Concepts
  • Summary
  • Review Questions
  • Programming Exercises
6

Operators, Expressions, and Statements

  • 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
7

C Control Statements: Looping

  • 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
8

C Control Statements: Branching and Jumps

  • 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
9

Character Input/Output and Input Validation

  • 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
10

Functions

  • 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
11

Arrays and Pointers

  • 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
12

Character Strings and String Functions

  • 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
13

Storage Classes, Linkage, and Memory Management

  • 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
14

File Input/Output

  • 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
15

Structures and Other Data Forms

  • 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
16

Bit Fiddling

  • Binary Numbers, Bits, and Bytes
  • Other Number Bases
  • C’s Bitwise Operators
  • Bit Fields
  • Alignment Features (C11)
  • Key Concepts
  • Summary
  • Review Questions
  • Programming Exercises
17

The C Preprocessor and the C Library

  • 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
18

Advanced Data Representation

  • 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
A

Appendix A: Reference Section

  • 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++

Getting Ready

  • Using printf() and scanf()

Introducing C

  • Using Multiple Functions
  • Displaying the Value of a Variable

Data and C

  • Understanding Floating-Point Conversions
  • Converting an Integer to its ASCII Code

Character Strings and Formatted Input/Output

  • Performing String Formatting
  • Using Strings and Unit Conversion

Operators, Expressions, and Statements

  • Understanding Unit Conversion
  • Using Functions with Arguments
  • Using Operators

C Control Statements: Looping

  • Performing Calculations Using a Function Return Value
  • Using Character Arrays
  • Using Nested Loops

C Control Statements: Branching and Jumps

  • Using the switch Statement
  • Using Multiple Choice else if Statement
  • Using the if Statement

Character Input/Output and Input Validation

  • Understanding Character Input/Output
  • Using the ctype.h Library

Functions

  • Using a Loop to Calculate Fibonacci Numbers
  • Computing the Harmonic Mean of Two Numbers

Arrays and Pointers

  • Using Multidimensional Arrays
  • Performing Calculations on Multiple Arrays
  • Using Single-Dimensional Arrays

Character Strings and String Functions

  • Using String Input

Storage Classes, Linkage, and Memory Management

  • Understanding Memory Allocation

File Input/Output

  • Writing and Reading Numbers from a File

Structures and Other Data Forms

  • Understanding Nested Structures
  • Passing Structure Members as Arguments
  • Using Compound Literals and Structures

Bit Fiddling

  • Using Bitwise Operators
  • Understanding Binary Conversion

The C Preprocessor and the C Library

  • Using Macro Functions
  • Demonstrating the Usage of the atexit() Function

Advanced Data Representation

  • Displaying a String in Reverse Order Using Stacks

Any questions?
Check out the FAQs

If you still have any unanswered questions, read this section to resolve all your doubts on ‘C Primer Plus’ study guide.

Contact Us Now

This course offers a comprehensive introduction to the C Programming language.It covers a wide range of topics including fundamentals of programming; functions & pointers; arrays & strings; structures & unions; data types; operators, control flow, and memory management. To summarize, you’ll learn everything you need to know to become a skilled C programmer.

Yes, this course is definitely worth your time and investment. It will provide you with solid foundational knowledge needed to aim for a rewarding career in the programming field.

Yes, it is a beginner-friendly course. You can gradually build on your programming skills as the course progresses.

Yes, this course covers a wide range of advanced topics of programming including pointers & memory management, structures & unions, File I/O, preprocessor directives, standard library, and data structures.

Doing this C Primer Plus online course can open many job opportunities especially in the fields that require strong programming language skills and system-level understanding. It will also improve your problem-solving skills with logical thinking. You’ll have the competitive advantage to aim for high-paying jobs.

You can explore a wide range of career opportunities in the field of systems programming, game development, scientific computing, web development, and embedded systems.

Yes, you will get a certificate of completion after attempting the final assessment.

Related Courses

All Course
scroll to top