본문 목표
C 언어를 다루는데에 있어서 중요한것은 3가지라고 할 수 있다.
1. 자료형(변수)
2. 반복문
3. 조건문
이렇게 세가지만 잘 다룰 줄 알아도 대부분의 프로그램 알고리즘을 실현시킬 수 있다.
이번 포스팅에서는 반복문을 다루려고 한다.
반복문 중에서 for 이 있고, while 이 있는데
while 을 먼저 다뤄보려한다.
while을 이해하고 사용방법을 알아가는 것이 이번 포스팅의 목표이다.
개념 정리
반복문은 코드 실행에 있어서 반복적으로 실행시키게 하는 것이다.
모든 반복문은 조건을 갖고 있고,
해당 조건에 충족한다면 반복연산을 실시한다.
while 역시 조건문이 필요한데,
조건문은 괄호 안에 들어간다.
while( 조건 )
{
반복 실행할 코드
}
이런 형식으로 사용한다.
순서도로 살펴보면 위와 같은 방식이다.
무한 반복을 하고 싶으면
괄호 안에 '1' 을 입력하면 된다.
'1' 은 'Ture' 와 같은 표현이고,
조건이 항상 '참' 이므로 무한 반복을 하게 되는 것이다.
while(1)
{
무한 반복할 코드
}
무한 반복을 사용하는 경우는 특수한 상황이므로,
변수를 사용한 조건의 사용법을 알아보자.
int i = 0;
while(i<10)
{
10번 반복시킬 코드
i++;
}
위와 같이 사용하면 10번 반복시킬 코드가 되는 것이다.
조건이 i 가 10보다 작을 때이고,
반복문을 한번 끝낼 때마다 i++ 로 인해서 i 가 1씩 증가하게 된다.
i 가 10이 되는 순간 반복문에서 탈출하게 되는 것이다.
최종 적으로 i 의 값은 10이 되는 것에 명심하자.
앞서서 조건문 if 를 다뤘을 때 언급했던 것 처럼
while( 조건 ) 의 '조건' 에는 논리 연산자가 들어가도 된다.
int a=0;
int b=3;
int c =7;
while( ( a < b ) && ( b < c ) )
{
a++;
c--;
}
위와 같이 코딩을 했을 경우에는
총 몇 번 실행 되겠는지 한번 생각해본다음에 아래 답을 확인해보자.
두 조건을 다 만족해야 되므로, while 조건에 만족하는지 변수를 확인해보자.
a = 0 , c = 7 -> 참 -> 코드 실행 1회
a = 1 , c = 6 -> 참 -> 코드 실행 2회
a = 2 , c = 5 -> 참 -> 코드 실행 3회
a = 3 , c = 4 -> 거짓 -> 반복문 종료
위와 같은 결과로, 코드는 총 3번 반복하게 된 것이다.
최종적으로 a 와 c 의 값은 3과 4가 되겠다.
조건이 안 맞아서 실행이 되지 않은 것이지,
변수의 값은 이미 변해있는 것이다.
코드
#include <stdio.h>
void main()
{
int i = 0;
while (i < 10)
{
printf(" %d 번째 실행입니다.\n", i+1 );
i++;
}
printf("\n\n\n");
int a = 0;
int b = 3;
int c = 7;
while ((a < b) && (b < c))
{
printf(" %d 번째 실행입니다.",a+1);
a++;
c--;
}
printf("\n\n\n");
printf(" a 값 : %d, c 값 : %d\n\n", a, c);
return;
}
실행 결과
해석
반복문 안에 출력문을 사용하여 출력 횟수를 측정해 보았다.
위에서 다룬대로 결과가 나왔다.
조건문 안에는 ++ 또는 -- 연산자가 많이 사용되는데,
++ 은 해당 변수에 1을 더하는 것이고,
-- 은 반대로 해당 변수에 1을 빼는 것이다.
결론
반복문을 제대로 사용하려면 조건을 잘 다룰 줄 알아야 한다.
어찌보면 반복문은 조건문을 포함하는 개념이다.
조건문 기능을 하면서 원하는 코드를 반복 실행되게 할 수 있다.
무한 반복을 사용하면 컴퓨터에 문제가 생길 수 있으므로 탈출 조건을 세우지 않고서 실행하면 안 된다.
도움이 되었거나, 문제가 있는 경우 댓글로 알려주세요~!
감사의 댓글은 작성자에게 큰 힘이 됩니다 ^^
'코딩 > C 언어' 카테고리의 다른 글
C언어 기초 - 사용자 정의함수 만들기 (0) | 2020.07.06 |
---|---|
C 언어 기초 - 반복문 for 이해하기 (0) | 2020.07.06 |
C언어 기초 - 조건문 if , else if, else 이해하기 (2) | 2020.07.05 |
C언어 기초 - 조건문 if 이해하기 (0) | 2020.07.05 |
C언어 기초 - 지역변수와 전역변수 이해하기 (0) | 2020.07.05 |
댓글