• Online, Self-Paced
Course Description

C is a general purpose language with standards specified by the American National Standards Institute (ANSI). This course covers data structures such as arrays, strings, structures, and unions. It also covers file management using C. In this course, the instructor uses some non-standard Microsoft extensions. In these instances, the instructor uses quotes around the library names rather than the standard symbols.

Learning Objectives


  • start the course
  • describe arrays and use one-dimensional arrays in C programs
  • access specific elements in an array, add and array elements
  • use two-dimensional arrays in C programs
  • use multi-dimensional array in C programs

Working with Strings

  • describe strings as character arrays, contrast with character constants, and show how to initialize a string
  • read and write strings and characters and print to screen in C programs
  • use functions such as strcopy(), strcat(), strrev(), strupr(), strlwr(), strcmpi(), strncat(), and strncpy() to manipulate strings


  • contrast a structure with an array and declare a structure in a C program
  • declare and use nested structures in a C program
  • define an array with a structure data type in C
  • pass a structure to a function and return a structure from a function in C
  • point to a structure in C
  • describe bit fields and declare and use bit fields in C structures


  • differentiate between unions with structures and declare, initialize, and reference a union in a C program
  • use the dot operator and arrow operator in C
  • demonstrate how unions can be applied in C programs

File Management

  • describe the FILE pointer, files, streams, and buffers and show how to open and close a file using C
  • describe the functions used to read or write a file, one character at a time, using a C program
  • use fseek for random access to a file in C
  • write structures and arrays to file using C
  • use command line arguments for file management
  • use error handling functions such as ferror in file management scenarios

Practice: Managing Files in C

  • practice file management techniques with C

Framework Connections

The materials within this course focus on the NICE Framework Task, Knowledge, and Skill statements identified within the indicated NICE Framework component(s):

Specialty Areas

  • Software Development