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. View Course Outline Share This Request On-Site or Customized Course Info REGISTER FOR A COURSEWARE SAMPLE x Sent First Name Last Name Email Request On-Site or Customized Course Info x Sent First Name Last Name Phone Number Company Name Email Question
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. View Course Outline Share This Request On-Site or Customized Course Info REGISTER FOR A COURSEWARE SAMPLE x Sent First Name Last Name Email Request On-Site or Customized Course Info x Sent First Name Last Name Phone Number Company Name Email Question