|
 |
QuickCode: QQBLYP
ANSI C Programming
Upcoming Dates
*Click on a Date to Sign Up
Oct 13-17 · HUNTSVILLE, AL
Oct 13-17 · FORT LAUDERDALE, FL
Oct 13-17 · JACKSONVILLE, FL
Oct 13-17 · MIAMI, FL
Oct 13-17 · ORLANDO, FL
Oct 13-17 · PENSACOLA, FL
Oct 13-17 · SARASOTA, FL
Oct 13-17 · TAMPA, FL
Oct 13-17 · WEST PALM BEACH, FL
Oct 13-17 · ATLANTA, GA
Oct 13-17 · SAVANNAH, GA
Oct 13-17 · CHARLESTON, SC
Oct 20-24 · WASHINGTON, DC
Oct 20-24 · BALTIMORE, MD
Oct 20-24 · COLUMBIA, MD
Oct 20-24 · CHARLOTTE, NC
Oct 20-24 · RALEIGH-DURHAM, NC
Oct 20-24 · WINSTON-SALEM, NC
Oct 20-24 · JERSEY CITY, NJ
Oct 20-24 · NEWARK, NJ
|
|
|
| Show All 166 Dates |
|
Detailed Overview/Outline
PREREQUISITES: Experienced programming in a high level language. Some familiarity with data structures and operating systems.
DURATION: 5 days
DESCRIPTION: This hands-on ANSI C Course provides a comprehensive introduction to the C language, emphasizing portability and structured design. Thorough treatment is given to the topics of string and character manipulation, dynamic memory allocation, standard I/O, macro definition, the C runtime library, and ANSI C specifications, especially where they differ from older C implementations. The Course explains the use of aggregate structures, unions, and pointers early on so the students can practice extensively in the hands on labs. Structured programming constructs and varargs functions are also included. The Course includes coverage of portability tips drawn from experienced programmers working in production environments. Overview of Topics Covered Overview of C
- Operating System Independence
- Design Goals and Capabilities
- Flavors of C
Compiler Directives and the C Preprocessor
- Compile-Time Directives
- Use of typedef
- C Preprocessor Syntax
Fundamental Data Types, Storage Classes, and Scope
- Fundamental Data Types and Qualifiers
- Constants and Strings
- Storage Classes
- Scope and Block Structure
- Scope and Data Hiding
- Data Initialization
Pointers and Dynamic Allocation
- Advantages of Pointers
- User of Pointers
- Pointer and Address Arithmetic
- Dynamic Storage Allocation
- sizeof
- Double Indirection
Macros
- Functions versus Inlining
- Purpose of Macros
- Use of Macros
- Making Code More Readable
- Auto Adjustment of Compile Time Values
- Conditional Compilation
- Making Code Portable
- Simplifying Complex Access Calculations
- Advanced Micro Design Tips
- Using Macros to Help Write Portable Programs
- When to Use a Macro instead of a Function
- Using Macros for Debugging
Arrays
- Purpose of Arrays
- Declaring an Array
- Initializing an Array
- Addressing Elements
- Stepping Through an Array
- Variable Size Arrays
- Arrays of Pointers
- Arrays of Strings
- Passing an Array to a Function
- Dynamic Memory Allocation
- Multidimensional Arrays
Basic Formatted I/O
- Standard I/O Library
- Character Set Encoding
- Standard Input and Output
- Character I/O Functions
- Formatted I/O Functions
- String Constants
Program Debugging
- Problem Analysis
- Instrumenting with printif
- Instrumenting with ctrace
- The Purpose of Debuggers
- How Not to Use Debuggers
- Symbolic Debuggers
Operators and Expressions
- Arithmetic, Logical, and Bit Operators
- Precedence and Associativity
- Assignment and Casting
- The Conditional Operator
Flow Control Constructs
- Conditional Constructs: if, switch
- Looping Constructs: while, do, for
- Programming Style
Functions (Subroutines)
- Purpose of Functions
- Functions versus Inlining
- Automatic Variables
- The Argument Stack
- Passing By Value
- Passing By Reference
- Declaring External Functions
- Function Prototyping
- ANSI Prototyping
- The _NO_PROTO Compiler Symbol
- Varargs Functions
- Passing a Function as an Argument
- Designing Functions for Reusability
- Calling a Function from Another Language
- Returning a Dynamically Allocated Value Using Double Indirection
- Casting the Return Value of a Function
- Recursion and Reentrancy
Structures
- Purpose of Structures
- Defining and Declaring Structures
- Accessing Members
- Pointers to Structures
- Dynamic Memory Allocation
- Passing a Structure to a Function
- As a Pointer
- Passing the Actual Structure
Advanced Structures and Unions
- Nested Structures
- Arrays of Structures
- Bit Fields
- Unions
- Linked Lists
C Runtime Library Standard Functions
- Character I/O
- Unformatted File I/O
- Formatted File I/O
- Math Functions
- Miscellaneous Functions
Strings and Character Manipulation
- Strings as Character Arrays
- String Library Functions
- Reading and Writing Strings
Accessing Command Line Arguments and Environment Symbols
- argc and argv
- Parsing Command Line Options
- Accessing the Environment Array
Structured Programming
- Structuring Code for Quality, Reliability, Maintainability
- Designing for Modularity and Reusability
Advanced Programming Consideration
- Writing Portable Code
- Use of Macros
- ANSI C Limits
- Feature Test Macros
- Client/Server Design
- Performance Considerations
Sponsor Background: First-rate materials. Top-notch instructors. Small classes. Well-structured, challenging hands-on exercises. These are the critical elements of a truly effective training program – and the key reasons why Hands On Technology Transfer (HOTT) should be your source for software skills training.
HOTT is dedicated to providing programming professionals like you with the skills and knowledge necessary to enhance competency and productivity. Whether you are moving into a new technology or advancing your current skill set, HOTT will provide you with an unparalleled learning environment.
Here’s why:
- Convenience HOTT offers courses at frequent intervals in a number of cities across the United States to help provide a location convenient to you. Easy access helps you minimize your travel time and expenses as well as down time from your job. There’s no financial penalty if you have to withdraw or change your plans after you register, so you can reserve your place as early as you’d like. And registration’s as easy as reaching for the phone.
- Perspective As an independent, dedicated training organization, HOTT offers a practical, realistic and unbiased view of competing technologies and products that you won’t get at training centers authorized by a particular software vendor. Our courses emphasize task-oriented, not product-oriented training – training that integrates technologies the way your business does. Because our instructors have cross-platform knowledge and experience, you’ll get the full picture – not just how to use a particular tool, but the issues involved in using multiple tools in today’s open environments, including practical design, architecture, and coding issues. You’ll understand technology well enough to create good designs before you code – and be prepared to design for a client/server, cross-platform or multi-tier environment. HOTT prepares you to become a more knowledgeable, efficient, effective and valuable employee, as well as a more educated technology consumer.
- Quality In addition to being seasoned professional trainers, our instructors also have many years of training and industry experience working in their respective fields. Practiced developers, software engineers, and system administrators, they understand the challenges you face in your job and have first-hand knowledge of the skills you need to succeed. Extensive national and international teaching experience has prepared our instructors to manage a variety of group dynamics and relate to foreign students, ensuring all participants’ full involvement and success.
- Substance HOTT class sizes are kept significantly smaller than classes at other national training firms in order to provide you with more personalized attention, more focused content, and greater access to instructors for problems and questions. We continually refine and upgrade our courseware to reflect new product features and industry requirements. Equally important, we’ve built our materials and curriculum to reflect the needs of our students as they have communicated them to us. As a result, you don’t just learn what we think you should learn, you learn what other professionals like you have identified as necessary to their jobs. You’ll find HOTT labs exceptionally challenging. Their objective is to provide an in-depth, hands-on experience that replicates real work experience and trains you to deal with the complexities of real scenarios. With an average class size of 12 students, you’re assured full attention from the instructor. Course materials, including student and lab guides and your lab software, are yours to keep. Certain courses also include a complimentary industry textbook, which provides additional supporting information and reference material.
- Value HOTT delivers high-quality training, with all the benefits of small-size classes, at highly competitive prices. Special rates for large groups attending our public classes save you even more. For extensive individual training needs, HOTT Training Pass provides an extremely cost-effective option. And we can often charge far less than you’d think to bring a tailored program right to your facility.
- Selection HOTT’s extensive offerings include introductory and advanced courses in Object Oriented Analysis and Design, C++, Visual C++, MFC, Win32, ActiveX, COM, Visual Basic, UNIX, X/MOTIF, ANSI C, Windows NT, Java, Networking, Web Programming, and more. Because we focus on advanced programming skills, you’ll find a greater selection of advanced courses at HOTT than at most other training centers. An even greater array of highly focused courses are available for delivery at your site.
Quote From Past Participants: "Instructor did an outstanding job of presenting the material and getting the students to dig into coding. High energy level and excellent command of material."
"Instructor was the best I've seen; extremely knowledgeable in all areas and willing to discuss related topics as time permitted. Outstanding!"
This seminar has 166 available dates/locations. Click the button below to view them all and to sign up for this seminar. To quickly return to this seminar at a later time, you can search by its QuickCode: QQBLYP.
Get updated when new dates are added for this seminar. |
Get a free personalized recommendation from our experts! |
Questions? Please call us Toll-free at (877) SEM-INFO.
|