What is ls *.c?!
ls is a built in command in the shell prompt that lists all files in the current directory. When you type in ls *.c the shell will first look to see if ls is an alias. If it is not then it will look in its own built in commands to find it and then execute it. Once it finds what ls is it will check to see what *.c is.
The * character by itself means to find and select everything. The .c means files that contains a .c extension. So together *.c will find all files that end with the .c extension and place it into the ls command.
The ls command will then start to output all the files that *.c has found onto the output screen and then prompts the user for additional commands.