Arkoa homepage
About Arkoa News & Events Contact Us Careers
  Course Catalog : C/C++ Programming :

Advanced C Programming

5 days

Course # 02-0200


Description

This course gives C programmers practical experience applying advanced C programming techniques. The course is operating system independent.

Audience
Systems and applications programmers and software designers who will be using C for software development and need to understand every aspect of the C programming language.

Prerequisites
Participants must have a working knowledge of C programming language, or have attended Arkoa’s C Programming course.

Hardware and Software
An ANSI C compiler running on any platform. The systems should be able to load a 3.5” DOS-formatted solution disk.

 

 


Format

  • Presentation
  • Hands-on

Objectives
After completing this course, participants should be able to:

  • Use the enhancements offered by ANSI C
  • Use all the functions in the ANSI library
  • Write sophisticated applications using multiple source files and separate compilation
  • Implement algorithms involving complex data structures
  • Describe all of the techniques and facilities for error trapping and error recovery
  • Identify potential barriers to portability



Topics

Debugging
  • Debugging tools
  • Code view - Microsoft C
  • sdb and dbx

Working with Multiple Files

  • Compilation and linking
  • Scope rules revisited
  • Include files

MAKE

  • Basic features
  • Makefile macros
  • The Makefile description file
  • Adding new rules

The Standard C Library

  • Character handling
  • Mathematical functions
  • Standard I/O
  • General utilities
  • String handling
  • Block memory functions
  • Date and time functions
  • Regular expression


 


Data Abstraction and Advanced Algorithms

  • Dynamic data structures
  • Self-referential structures
  • Linked lists
  • Doubly linked lists – queues
  • Binary trees
  • Balanced (AVL) binary trees
  • Flattening the search

Behavior of Complete Programs

  • The invocation environment
  • Command line parser- getopt
  • Interfacing to whole programs
  • Program termination
  • Exception handling
  • Controlled backtracking