※해당 포스팅은 "혼자 공부하는 C언어"책을 기반으로 작성되었습니다.
while문, for문, do~while문
01. while문
: 조건을 먼저 물어보고 만족하는 동안 실행문 실행
→ 반복문 실행 전 조건 검사
º while문을 사용한 반복문 예제 코드
#include <stdio.h>
int main(void)
{
int a = 10;
while (a < 20)
{
a++;
}
printf("a : %d", a);
return 0;
}
º 실행 결과
a : 20
02. for문
: 초깃값을 최초 설정 후 조건을 물어보고 실행문을 실행, 증감식을 실행하고 다시 조건 확인
º 예제 코드
#include <stdio.h>
int main(void)
{
int a = 3;
int cnt = 0; //for문 루프 횟수 체크
for (int i = 0; i < 10; i++)
{
a += 3;
cnt++;
}
printf("a : %d, cnt : %d", a, cnt);
return 0;
}
º 실행 결과
a : 33, cnt : 10
→ 반복할 문장을 실행할 때마다 특정 변수의 값을 하나씩 증가시켜 원하는 횟수가 될 때까지 반복하는 방법을 사용
º 주의점
- 초기식, 조건식, 증감식은 반복 횟수를 알기 쉽게 작성
- 반복 횟수를 세는 변수를 반복문 안에서 바꾸지 않는 것이 좋음
* for문의 초기식, 조건식, 증감식의 위치를 바꾸면 while문으로 변경 가능
→ 반복 횟수가 정해진 경우엔 for문 사용
03. do~while문
: 실행문을 무조건 실행하고 조건을 확인한 후 실행문 실행
→ 반복 문장 실행 후 조건 검사
º 예제 코드
#include <stdio.h>
int main(void)
{
int a = 1;
do
{
a *= 2;
} while (a < 10);
printf("a : %d", a);
return 0;
}
º 실행 결과
a : 16
º 특징 : 조건식과 관계없이 반복할 문장을 최소 한 번은 실행
★ key point
반복문 형식 | 실행 방식 |
while (조건식) { 실행문; } |
조건식이 참인 동안 실행문 반복 최초 조건식이 거짓이면 실행문은 한 번도 실행 X |
for (초기식; 조건식; 증감식) { 실행문; } |
초기식은 최소 한 번 실행 조건식을 검사해 참이면 실행문→증감식→조건식을 반복 |
do { 실행문; } while (조건식); |
실행문 수행 후 조건 검사 조건식이 참이면 실행문 반복 실행문은 조건식과 관계없이 최소 한 번은 실행 |
반복문 활용
01. 중접 반복문
: 반복문 안에 실행할 문장으로 반복문이 포함된 것
º 예시 : 구구단, 별 찍기
º 별 출력 예제 코드
#include <stdio.h>
int main(void)
{
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
printf("*");
}
printf("\n");
}
return 0;
}
º 실행 결과
*****
*****
*****
*****
*****
º 중첩 반복문 사용 시 각 반복문이 서로 독립적인 제어 변수를 사용해야 각각 원하는 횟수 반복 가능
º 예제 코드 (구구단) - 이중 for문 이용
#include <stdio.h>
int main(void)
{
for (int i = 2; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{
printf("%d * %d = %d\n", i, j, i * j);
}
}
return 0;
}
02. break와 continue 분기문
º break : 반복문 안에서 반복을 즉시 끝낼 때 사용
- 예외 적으로 반복문 중간에 끝내고 싶을 때 사용
- 자신을 포함하는 반복문 하나만 벗어남
- if문에서는 break 사용 시 if문 블록을 포함한 반복문에서 벗어남
º break로 무한 반복문 빠져나오가
- 반복문의 조건식이 항상 참이면 무한 반복문 → while(1), for(;;)
- 조건에 따라 무한 반복문 종료 시 break 사용
º continue : 반복문의 일부를 건너뛸 때 사용
- 반복문 내부에서 continue 사용 시 다음 실행 위치가 반복문의 블록 끝 → 블록을 탈출하는 것은 아님
- 조건에 따라 반복문의 일부를 제외하고 반복 가능
- 예시 : 3의 배수를 제외하고 1부터 100까지의 합을 구할 경우
'개발 > C' 카테고리의 다른 글
[C언어]기초 - 05. 선택문(if, switch~case) (0) | 2020.07.28 |
---|---|
[C언어]기초 - 04. 연산자 (0) | 2020.07.28 |
[C언어] 기초 - 03. 변수와 데이터 (0) | 2020.07.26 |
[C언어] 기초 - 02. 상수와 데이터 (0) | 2020.07.21 |