What is a compiler?
This is not a silly question. We were all beginners at one time and asked the same question. The following answer is provided for those that have no programming experience.
A computer cannot understand the spoken or written language that we humans use in our day to day conversations, and likewise, we cannot understand the binary language that the computer uses to do it's tasks. It is therefore necessary for us to write instructions in some specially defined language, in this case C, which we can understand, then have that very precise language converted into the very terse language that the computer can understand. This is the job of the compiler.
A C compiler is itself a computer program who's only job is to convert the C program from our form to a form the computer can read and execute. The computer prefers a string of 1's and 0's that mean very little to us, but can be very quickly and accurately understood by the computer. The original C program is called the "source code", and the resulting compiled code produced by the compiler is usually called an "object file".
One or more object files are combined with predefined libraries by a linker, sometimes called a binder, to produce the final complete file that can be executed by the computer. A library is a collection of pre-compiled "object code" that provides operations that are done repeatedly by many computer programs.
Any good compiler that you purchase will provide not only a compiler, but an editor, a debugger, a library, and a linker. Online documentation and help files are usually included, and many compilers have a tutorial to walk you through the steps of compiling, linking and executing your first program.
Where can I get a C compiler?
There are many C compilers available at varying prices. You can get a C compiler at many of the larger computer outlets such as "Best Buy", "CompUSA", or at many of the larger computer stores or bookstores. You can purchase one in the price range from about $30US to as much as $1000US. The higher prices reflect the additional features available with a more expensive compiler.
Where can I get a free C compiler?
You can download a free C compiler at http://www.delorie.com/djgpp/ (Select the Zip-picker for help) and although I have not used it, many who have used it praise it highly for its high quality. It will take a while to download it since it is big, and it will take a good deal of effort to get it loaded, configured, and usable. The end result should be worth the effort according to reports of those that have used it for many years.
Why can't I run the Coronado Enterprises programs?
The example C programs included with the Coronado Enterprises C tutorial are not readable by the computer in a way that they can be run. They are all in a human readable format which a computer cannot read and execute.
Which C compiler should I get?
You may be tempted to spend a lot of money to purchase a very expensive compiler to start with, but this is probably not your best route to take. I recommend buying a very inexpensive compiler as your first compiler for three very good reasons. The more expensive compilers have so many features that it can be very intimidating for a beginner, whereas a lower level compiler with fewer features, could be much easier to start with. As a beginner you will need only the features available with the less expensive versions. Secondly, when you begin to feel the need to purchase a better compiler, you will have some programming experience under your belt and can make a much more informed decision as to which brand you really want to use. It's much easier to abandon a $30 compiler and move up to brand X, than it is to abandon a $500 compiler from brand Y to move to brand X when you decide that brand X is what you really need. And the third reason is that it will take you several months to outgrow even the most inexpensive C compiler, and you can almost be assured of the fact that even your favorite brand will have a new, expensive upgrade during that time.
Where should I start?
Start with the Coronado Enterprises C tutorial. Read the text associated with each example program, compile and execute each example program, and modify the program in some way to be sure you understand the concepts taught with that particular program. After completing a few chapters begin to write some small programs of your own design just to gain the experience of programming. You will probably surprise yourself at how fast you progress.