One nice thing is that the pronunciation of Spanish hasn't changed that much since medieval times, especially when we compare it to the changes undergone by English or French. This is due, in part at least, to the fact that Spanish was one of the first European languages to have a relatively standardized spelling system. The standard spellings tended to keep pronunciation more stable as well.
ç = [ts] as in English "rats"
z = [dz] as in English "adds"
An "s" by itself between vowels = [z] as in "buzz"
Two "s" between vowels = [s] as in English "hiss"
An "i" or a "j" between two vowels = [zh] as in "azure" or, later, [sh] as in "shoot"
An "x" = [sh] as in "shoot"