• Online, Self-Paced
Course Description

C is a general purpose language with standards specified by the American National Standards Institute (ANSI). This course demonstrates how to work with various built-in functions and use format specifiers. It covers storage classes, volatile variables, data modifiers and dynamic memory allocation (DMA). It also covers how to use the C preprocessor to optimize C programs. 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

Working with Functions and Format Specifiers

  • start the course
  • use built in functions such as system(), delay(), and sleep() in C
  • use built in functions ceil() and floor()
  • use built in functions such as rand(), srand() to generate random value
  • list the categories of maths' functions such as cos() in C and demonstrate their use
  • use ctime to output date and time string using C
  • use format specifiers in C

 

Storage Classes and Volatile Variables

  • describe storage classes, and describe, and use storage class specifiers
  • describe and use storage class modifiers
  • use volatile variables in C

 

Data Modifiers

  • describe the sign bit, use a signed data modifier to enable it for int or char data types, and use an unsigned modifier to disable it
  • use the short and long modifiers and change format specifers to change the data size of variables in C

 

Dynamic Memory Allocation

  • describe dynamic memory allocation (DMA) and associated C functions and use dynamic memory allocation for strings in C
  • use dynamic memory allocation for structures in C
  • use dynamic memory allocation for arrays in C
  • reallocate memory in C
  • describe and generate linked lists using C
  • manipulate linked lists using C

 

The C Preprocessor

  • describe the C preprocessor, and contrast it with the compiler
  • use the #define directive to define macros and use #undef to remove the definition in C programs
  • use the #include directive in a C program to include files
  • use conditional compilation directives in C programs
  • use the #pragma directive in C
  • use preprocessor directives such as _DATE_ , _TIME_, _FILE_, and _LINE_
  • describe methods to debug C programs and use the assert macro

 

Practice: Optimizing and Debugging ANSI C Programs

  • understand how to optimize and debug ANSI C programs

 

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.