Many teachers of Spanish trouble their students with the difference in pronunciation in between C, S and Z and other such subtleties. This is quite unnecessary. All over the Spanish-speaking world, many regional accents live together and we all communicate quite effectively. Once upon a time, French was the common international language of the learned elite until the French themselves became the worst proselytizers of their language with their requiring that you either pronounce it with absolute perfection or return to the god-forsaken hole you came from. English-speakers are far more tolerant and so are Spanish-speakers, though not, it seems, the teachers of the language.
Spanish is a phonetic language, words are pronounced as written following a few simple rules. Let's start with vowels. For English speakers, the best rule on how they sound is to put a P in front and a T behind. The vowel sounds of the English words 'pat', 'pet', 'pit', 'pot' and 'put' are close enough to the correct Spanish pronunciation as to make them understandable. In most cases, the letter Y can be pronounced as an I, the exceptions are mostly a matter of regional accents. It is certainly pronounced as a Y when at the end of a word, such as Paraguay and it can be pronounced as the J in Joe elsewhere, but that is the case in some countries and not in others. In the Caribbean, for example, Y and I are the same so, sticking with the I sound is, well, sound policy.
When you find two or three vowels together they are pronounced individually in sequence, one after the other. Spanish has no such thing as intermediate vowel sounds resulting from averaging or merging vowels together. When there are two vowels it means two sounds, even if the same vowel is repeated. In English you usually put a hyphen like in 'co-operation'. In Spanish it is just 'cooperación' with no hyphen and you do pronounce each of those two Os as if there was one in between. The U, though, has some troubles which we'll see later on.
Consonants B, D, F, K, M, N, P, S, T, V, X, Z they all sound like in English, no surprises there. There is no PH or TH in Spanish. W is not on the list simply because it does not exist in Spanish so when you find it, it is pronounced as in the language of origin of the word. S and Z sound different in some regions, not in others. Feel free to use the S sound for all of them.
C sounds like an S in front of E and I but as a K in front of A, O or U. The group CH is actually a separate letter and it is pronounced like in Chile or China. Since it is a separate letter (represented by two characters but a single letter) it follows the C so you'll find that in some phone books, Chavez follows Czernisky since CH follows the very last of the occurrences of C.
H is silent in Spanish in all circumstances. CH doesn't count since it is a single letter and it is mostly a suffix to the C. SH does not exist in Spanish so you may pronounce it however the word is pronounced in the original language.
J sounds like the English words 'has', 'his', ' hole','hue'. J has only that sound, no matter what. J is never pronounced like in Joe.
L sounds like L but then, there is LL, which is formally another two-character letter (LL is listed after LZ in the phone book). LL sounds close to LI (Spanish I) with a short I.
Ñ is not an N with a tilde on it, it is a separate letter and, for example, the English 'new' sounds exactly like in Spanish the syllable 'ñu'. So, just like the LL is like an L closely followed by a short I, Ñ is like an N followed by a short I.
In Spanish a Q will always be followed by a U which is never pronounced. Thus, 'que' or 'quien' might as well be written 'ke' or 'kien', the U is completely silent. Actually, you will only find the Q always followed by a U and then an E or an I. There are no Spanish words with a Q without the U (which is silent) and then followed by anything but an E or an I.
R has two sounds strong and soft. It sounds strong when it is at the beginning of a word or when it is doubled. It sounds soft elsewhere. Rodrigo Rato has strong Rs at the beginning of each word and a soft one in the middle. To make it sound stronger in the middle of the word you double it like 'arroz' or 'ferrocarril'.
So, now lets be done with the G. It has two sounds, strong G as in the English 'get' or soft as in 'he'. When it is soft, it is almost the same sound as the letter J, not quite, but you shouldn't trouble yourself with the difference, it is regional.
The G sounds soft in front of an E or an I. It sounds strong in front of an A or O. If followed by an U, it all depends. If the U is followed by an E or an I then the U is silent (just like after a Q) and the G is pronounced strong. Thus, in 'Guernica' or 'guitarra', the U is not pronounced and the G sounds strong, like in the English 'get'. The group GU In front of any other vowel or alone is pronounced normally as in Paraguay (yes, that's three individual vowel sounds 'U-A-Y' in sequence), agua or gusto.
One more thing about the G, it can be followed with an Ü, an U with the double dots (umlaut). Then, the U is not silent and it is pronounced: Güemes, agüero. It is meant as a way to undo its roll of forcing a G to become strong when in front of an I or an E. That is the only occurrence of an U with double dots on it.
Finally, in Spanish there is only the acute accent. The tilde (the curl above the N) is not a diacritical mark, the Ñ is a letter on its own and there is no grave or circumflex accents at all. The accent only helps in locating where in the word to put the stress. The sound of the underlying vowel is not changed by the accent, it just marks the syllable to be stressed. If you don't find an accent, then there are two possibilities. If the word ends with N, S or a vowel, the strong syllable is the previous to last. 'bonos', 'andan' or 'roca', they all have the previous to last syllable stressed (the first one in all these examples). Otherwise, the last syllable is the one stressed: 'andar', 'hacer', 'fatal'. Monosyllabic words don't usually carry accent and, as pronunciation goes, the ones that do make no difference, there is only one syllable you can stress anyway.
If you have to read something in Spanish, you might find more comfortable transcribing it to something more phonetic. These are the rules:
C in front of an E or an I, change to S. In front of an A, O or U, change to a K. In front of an H it is a CH like in Chile.
If we agree to use the character G only for the strong G sound like in the English 'gut' then, when in front of an E or an I, change to J (and remember J is soft). GUE or GUI change to G unless the U has the double dots, then leave it and pronounce each, the G and the U.
Change Y to I, LL to LI, Ñ to NI. QU change to K. Delete H unless part of a CH. Double all Rs at the begining of a word, double RRs sound stronger.
If the word has no acute accent on it and it ends with N, S or vowel, put the acute accent in the previous to last, otherwise put it in the last syllable. Then put the stress on the syllable with the accent.