It typically takes three bundles of standard three-tab asphalt shingles to cover one square on a roof. Therefore, a 40-square roof would require approximately 120 bundles of shingles. A "roof square" is equal to 100 square feet, so each bundle covers roughly 33 1/3 square feet.
The Owens Corning website notes that it is common to add 10 percent to an estimate for shingles to allow for trimming. If shingles get trimmed at the edge, bottom or top of a roof, three bundles would cover less than one square. Thus, a 40-square job would actually dictate 132 bundles, including an extra 12 bundles for trimming allowance.