Up to this point, data inputs and outputs have moved into and out of our C programs via streams through scanf(), printf(), or other related I/O functions. However, most data exists on computers in files. Files represent persistent data storage in that they exist between invocations of any programs and exist even when the computer is turned off.
Any file will have been created because a program captured input from the user and saved it to a storage medium. The files could've been modified by yet another program and then saved, they could have been copied by any number of programs, or they could have been created from other files by yet another program. Ultimately, nothing happens to a file unless a program does something to it.