※ 공부 내용의 복습 개념으로 정리된 글입니다. - 출처 시나공
반복문의 개요
반복문은 제어문의 한 종류로 일정한 횟수를 반복하는 명령문을 말합니다.
보통 변수의 값을 일정하게 증가시키면서 정해진 수가 될 때까지 명령이나 명령 그룹을 반복 수행합니다.
- 반복문에는 for, while, do~while문이 있습니다.
for문
for문은 초기값, 최종값, 증가값을 지정하는 수식을 이용해 정해진 횟수를 반복하는 제어문입니다.
- for문은 초기값을 정한 다음 최종값에 대한 조건이 참이면 실행할 문장을 실행한 후 초기값을 증가값 만큼 증가시키면서 최종값에 대한 조건이 참인 동안 실행할 문장을 반복 수행합니다.

형식
for (식1; 식2; 식3)
// 식2가 참일 동안 실행할 문장
// 실행할 문장이 두 문장 이상일 경우 {}를 입력하고 그 사이에 처리할 문장들을 입력합니다.
실행할 문장;
// for는 반복문을 의미하는 예약어로 그대로 입력합니다.
// 식1 : 초기값을 지정할 수식을 입력합니다.
// 식2 : 최종값을 지정할 수식을 입력합니다.
// 식3 : 증가값을 사용할 수식을 입력합니다.
- 초기값, 최종값, 증가값 중 하나 이상을 생략할 수 있고, 각각의 요소에 여러 개의 수식을 지정할 수도 있습니다.
예제
for (a = 1; sum <= 30;) sum += a; // 증가값을 생략하고 실행할 문장에서 증가값을 만듭니다.
for (a = 0; sum <= 10; a++, sum += a) // 증가값(a++, sum += a)을 두 개 지정합니다.
for (a = 0, b = 5; a <= 5, b >= 0; a++, b--) // 초기값, 최종값, 증가값을 모두 두 개씩 지정합니다.
- for( ; ; )와 같이 조건에 참여하는 수식을 모두 생략하면 for문은 무한 반복합니다.
- for문은 처음부터 최종값에 대한 조건식을 만족하지 못하면 한 번도 수행하지 않습니다.
- 문자도 for문을 수행할 수 있습니다.
예제
for(char a = 'A'; a <= 'Z'; a++) // a에 'A, B, C ~ X, Y, Z' 순으로 지정합니다.
예제 : for문을 이용하여 1 ~ 5까지의 합을 더하는 다양한 방법입니다.

while문
while문은 조건이 참인 동안 실행할 문장을 반복 수행하는 제어문입니다.
- while문은 조건이 참인동안 실행할 문장을 반복 수행하다가 조건이 거짓이면 while문을 끝낸 후 다음 코드를 실행합니다.
- while문은 조건이 처음부터 거짓이면 한 번도 수행하지 않습니다.

형식
while (조건)
// 조건이 참일 때 실행할 문장입니다.
// 문장이 여러개 이면, {}안에 입력을 합니다.
실행할 문장;
// while은 반복문에 사용되는 예약어로 그대로 사용합니다.
// (조건) : 참이나 거짓을 결과로 갖는 수식을 '조건'에 입력합니다. 참(1)을 직접입력도 가능합니다.
예제 : 다음은 1 ~ 5까지의 합을 더하는 프로그램입니다. 결과를 확인하시오.
#include <stdio.h>
main()
{
int a = 0, hap = 0;
while (a < 5) ①
{ ②
a++; ③
hap += a; ④
} ⑤
printf("%d, %d\n", a, hap); // 5, 15
}
- a가 5보다 작은 동안 ② ~ ⑤번 문장을 반복하여 수행합니다.
- ② ~ ⑤번까지가 반복문의 범위입니다. 반복문에서 실행할 문장이 하나인 경우는 { }를 생략해도 됩니다.
- ③은 'a = a + 1;'과 동일합니다. a의 값을 1씩 증가시킵니다.
- ④은 'hap = hap + 1'와 동일합니다. a의 값을 hap에 누적시킵니다.
- ⑤은 반복문의 끝입니다.
do ~ while문
do ~ while문은 조건이 참인 동안 정해진 문장을 반복 수행하다가 조건이 거짓이면 반복문을 벗어나는 while문과 같은 동작을 하는데, 다른 점은 do ~ while문은 실행할 문장을 무조건 한 번 실행한 다음 조건을 판단하여 탈출 여부를 결정한다는 것입니다.
- do ~ while문은 실행할 문장을 우선 실행한 후 조건을 판별하여 조건이 참이면 실행할 문장을 계속 반복 수행하고, 거지이면 do ~ while문을 끝낸 후 다음 코드를 실행합니다.

형식
// do는 do ~ while문에 사용되는 예약어로, do ~ while의 시작 부분에 그대로 사용합니다.
do
// 조건이 참인 동안 실행할 문장을 입력합니다.
// 문장이 두 문장 이상인 경우 { }를 입력하고 그 사이에 실행할 문장들을 입력합니다.
실행할 문장;
// while은 do ~ while문에 사용되는 예약어로, do ~ while의 끝 부분에 그대로 입력합니다.
// (조건) : 참이나 거짓을 결과로 갖는 수식을 '조건'에 입력합니다. 참(1)을 직접 입력할 수 있습니다.
while (조건);
예제 : 다음은 1부터 10까지 홀수의 합을 더하는 프로그램입니다. 결과를 확인하시오.
#include <stdio.h>
main ()
{
int a = 1, hap = 0;
do // do ~ while문의 시작점입니다.
{
hap += a; // a의 값을 hap에 누적시킵니다.
a += 2; // a의 값을 2씩 증가시킵니다.
} while (a < 10); // a가 10보다 작은 동안 반복문을 수행합니다.
printf("%d, %d\n", a, hap); // 결과 : 11, 25
}
break, continue
switch문이나 반복문의 실행을 제어하기 위해 사용되는 예약어입니다.
- break : switch문이나 반복문 안에서 break가 나오면 블록을 벗어납니다.
- continue
- continue 이후의 문장을 실행하지 않고 제어를 반복문의 처음으로 옮깁니다.
- 반복문에서만 사용합니다.
예제 : 다음과 1 ~ 5까지의 합을 더하되 2의 배수는 배제하는 프로그램입니다. 결과를 확인하시오.
#include <stdio.h>
main ()
{
int a = 0, hap = 0;
while (1) // 조건이 참이므로 무한 반복합니다. 반복문 중간에 break가 무조건 있어야 가능합니다.
{
a++; // a의 값을 1씩 증가합니다.
// a가 5보다 크면 반복문을 종료시킵니다.
if (a > 5)
break;
// a가 짝수이면 바로 다음 반복문으로 넘어갑니다.
if (a % 2 == 0)
continue;
// a가 홀수이면 hap에 a의 값을 누적시킵니다.
hap += a;
}
printf("%d, %d\n", a, hap); // 결과 : 6, 9
}
'정보처리산업기사' 카테고리의 다른 글
정보처리산업기사 - 프로그래밍 언어 활용 - 포인터 (0) | 2024.08.17 |
---|---|
정보처리산업기사 - 프로그래밍 언어 활용 - 배열과 문자열 (0) | 2024.08.16 |
정보처리산업기사 - 프로그래밍 언어 활용 - 제어문 (0) | 2024.08.14 |
정보처리산업기사 - 프로그래밍 언어 활용 - 데이터 입 · 출력 (0) | 2024.08.13 |
정보처리산업기사 - 프로그래밍 언어 활용 - 연산 (0) | 2024.08.12 |
※ 공부 내용의 복습 개념으로 정리된 글입니다. - 출처 시나공
반복문의 개요
반복문은 제어문의 한 종류로 일정한 횟수를 반복하는 명령문을 말합니다.
보통 변수의 값을 일정하게 증가시키면서 정해진 수가 될 때까지 명령이나 명령 그룹을 반복 수행합니다.
- 반복문에는 for, while, do~while문이 있습니다.
for문
for문은 초기값, 최종값, 증가값을 지정하는 수식을 이용해 정해진 횟수를 반복하는 제어문입니다.
- for문은 초기값을 정한 다음 최종값에 대한 조건이 참이면 실행할 문장을 실행한 후 초기값을 증가값 만큼 증가시키면서 최종값에 대한 조건이 참인 동안 실행할 문장을 반복 수행합니다.

형식
for (식1; 식2; 식3)
// 식2가 참일 동안 실행할 문장
// 실행할 문장이 두 문장 이상일 경우 {}를 입력하고 그 사이에 처리할 문장들을 입력합니다.
실행할 문장;
// for는 반복문을 의미하는 예약어로 그대로 입력합니다.
// 식1 : 초기값을 지정할 수식을 입력합니다.
// 식2 : 최종값을 지정할 수식을 입력합니다.
// 식3 : 증가값을 사용할 수식을 입력합니다.
- 초기값, 최종값, 증가값 중 하나 이상을 생략할 수 있고, 각각의 요소에 여러 개의 수식을 지정할 수도 있습니다.
예제
for (a = 1; sum <= 30;) sum += a; // 증가값을 생략하고 실행할 문장에서 증가값을 만듭니다.
for (a = 0; sum <= 10; a++, sum += a) // 증가값(a++, sum += a)을 두 개 지정합니다.
for (a = 0, b = 5; a <= 5, b >= 0; a++, b--) // 초기값, 최종값, 증가값을 모두 두 개씩 지정합니다.
- for( ; ; )와 같이 조건에 참여하는 수식을 모두 생략하면 for문은 무한 반복합니다.
- for문은 처음부터 최종값에 대한 조건식을 만족하지 못하면 한 번도 수행하지 않습니다.
- 문자도 for문을 수행할 수 있습니다.
예제
for(char a = 'A'; a <= 'Z'; a++) // a에 'A, B, C ~ X, Y, Z' 순으로 지정합니다.
예제 : for문을 이용하여 1 ~ 5까지의 합을 더하는 다양한 방법입니다.

while문
while문은 조건이 참인 동안 실행할 문장을 반복 수행하는 제어문입니다.
- while문은 조건이 참인동안 실행할 문장을 반복 수행하다가 조건이 거짓이면 while문을 끝낸 후 다음 코드를 실행합니다.
- while문은 조건이 처음부터 거짓이면 한 번도 수행하지 않습니다.

형식
while (조건)
// 조건이 참일 때 실행할 문장입니다.
// 문장이 여러개 이면, {}안에 입력을 합니다.
실행할 문장;
// while은 반복문에 사용되는 예약어로 그대로 사용합니다.
// (조건) : 참이나 거짓을 결과로 갖는 수식을 '조건'에 입력합니다. 참(1)을 직접입력도 가능합니다.
예제 : 다음은 1 ~ 5까지의 합을 더하는 프로그램입니다. 결과를 확인하시오.
#include <stdio.h>
main()
{
int a = 0, hap = 0;
while (a < 5) ①
{ ②
a++; ③
hap += a; ④
} ⑤
printf("%d, %d\n", a, hap); // 5, 15
}
- a가 5보다 작은 동안 ② ~ ⑤번 문장을 반복하여 수행합니다.
- ② ~ ⑤번까지가 반복문의 범위입니다. 반복문에서 실행할 문장이 하나인 경우는 { }를 생략해도 됩니다.
- ③은 'a = a + 1;'과 동일합니다. a의 값을 1씩 증가시킵니다.
- ④은 'hap = hap + 1'와 동일합니다. a의 값을 hap에 누적시킵니다.
- ⑤은 반복문의 끝입니다.
do ~ while문
do ~ while문은 조건이 참인 동안 정해진 문장을 반복 수행하다가 조건이 거짓이면 반복문을 벗어나는 while문과 같은 동작을 하는데, 다른 점은 do ~ while문은 실행할 문장을 무조건 한 번 실행한 다음 조건을 판단하여 탈출 여부를 결정한다는 것입니다.
- do ~ while문은 실행할 문장을 우선 실행한 후 조건을 판별하여 조건이 참이면 실행할 문장을 계속 반복 수행하고, 거지이면 do ~ while문을 끝낸 후 다음 코드를 실행합니다.

형식
// do는 do ~ while문에 사용되는 예약어로, do ~ while의 시작 부분에 그대로 사용합니다.
do
// 조건이 참인 동안 실행할 문장을 입력합니다.
// 문장이 두 문장 이상인 경우 { }를 입력하고 그 사이에 실행할 문장들을 입력합니다.
실행할 문장;
// while은 do ~ while문에 사용되는 예약어로, do ~ while의 끝 부분에 그대로 입력합니다.
// (조건) : 참이나 거짓을 결과로 갖는 수식을 '조건'에 입력합니다. 참(1)을 직접 입력할 수 있습니다.
while (조건);
예제 : 다음은 1부터 10까지 홀수의 합을 더하는 프로그램입니다. 결과를 확인하시오.
#include <stdio.h>
main ()
{
int a = 1, hap = 0;
do // do ~ while문의 시작점입니다.
{
hap += a; // a의 값을 hap에 누적시킵니다.
a += 2; // a의 값을 2씩 증가시킵니다.
} while (a < 10); // a가 10보다 작은 동안 반복문을 수행합니다.
printf("%d, %d\n", a, hap); // 결과 : 11, 25
}
break, continue
switch문이나 반복문의 실행을 제어하기 위해 사용되는 예약어입니다.
- break : switch문이나 반복문 안에서 break가 나오면 블록을 벗어납니다.
- continue
- continue 이후의 문장을 실행하지 않고 제어를 반복문의 처음으로 옮깁니다.
- 반복문에서만 사용합니다.
예제 : 다음과 1 ~ 5까지의 합을 더하되 2의 배수는 배제하는 프로그램입니다. 결과를 확인하시오.
#include <stdio.h>
main ()
{
int a = 0, hap = 0;
while (1) // 조건이 참이므로 무한 반복합니다. 반복문 중간에 break가 무조건 있어야 가능합니다.
{
a++; // a의 값을 1씩 증가합니다.
// a가 5보다 크면 반복문을 종료시킵니다.
if (a > 5)
break;
// a가 짝수이면 바로 다음 반복문으로 넘어갑니다.
if (a % 2 == 0)
continue;
// a가 홀수이면 hap에 a의 값을 누적시킵니다.
hap += a;
}
printf("%d, %d\n", a, hap); // 결과 : 6, 9
}
'정보처리산업기사' 카테고리의 다른 글
정보처리산업기사 - 프로그래밍 언어 활용 - 포인터 (0) | 2024.08.17 |
---|---|
정보처리산업기사 - 프로그래밍 언어 활용 - 배열과 문자열 (0) | 2024.08.16 |
정보처리산업기사 - 프로그래밍 언어 활용 - 제어문 (0) | 2024.08.14 |
정보처리산업기사 - 프로그래밍 언어 활용 - 데이터 입 · 출력 (0) | 2024.08.13 |
정보처리산업기사 - 프로그래밍 언어 활용 - 연산 (0) | 2024.08.12 |