Do ~ While

  • 일단 Do 안에 있는 명령문을 실행하고 나중에 while문의 조건식 비교
  • 적어도 한번은 명령문을 처리함
  • 마지막에 세미콜론(;)을 반드시 추가해야 함
    • 조건식을 검사하는 while(조건식)은 C 문장으로 여기기 때문
#include <stdio.h>
int main() {
	int sum = 0;
	int number = 0;
	
	printf("1에서 10까지 합을 구합니다.\n");
	
	do
	{
		number++;
		sum += number;
	}
	while(number<10);
	
	printf("합은 %d입니다.\n", sum);
	
	return 0;
}
 
// 프로세스가 시작되었습니다..
> 1에서 10까지 합을 구합니다.
합은 55입니다.
 
// 프로세스가 종료되었습니다.

goto

  • 실행순서를 사용자가 지정한 라벨로 이동시킴
  • 명령문의 실행 순서를 프로그래머가 임의로 변경하고자 할 때 사용함
  • goto문은 실행 순서를 지정된 라벨로 옮겨 프로그램을 계속 수행함
#include <stdio.h>
int main() {
	int sum = 0;
	int number = 0;
	
	while(1)
	{
		sum += number;
		number++;
		
		if (number > 10) goto ex1;
	}
	
	ex1:
	printf("1부터 10까지 합을 구합니다.\n");
	printf("합은 %d입니다.\n",sum);
	
	return 0;
}
 
// 프로세스가 시작되었습니다..
> 1부터 10까지 합을 구합니다.
합은 55입니다.
 
// 프로세스가 종료되었습니다.

continue

  • 반복문을 빠져나오지 않고, 해당 반복문의 처음으로 흐름을 옮김

사용예

  • 1~ 10 중 홀수만 더하는 예
int sum = 0, i;
 
for(i = 1; i <= 10; i += 2) 	// 초기값 1
    sum += i;
  • 1~10 중 짝수만 더하는 예
int sum = 0, i;
 
for(i = 2; i <= 10; i += 2) 	// 초기값 2
    sum += i;
  • 두 코드의 차이점은 초기값에 달려있음. 초기값을 같게 하고 싶을 때, 이 불편함을 continue로 해결할 수 있다.

  • 1~ 10 중 홀수만 더하는 예 (수정)

int sum = 0, i;
 
for(i = 1; i <= 10; i += 2) 	// 초기값 1
    if (i % 2 == 0) continue		// 짝수면 아래 문장을 진행하지 않고 처음(증감식)으로 이동한다.
    sum += i;
  • 1~ 10 중 짝수만 더하는 예 (수정)
int sum = 0, i;
 
for(i = 1; i <= 10; i += 2) 	// 초기값 1
    if (i % 2 != 0) continue		// 홀수면 아래 문장을 진행하지 않고 처음(증감식)으로 이동한다.
    sum += i;

continue문을 만났을 때 각 제어문의 흐름