여기서는 무한 루프를 예로 들었지만 반복 횟수가 정해져 있더라도 break를 사용하면 반복문은 바로 끝난다.
다음은 반복문과 break의 동작을 나타낸 순서도이다.
4. continue로 코드 실행 건너뛰기
이번에는 continue를 사용하여 일부 코드를 실행하지 않고 건너뛰어 보자.
#include<stdio.h>intmain(){for(inti=1;i<=100;i++)// 1부터 100까지 증가하면서 100번 반복{if(i%2!=0)// i를 2로 나누었을 때 나머지가 0이 아니면 홀수continue;// 아래 코드를 실행하지 않고 건너뜀printf("%d\n",i);}return0;}// ... (생략)// 92// 94// 96// 98// 100
for를 사용하여 1부터 100까지 반복한다.
그리고 if를 사용하여 i가 홀수이면 continue를 실행한다.
마지막으로 printf를 사용하여 i의 값을 출력한다.
i가 짝수이면 printf가 실행되어 숫자가 출력되고, 홀수이면 continue가 실행되어 printf를 실행하지 않는다.
즉, 반복문 안에서 continue를 실행하면 continue 아래의 코드는 실행하지 않고 건너뛴 다음 반복을 시작한다.
for뿐만 아니라 while(do while)에서도 continue의 동작은 같다.
#include<stdio.h>intmain(){inti=1;while(i<=100)// i가 100보다 작거나 같을 때 반복. 1부터 100까지 증가하면서 100번 반복{i++;// i를 1씩 증가시킴if(i%2!=0)// i를 2로 나누었을 때 나머지가 0이 아니면 홀수continue;// 아래 코드를 실행하지 않고 건너뜀printf("%d\n",i);}return0;}// ... (생략)// 92// 94// 96// 98// 100
여기서는 반복 횟수를 정한 뒤 continue를 사용했지만 무한 루프에서 continue를 사용하면 짝수만 계속 출력될 뿐 반복문은 끝나지 않는다.
다음은 반복문과 continue의 동작을 나타낸 순서도이다.
5. 입력한 횟수대로 반복하기
이번에는 입력한 횟수대로 반복을 해보자.
#define _CRT_SECURE_NO_WARNINGS // scanf 보안 경고로 인한 컴파일 에러 방지#include<stdio.h>intmain(){intcount;scanf("%d",&count);// 값을 입력받음inti=1;while(1)// 무한 루프{printf("%d\n",i);if(i==count)// i가 입력받은 값과 같을 때break;// 반복문을 끝냄i++;}return0;}// 5 (입력)// 1// 2// 3// 4// 5
scanf 함수로 입력 값을 받아서 count 변수에 저장했다.
그리고 while에 1을 지정하여 무한 루프로 만든 뒤 반복문 안에서는 i의 값을 출력하고, i가 count의 값과 같으면 break를 실행한다.
마지막으로 i를 1씩 증가시킨다.
여기서는 5를 입력했으므로 1부터 5까지 출력된 뒤 i의 값과 count의 값이 같으므로 반복문이 끝난다.
6. 입력한 숫자까지 짝수 출력하기
이번에는 입력한 숫자까지 해당하는 짝수를 출력해 보자.
#define _CRT_SECURE_NO_WARNINGS // scanf 보안 경고로 인한 컴파일 에러 방지#include<stdio.h>intmain(){intcount;scanf("%d",&count);// 값을 입력받음for(inti=1;i<=count;i++)// 1부터 증가하면서 count보다 작거나 같을 때까지 반복{if(i%2!=0)// i를 2로 나누었을 때 나머지가 0이 아니면 홀수continue;// 아래 코드를 실행하지 않고 건너뜀printf("%d\n",i);}return0;}// 10 (입력)// 2// 4// 6// 8// 10
scanf 함수로 입력 값을 받아서 count 변수에 저장했다.
그리고 for의 조건식에 i <= count처럼 지정하여 count에 들어있는 값만큼 반복하도록 했다.
반복문 안에서는 if를 사용하여 i가 홀수이면 continue를 실행한다.
마지막으로 printf를 사용하여 i의 값을 출력한다.
여기서는 10을 입력했으므로 1부터 10까지 반복하면서 i가 홀수이면 printf를 실행하지 않고 건너뛰며 i가 짝수이면 printf를 사용하여 숫자를 출력한다.