Course Summary

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 GNU C compiler and debugger.

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.

Additional Notes

Learn from a seasoned developer and teacher.

Jonathan Lehr is the founder and President of About Objects. In over two decades of experience as a software developer and trainer, he has written several books and more than a dozen courses on Objective-C, Cocoa, Java, and other programming topics.

Jonathan first learned Object-Oriented programming on a NeXT workstation he bought in 1991, and he has been sharing his enthusiasm for Objective-C and Cocoa ever since.

Need a machine? Reserve a 20" iMac Today!

Bring your own MacBook or MacBook Pro. Or—if you're attending classes at our headquarters facility in Reston—reserve one of our 20" iMacs with Core Duo processor and 2GB of RAM.

There are also MacBook Pros available at our other locations, but quantities are limited. Please contact our registrar (571-346-7544) to reserve a machine for an upcoming class.

Links

For additional information on C programming, please visit:

Wikipedia: http://en.wikipedia.org/wiki/C_programming
The C Book: http://publications.gbdirect.co.uk/c_book/
Cocoa Dev Central's C Language Tutorial for Cocoa: http://cocoadevcentral.com/articles/000081.php/

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.