Single quotes go around 1 text char and the compiler uses the ASCII value of the text char.
char txt = 'A'; // txt will == 65
txt += 4; // txt == 69, would print as E
or
num = Serial.read();
if (( num >= '0' ) && ( num <= '9' )) // then num is a digit and not something else sent by mistake
{
// do something number-y
}
Double quotes go around string constants and always get a zero added at the end.
char *msg = "this is a message"; // allocates 18 bytes RAM and fills it with the text and a terminating NULL byte.
char buffer[ 32 ];
....
strcpy( buffer, msg ); // now buffer holds the string msg with the unfilled chars unchanged, they started as 0's.
....
strcpy( buffer, "foo" ); // now buffer holds foo\0 is a message\0\0\0\0 etc where \0 is a char == 0.
These are just ways to tell the compiler what to do with the text in your readable, not always numbers source code.
As for print and write, those are well covered here in Serial:
The (basics, not everything) Reference is here:
The Arduino Libraries:
The underlying GCC AVR_LibC (that Arduino runs on) libraries (the AVR standard C libraries):
http://www.nongnu.org/avr-libc/user-manual/modules.html
And the user-contributed code, aka The Playground index:
http://playground.arduino.cc/Main/GeneralCodeLibrary
This is the Examples page. The examples code for your IDE release comes with your IDE and load through the IDE File menu, File->Examples->etc, you'll see, go through 1,2,3 and 5. Section 4 teaches bad habits so avoid it!
At the top of the Examples page are links to Foundations and Hacking. Both are very good pages to look through.
There's more on the Arduino site and tons more on the web. Search is your friend!
Keep your bookmarks organized and use tabs in your browser, it will make life easier..