I have modified your code for better undrstanding
#include <stdio.h>
int main()
{
int i,c=0 ,n=8; //const time say (a )
for(i=1;i<=(1<< n);i++)
{
c=c+1;
}
printf("\n %d ",c );
}
Here , Time complexity is nothing but home many times the loop gets executed .
1 << n
This means that 1 is being left shifted 'n' bit positions .
that ie 1 << 3 $\Rightarrow$ 0000 0001 left shifted 3 bit positions 0000 1000 becomes 8 it is nothing but $2^{3}$
Now, lets get back to our problem ,
for i= 1 loop gets executed $2^{1} - 1$ $\Rightarrow$ 2-1 time
for i= 2 loop gets executed $2^{2} - 1$ $\Rightarrow$ 4-1 time
for i= 3 loop gets executed $2^{3} - 1$ $\Rightarrow$ 8-1 time
for i= n loop gets executed $2^{n} - 1$ $\Rightarrow$ 2n-1 time
Therefore Time Complexity of the code is $\Theta(2^{n})$