ANSI C Programming

Master the ABC's of C.

Learning the ANSI C programming language well is a fundamental prelude to learning Objective-C and the Cocoa and Cocoa Touch frameworks. To get a solid foundation in the fundamentals of C programming, you'll need more than just the basic syntax.

This course will give you a solid grasp of the fundamental concepts of C programming—including some of the more challenging aspects of pointers, arrays, structures, defined types, and dynamic memory allocation. You'll also learn how to use the standard C libraries, as well as how to work with the LLDB compiler and debugger.

Smaller class size = better learning.

Learning a complex new technology in a large group setting can sometimes be an intimidating experience. Why risk missing out on important details? Our smaller class size will allow you to feel comfortable asking whatever questions you like. It'll also help ensure you get all the individual attention you need during lab exercises.


Updated for iOS 7


Please feel free to reserve one of the available Macintosh computers in our state-of-the art classroom, or bring your own MacBook Air or MacBook Pro if you prefer.

Duration

3 days.

Objectives

Learn the fundamentals of C.

Get a solid foundation in the fundamentals of C programming. You'll learn far more than the basic syntax.

This course will give you a solid grasp of the fundamental concepts of C programming—including some of the more challenging aspects of pointers, arrays, structures, defined types, and dynamic memory allocation. And you'll also learn the essentials of the standard C libraries, as well as how to work with the GNU C compiler and debugger.

Audience

Take this course if you're:

  • Familiar with the basic concepts of computer programming.
  • Interested in learning Objective-C to develop code for Mac OS X or the iPhone platform.

For further insight into which courses would suit you best, please take a look at our guide on iPhone development classes.

Instructors

Learn from seasoned developers and teachers.

Need a machine? Reserve a 13” MacBook Pro or MacBook Air Today!

If you’re unable to bring your own MacBook Air or MacBook Pro to class, we have a limited inventory of loaner machines. Please call ahead (main: 571-346-7544) to check on availability.

Links

For additional information on iOS programming, please visit Apple's iOS Dev Center: http://developer.apple.com/ios/

Also, please feel free to download our free iOS development tutorials. These are Xcode projects that will take you step-by-step through detailed examples that cover the basics, including working with UIView and UIViewController; Core Animation and custom drawing; working with subclasses of UIControl such as UITextField and UIButton; working with UITableView and UITableViewController, including making a UITableView editable, and creating editable instances of UITableViewCell; and managing navigation with UINavigationController.

Outline

  • Xcode: Start using Apple's Xcode IDE to edit, build, and debug your C programs.
  • Fundamentals: Master the basics of C: variables and data types, expressions and operators, statements, functions, simple I/O, looping and branching, and more.
  • The C Compiler: Understand the phases of compilation, from preprocessing through linking and loading. Learn how to customize compilation to produce intermediate files, add debug symbols, control warning messages, etc.
  • The C Preprocessor: Learn to use the preprocessor to import header files, define symbolic constants and macros, and manage conditional compilation.
  • Define and Invoke Functions: Modularize your code by writing reusable functions.
  • Understanding Storage Classes: Learn what causes variables to go in and out of scope, how the stack provides storage for automatic variables and manages function parameters and return values, and how the extent of a variable is defined.
  • Expressions: Understand type coercion and precedence rules, the order of operand evaluation, comma-separated lists of expressions, and the trigraph operator.
  • Control Structures: Work with while, do...while, and for loops, case structures, and multi-level nesting.
  • Pointers, Arrays, and Strings: Learn how to work with pointers and arrays, and in the process, discover the mysterious relationship they have with one another in C. Learn to work with strings directly, and by using library functions such as strcpy(), strcat(), sscanf(), and others.
  • Data Structures: Learn how to use struct declarations to create custom data types in C.
  • Dynamic Memory Allocation: Discover how to control your program's memory consumption by dynamically allocating and freeing memory as needed via calls to malloc(), realloc(), and free().
  • Understanding Addresses and Pointer Arithmetic: Get a better handle on multi-dimensional arrays, structure pointers, multiple indirection, and passing pointers as arguments to functions Learn to use pointers to walk arrays—including arrays of pointers.
  • Working with Stream and File I/O: Learn how to work with streams such as standard input and standard output, and to work with files and the filesystem, including reading and writing text and binary data.