If you are asking whether each site has an IP address then answer is yes, each site has to have an IP address. Class C IP blocks are different thing, not sure what you are asking tho
All web sites must use IP's. But they may not be always seperate C class Ip's. It is possible to use a shared ip to host multiple sites.
Every site on the web does not have to be hosted on a class C address, however MOST are. The class of IP determines the size of the IP block that you purchase. In otherwords, if you own a company and you want to host your own farm of web servers you will need your own block of IP addresses for your network. So you purchase a block under your company's name. That "block" of addresses can be of different sizes. The smallest block that you can purchase is a Class C block. There are about 2 million Class C IP blocks (networks)... Each Class C IP block that you purchase gives you 254 IP (host) addresses that you can use on the web. There are about 16,000 Class B IP blocks (networks)... Each Class B IP block that you purchase gives you about 65,000 IP (host) addresses that you can use on the web. There are 127 Class A IP blocks (networks)... Each Class A IP block that you purchase gives you about 16 million IP (host) addresses that you can use on the web. So unless you have an INCREDIBLY large number of servers that you need connected to the internet AND each is required to have a distinct IP then you would never buy a Class A or Class B block of IPs. Even Class B addresses are VERY uncommon. For this reason, almost all sites are hosted on Class C addresses.
Since CIDR (which has been in place many many years), the notion of class A/B/C for IP addresses is outdated and irrelevant.