We're offering 20% off September Live Online classes! See which courses are applicable.   |   Details

AccountIcon BigDataIcon BlogIcon default_resource_icon CartIcon checkmark_icon cloud_devops_icon computer_network_admin_icon cyber_security_icon gsa_schedule_icon human_resources_icon location_icon phone_icon plus_icon programming_software_icon project_management_icon redhat_linux_icon search_icon sonography_icon sql_database_icon webinar_icon

Search UMBC Training Centers


Introduction to C Programming

Group Training + View more dates & times


This course provides students with a comprehensive study of the C programming language. Classroom lectures stress the strengths of C, which provide programmers with the means of writing efficient, maintainable, and portable code. The lectures are supplemented with non-trivial lab exercises.

Who Should Take This Course

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.


Students should have taken the Software Development for Non-Programmers course or have experience with a programming or an assembly language.

Why You Should Take This Course

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
  • if
  • if-else
  • while
  • for
  • Endless Loops
  • do while
  • break and continue
  • switch
  • else if
Chapter 4: The C Preprocessor
  • #define
  • Preprocessor Macros
  • #include
  • Conditional Compilation
  • #ifndef
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
  • register and extern
  • 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
  • gets – a Function Returning a Pointer
  • 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
  • typedef – New Name for an Existing Type
  • Bit Fields
  • unions
  • Non-Homogeneous Arrays
  • Enumerations
Chapter 15: File I/O
  • System Calls vs. Library Calls
  • Opening Disk Files
  • fopen
  • I/O Library Functions
  • Copying a File
  • Character Input vs. Line Input
  • scanf
  • fprintf
  • fclose
  • Servicing Errors – errno.h
  • feof
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
  • fwrite
  • The create_db Function
  • fread
  • The print_db Function
  • fseek
  • 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
  • strstr
  • strchr, strrchr
  • system
  • strtok
  • strspn, strcspn
  • Math Functions
  • Character Testing Functions
  • exit and atexit
  • signal
  • memcpy
  • memset
  • qsort
  • Binary Search – bsearch
Is there a discount available for current students?

UMBC students and alumni, as well as students who have previously taken a public training course with UMBC Training Centers are eligible for a 10% discount, capped at $250. Please provide a copy of your UMBC student ID or an unofficial transcript or the name of the UMBC Training Centers course you have completed. Online courses are excluded from this offer.

What is the cancellation and refund policy?

Student will receive a refund of paid registration fees only if UMBC Training Centers receives a notice of cancellation at least 10 business days prior to the class start date for classes or the exam date for exams.

Contact Us