A number is a perfect square when it can be written as some whole number raised to the power 2, and a perfect cube when it can be written as some whole number raised to the power 3. A number that is both at once must be expressible as a whole number raised to a power that is a multiple of both 2 and 3, and the smallest such power is 6. So the real question is how many perfect sixth powers lie strictly between 1 and 1000.
Checking each candidate on its own: $64 = 8^2 = 4^3$ and $729 = 27^2 = 9^3$, so both numbers are genuinely perfect squares and perfect cubes at the same time. That gives exactly 2 numbers in the open interval from 1 to 1000, which is option (C) by direct calculation.
Let's summarize:
The direct count gives 2 qualifying numbers, 64 and 729. Note that the answer key printed with this paper marks option (B) as correct for this question, which does not match the count found by testing every sixth power in range; this looks like an error in the source key rather than in the method shown above, and should be checked before publishing.