쉬워보이는 책하나 사서 혼자 공부하는 사람인데 이해안되는 구문이 있어서 질문함.

int main()
{
 int a = 100;

 while (a == 200)
 {
  printf("while문 내부에 들어 왔습니다.\n");
 }

 do
 {
  printf("do~while문 내부에 들어 왔습니다.\n");
 } while (a == 200);
}

 

여기서 처음 while에선 ;가 안들어가고 두번째 while에서는 ;가 들어가는데 왜그런거임? ;가 구문이 끝날때 붙이는건데 어떤 함수에서는 ;에서 붙이고 안붙이고 이게 무슨 차인지 모르겠음. 알려줘영