- COURSE
Intermediate C Programming
Price: $2,995.00
Duration: 5 days
Certification:
Exam:
Continuing Education Credits:
Learning Credits:
This course continues the students’ study of the C programming language using the C99 standard. The core C language features covered in this course include functions, arrays, strings, pointers, dynamic memory allocation, library functions, structures, and file I/O. Programming techniques covered by this course include modularity, top-down design, documentation, debugging, and testing.
Topic Include:
- Review of Basic C
- Program and Data Structure Design
- Function documentation
- Formatted Input/Output
- Advanced Structures
- Function macros
- Integer representation
- Bitwise operators
- Pointers to Structures and Linked Lists
- Dynamic memory allocation and related topics
- Pointers to Pointers and Dynamic multi-dimensional Arrays
- Unsigned data types
- Pointers to Functions
- Searching and Sorting an Array
- Pointer arithmetic
- Advanced Sequential File I/O
- Debugging Techniques
- Separate compilation
- Makefiles and the make utility
- Miscellaneous C Features
- Common C Bugs
Upcoming Class Dates and Times
All Sunset Learning courses are guaranteed to run
- Please Contact Us to request a class date or speak with someone about scheduling options.
Course Outline and Details
Prerequisites
Target Audience
This course is for programmers who have had experience in any programming language or have been tasked with a C programming project, and other technical types including managers and customer support engineers who need to know C.
Course Objectives
Upon completion of this course, students will be able to:
- Write C programs that are non-trivial.
- Use the variety of data types appropriate to specific programming problems.
- Utilize the modular features of the language.
- Demonstrate efficiency and readability.
- Demonstrate the use of the various control flow constructs.
- Use arrays as part of the software solution.
- Utilize pointers to efficiently solve problems.
- Include the structure data type as part of the solution.
- Create their own data types. Use functions from the portable C library.
Course Outline
Chapter 1: Getting Started
- What is C?
- Background
- Sample Program
- Components of a C Program
- Examples
- Data Types
- Variables
- Naming Conventions for C Variables
- Printing and Initializing Variables
- Array Examples
- Compiling and Executing a C Program
Chapter 2: Functions and Operators
- Functions
- Invoking Functions
- Elementary Operators
- The Assignment Operators
- Number of Operands
- The Conditional Operator
- Increment and Decrement Operators
Chapter 3: Control Flow Constructs
- Examples of Expressions
- Endless Loops
Chapter 4: The C Preprocessor
- Preprocessor Macros
- Conditional Compilation
Chapter 5: Simple I/O
- Character I/O
- End of File
- Simple I/O Examples
- Simple I/O Redirection
- I/O with Character Arrays
Chapter 6: More on Functions
- Introduction
- Function Declarations
- Returning a Value or Not
- Function Prototypes
- Arguments and Parameters
- Organization of C Source Files
- Extended Example
- The getaline Function
- The strcmp Function
- The check Function
- The atoi Function
- The average Function
- Summary
Chapter 7: Bit Manipulation
- Defining the Problem Space
- A Programming Example
- Bit Wise Operators
- Bit Manipulation Functions
- Circular Shifts
Chapter 8: Strings
- Fundamental Concepts
- Aggregate Operations
- String Functions
- String Functions Example
Chapter 9: Higher Dimensional Arrays
- Array Dimensions
- An Array as an Argument to a Function
- Two-Dimensional Array Example
- String Arrays
Chapter 10: Separate Compilation
- Compiling Over Several Files
- Function Scope
- File Scope
- Program Scope
- Local static
- Object Files
- Libraries
- The C Loader
- Header Files
Chapter 11: Pointers (Part 1)
- Fundamental Concepts
- Pointer Operators and Operations
- Changing an Argument with a Function Call
- Pointer Arithmetic
- Array Traversal
- String Functions with Pointers
- Pointer Difference
- Prototypes for String Functions
- Relationship Between an Array and a Pointer
- The Pointer Notation *p++
Chapter 12: Pointers (Part 2)
- Dynamic Storage Allocation – malloc
- Functions Returning a Pointer
- Initialization of Pointers
- An Array of Character Pointers
- Two Dimensional Arrays vs. Array of Pointers
- Command Line Arguments
- Pointers to Pointers
- Practice with Pointers
- Function Pointers
Chapter 13: Structures
- Fundamental Concepts
- Describing a Structure
- Creating Structures
- Operations on Structures
- Functions Returning Structures
- Passing Structures to Functions
- Pointers to Structures
- Array of Structures
- Functions Returning a Pointer to a Structure
Chapter 14: Structure Related Items
- Bit Fields
- Non-Homogeneous Arrays
- Enumerations
Chapter 15: File I/O
- System Calls vs. Library Calls
- Opening Disk Files
- I/O Library Functions
- Copying a File
- Character Input vs. Line Input
- Servicing Errors – errno.h
Chapter 16: Information About Files
- The stat Function
- File Existence
- Telling Time – time and ctime
- Telling Time – localtime
Chapter 17: I/O With Structures
- A Database Application
- The menu Function
- The create_db Function
- The print_db Function
- The retrieve_db Function
- The Utility Functions
Appendix A: C Language Programming
- Important Header Files
- printf Formats
- C Reserved Words
- Conversion
- Precedence Chart
Appendix B: Useful Library Functions
- Math Functions
- Character Testing Functions
- Binary Search – bsearch