Providing Technology Training and Mentoring For Modern Technology Adoption
Web Age Aniversary Logo
US Inquiries / 1.877.517.6540
Canadian Inquiries / 1.877.812.8887
Course #:WA1077

C Programming Training

This five day course teaches C programming.

Topics

  • Introduction
  • Operators in C
  • Control Flow
  • Functions
  • Pointers
  • Arrays in C
  • Structures in C
  • Reading C Declarations
  • Handling Files in C
  • Miscellaneous Things
  • C and the Heap

Audience

Programmers

Prerequisites

Delegates attending this C training course should have a good working knowledge of programming techniques. No prior use of C is assumed, but limited exposure to the product would help.

Duration

Five days.

Outline of C Programming Training

  1. Introduction 

  • Welcome to C
  • Course Objectives
  • Practical Exercises
  • Features of C
  • The History of C
  • Standard C vs. K&R C
  • A C Program
  • The Format of C
  • Another Example
  • Variables
  • printf and scanf
  • Integer Types in C
  • Integer Example
  • Character Example
  • Integers with different bases
  • Real types in C
  • Real Example
  • Constants
  • Warning!
  • Named Constants
  • Preprocessor Constants
  • Take Care With printf and scanf

  2. Operators in C  

  • Operators in C
  • Arithmetic Operators
  • Using Arithmetic Operators
  • The Cast Operator
  • Increment and Decrement
  • Prefix and Postfix
  • Truth in C
  • Comparison Operators
  • Logical Operators
  • Logical Operators
  • Bitwise Operators
  • Bitwise Example
  • Assignment
  • Other Assignment Operators
  • sizeof Operator
  • Conditional Expression Operator
  • Precedence of Operators
  • Associativity
  • Precedence/Associativity Table

  3. Control Flow

  • Control Flow
  • Decisions if then
  • if then else
  • Nesting ifs
  • switch
  • More about switch
  • while loop
  • Semicolon Warning!
  • while, not until!
  • do while
  • for loop
  • for is not until either!
  • Stepping with for
  • Extending the for loop
  • break
  • continue

  4. Functions

  • The RulesWriting a Function
  • Calling a Function
  • Prototypes
  • Prototyping is Not Really Optional
  • Writing Prototypes
  • Take Care With Semicolons
  • Example Prototypes
  • Example Calls
  • Rules of Visibility
  • Call by Value
  • Call by Value
  • C and the Stack
  • Stack Example
  • Storage
  • auto
  • static
  • register
  • Global Variables

  5. Pointers

  • Pointers
  • Declaring Pointers
  • Example Pointer Declarations
  • The "&" Operator
  • Rules
  • The "*" Operator
  • Writing Down Pointers
  • Initialisation Warning!
  • Initialise Pointers!
  • NULL
  • Fill in the Gaps
  • Type Mismatch
  • Call by Value
  • Reminder
  • Call by Reference
  • Pointers to Pointers

  6. Arrays in C

  • Declaring Arrays
  • Accessing Elements
  • Array Names
  • Passing Arrays to Functions
  • Using Pointers
  • Pointers Go Backwards Too
  • Pointers May be Subtracted
  • Using Pointers
  • * and ++
  • Which Notation?
  • Strings
  • Printing Strings
  • Null Really Does Mark the End!
  • Assigning to Strings
  • Pointing to Strings
  • Multidimensional Arrays

  7. Structures in C

  • Concepts
  • Setting up the Template
  • Creating Instances
  • Initialising Instances
  • Structures Within Structures
  • Accessing Members
  • Unusual Properties
  • Instances May Be Assigned
  • Passing Instances to Functions
  • Pointers to Structures
  • Why (*p).name?
  • Using p->name
  • Pass by Reference
  • Returning Structure Instances
  • Linked Lists
  • Example
  • Printing the List

  8. Reading C Declarations

  • Introduction
  • SOAC
  • typedef

  9. Handling Files in C

  • Introduction
  • Streams
  • What is a Stream?
  • Why stdout and stderr?
  • stdin is Line Buffered
  • Opening Files
  • Dealing with Errors
  • File Access Problem
  • Copying Files
  • Convenience Problem
  • Accessing the Command Line
  • Useful Routines
  • Binary Files

  10. Miscellaneous Things

  • Unions
  • Remembering
  • Enumerated Types
  • Using Different Constants
  • The Preprocessor
  • Including Files
  • Pathnames
  • Preprocessor Constants
  • Avoid Temptation!
  • Preprocessor Macros
  • A Debugging Aid
  • Working With Large Projects
  • Data Sharing Example
  • Data Hiding Example
  • Use Header Files
  • Getting it Right

  10. C and the Heap

  • What is the Heap?
  • How Much Memory?
  • Dynamic Arrays
  • Using Dynamic Arrays
  • calloc/malloc Example
  • realloc Example
  • realloc can do it all
  • Allocating Arrays of Arrays
  • Dynamic Data Structures
  • Linking the List
We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston, Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.
US Inquiries / 1.877.517.6540
Canadian Inquiries / 1.877.812.8887