I posted this a while back when this question came up, and it fits here, too. If you don't have a timing pointer on the block, or if you don't trust that it's right you can find exact TDC in six easy steps:

1) Make an indicator from some clear plastic tubing, a jar of light oil (cooking oil, olive oil, whatever) and an old spark plug.
2) Break up an old spark plug and attach a length of clear plastic tubing to it (make it airtight). A hot glue gun can help here, or you can use silicone if you're patient.
3) Remove all the spark plugs.
4) Stick your thumb OVER the #1 cylinder spark plug hole. Rotate the engine until you feel pressure on your thumb. That's the compression stroke, and TDC is at the top of this stroke.
5) Screw the spark plug with plastic tubing attached into #1 cylinder, and insert the other end of the tube into a the jar of light oil. Continue rotating the engine. Bubbles will appear until the piston reaches the top of its travel. When it starts down on the next stroke the bubbles will stop and oil will begin traveling up the tube. Stop at a convenient point and mark the tube. At the same time mark the crank pulley and the engine body at a convenient spot.
6) Rotate the engine backwards and watch the oil recede into the jar. Continue rotating. As the piston continues past tdc and downward it will again suck oil into the tube. Rotate the engine till the oil again reaches the mark you made in Step 5. STOP! Mark the crankshaft pulley where it lines up with the mark you made previously on the engine. You should now have two marks on the crankshaft pulley. The midpoint of these two marks lined up with the mark on the engine is TDC.