• 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

Arrays

  • 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

Structures

  • 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

Unions

  • 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 Knowledge Skills and Abilities (KSAs) identified within the Specialty Areas listed below. Click to view Specialty Area details within the interactive National Cybersecurity Workforce Framework.

Feedback

If you would like to provide feedback for this course, please e-mail the NICCS SO at NICCS@hq.dhs.gov.