Advanced C Programming

Course ID

30200

Course Description

The C Programming Language was originally created to write the UNIX operating system. It quickly turned into a multi-purpose language used by all types of programmers for a wide variety of applications. C is a small language that can be learned quickly. It is highly structured and modular, supporting both small and large programs equally well. This course fills the gap between an introductory course in C and more advanced application programming. Students learn about basic and derived data types, parameter passing, standard and low level file I/O, working with malloc and calloc, the memory layout of C programs, and linked lists.

Prerequisites

C Programming

Audience

C programmers who need to advance their coding skills.

Course Content

    Course Introduction
  • Course Objectives
  • Course Overview
  • Suggested References

    The C Development Environment
  • The cc(1) Command
  • Included Files
  • Libraries

    Basic and Derived Data Types in C
  • Simple C data types
  • Integral data types
  • Floating point types
  • Derived data types
  • Array data types - single and multi-dimensional
  • Structure data types
  • Simple pointer types
  • Pointers to structures/multiple pointers
  • Pointers to functions
  • The const qualifier
  • Bit operators
  • Using typedef

    Function: Calling, Passing, and Returning Values
  • Anatomy of a function
  • Parameter passing - pass by value
  • Parameter passing - pass by reference

    Standard I/O
  • Standard I/O streams
  • File access
  • Formatted I/O
  • String I/O
  • File positioning operations
  • Block I/O

    Low Level File I/O
  • Standard I/O vs system I/O
  • File access
  • Direct I/O
  • File Positioning
  • Error Handling

    Memory Allocation with malloc and calloc
  • Dynamic memory allocation overview
  • malloc(), calloc()
  • realloc(), free()
  • Structure Pointers
  • Array of pointers to structures

    Memory Organization and the Scope of Variables
  • Command line arguments (argc, argv)
  • The memory layout of a C Program
  • The stack segment
  • The heap segment

    Data Structures - Linked Lists
  • Array limitations
  • Linked lists
  • List operations - formation
  • List operations delete

    Appendix A
  • Debugging Techniques
  • Debugging Hints
  • Debugging with Pre-Processing Directives
  • Debug Macro
  • Symbolic Debuggers

    Appendix B
  • Coding from Pseudo Code
  • Project Header Files
  • Project Source Files
  • Project Tracking (Bookkeeping)

    Appendix C
  • Overview of the Make Utility
  • Using the Make Utility
  • Simple Makefile Commands

    Appendix D
  • Preparing to Use a Debugger
  • Project Header Files
  • Project Source Files
  • Project Tracking (Bookkeeping)

For More Information

For training inquiries, call 850-308-1376

or email us at eramos@gbsi.com

Course Details

Duration - 3 days
Price - $1895.00 USD


(Discounts may apply. Call for more information.)

Course Actions

Acceletrain Collaborative Learning Environment (formerly know as VILT) places industry certified and expert instructors, peers, learners and multi-media components into a "borderless classroom", and interactive learning environment that can span multiple physical locations. VILT combines the benefits of the traditional brick-and-mortar classroom with innovative learning techniques and the cost savings of internet-based training.