ok:"c is the language of choice for robust, portable progamming;" c created in 1970 author says c is better than c++ i can copy text from book..... :( note to self....learn assembly.. c was designed to write operating systems...which is awesome c was made for people NOT COMPUTERS earnest hemmingway quote about "stripping language clean to the bone"" c code goes to compiler into assembly language into an assembler into object code into a linker into an executable program most software is built on existing software author pushes commenting everything iwonder if hes pushing commenting, so he can use other peoples code easier.. strcmp - compares strings (fake password?) #define is for preprocessor directivess #define can also be used to create macros like: "#define SQR(x) ((x)*(x))" yesssss "low-level programming requires bit operations" pointers: int thing; int *thing_ptr; // pointer * - dereference (given a pointer, get the thing referenced & address of (given a thing, point to it). pointer can work like this: int thing; int *thing_ptr; // pointer thing_ptr = &thing; pg240 seperate last name from first name. UNBUFFERED I?O debugging suuuuuuuucks joke:"You've just completed work on your great masterpiece, a ray-tracing program that renders complex three-dimensional shaded graphics on a Cray supercomputer using 300MB of memory and 50GB of disk space. What do you do when someone comes in and asks you to port this program to an IBM PC with 640K of memory and 100MB of disk space? Killing him is out; not only is it illegal, but it is considered unprofessional." goto/found: goto found; found: #define min(x,y) ((x) < (y) ? (x) : (y)) good rules: omment, comment, comment. Put a lot of comments in your program. They tell other programmers what you did. They also tell you what you did. ¥ Use the "KISS" principle. (Keep It Simple, Stupid.) Clear and simple is better than complex and wonderful. ¥ Avoid side effects. Use ++ and -- on lines by themselves. ¥ Use the prefix version of ++ and -- (++x, --x) instead of the postfix version (x++, x--). This adage does nothing for you in C, but will serve you well when you move to C++. ¥ Never put an assignment inside a conditional. ¥ Never put an assignment inside any other statement. ¥ Know the difference between = and ==. Using = for == is a very common mistake and is difficult to find. ¥ Never do "nothing" silently. ¥ /* Don't program like this */ ¥ for (index = 0; data[index] < key; ++index); /* Did you see the semicolon at the end of the last line? */ Always put in a comment or statement. for (index = 0; data[index] < key; ++index) continue; last words:"Just when you think you've discovered all of the things that C can do to youÑthink again. There are still more surprises in store for you."