Having been to zoos all across the U.S., I can tell you that prices vary widely. I'm sure they charge as much as they can and still get good attendance numbers. The zoo where I volunteer, Reid Park Zoo (Tucson, Arizona), is very cheap: $6 adult and $2 children. Like many American zoos, we are part of the city parks department and receive some public tax support. Tucson's other zoo, Arizona-Sonora Desert Museum, receives no government support (being outside city limits) and charges twice that price. San Diego is very high but it is jam packed with tourists in summer.
Although there are a few small towns with not very good free zoos (like Roswell, New Mexico), there are at least three major free zoos I know of: National Zoo (DC), St Louis Zoo and Lincoln Park Zoo (Chicago). San Diego tried doing a free day recently, but they were so overcrowded that they vowed never to do it again. Reid Park Zoo is required by the city to do three free days a year, but they are complete mayhem, terrible for the animals, and no one on staff (or volunteers) likes it, but the city says we have to and that's that.