Step 1: Materials
Paper Cup with lid
A latex glove or balloon
While I don't want to condone the consumption of awful food, McDonalds has cool lids for this. Try and get the lids that have the circle cut in the top (maybe McFlurries).
If you use a balloon, it is actually better to use an old one that you have carefully deflated. The streched latex works better than new.
Step 2: Punch Out the Bottom of the Cup.
Use scissors to punch a hole in the bottom of the cup. Simply rip out the bottom using your thumb to punch out the bottom. It really doesn't have to be pretty, just make a tube.
Step 3: Attach Skin
Cut balloon or glove to get a piece of latex large enough to cover the bottom of cup.
Use tape (or your favorite adhesive method) to tack down the latex to the cup. Then seal up the latex to make an air-tight membrane over the cup (basically - make a drum).
Step 4: Attach Lid and Annoy Others.
Attach lid and fire away.
If you cut the hole, try and keep the hole to about half the total diameter of the lid (to make better rings).
Pinch and strech latex. A puff of air will travel a meter or more. This puff is not incredibly powerful, but can be felt. The TWUNK sound as the cannon is fired will annoy parents/spouses/co-workers within three minutes.
Add smoke and you can make smoke rings. I imagine some creative type could come up with way of shooting smells...