The simplest thing to do is get a linksys or similar cable/dsl router/switch/hub with 4 ports. You could get the single port version and attatch a hub seperatly but its not that much more to get it in one device. There is a WAN port that you can plug your cable modem to. The other port(s) will be for your PCs or hub. Going with my setup plug the PCs into the linksys router. The router should need little configuration by default but can be to do a variety of functions. You will just need to make sure your PCs are set to recieve IPs by DHCP(automaticly obtain). This is usually the default. You will configure your linksys the way you would setup the one PC the cable modem would have connected to. There is a Web interface that you can type an address for usually 192.168.1.1. Check the documentation that comes with the router. May depend on the brand. I have had no problems with my basic 4 port from linksys. For the printer you would install it on one of the PCS(unless its able to connect direct to LAN) and set it up to share. You may need to make sure that file and printer sharing is turned on in network properties. This is a basic short answer to your question and is probally the simplest way to do what your asking. Post back if you need more detail.
Hope this helps
Jason