All primes from 0 to 1000
67 bytes
In C there's no real alternative to trial division, but it can certainly be golfed a bit.
for(int p=1,d;p++&lt;999;d&amp;&amp;printf(&quot;%d\n&quot;,p))for(d=p;--d&gt;1;)d=p%d?d:1;

Requires C99 initial declarations, which saves 1 byte.