7번째 반복문에 대해 이야기 하겠다.
반복문은 크게 2개로 나눈다.
- while 문
- for 문
두 반복문마다 특징을 지니고 있으니 잘보고 이해하길 바란다.
첫번째는 while 문을 배워보기로 하겠다.
while문은 1(true)이면 실행하는 반복문이다.
예제를 작성하는 중에 main()안에 return 0; 을 까먹고 쓰지 않았다.
하지만 컴파일 시 실행은 되며 코딩에 문제가 되지 않는다.
그렇더라도 코딩의 완벽성과 정확성, 후에 애러방지를 위해서라면 return 0;을 써주는것이 좋다.
예제 1)
7) ()안에 있는 조건이 참이면 실행, 거짓이면 실행 안함.
예제 1 실행결과)
num이 계속 증가하다가 5보다 크거나 같으니까 더 이상 실행을 하지 않고 빠져나간다.
이제는 무조건 참일때(1일때) 어떻게 되는지 살펴보자.
예제 2)
예제 2 실행 결과)
끝없이 계속 출력이 되는걸 볼수가 있다.
이것을 멈추려면 Ctrl + C 를 누르면 멈추게 된다.
하지만 나중에 ctrl + C 를 사용하지 않고도 빠져나가는 방법을 알게 될것이다.(미리말하자면 break;다.)
이렇게 열심히 while 문에 대해 알아보았다.
while문에는 do~while 이라는 것이 하나 더 있는데,
do~while 은 어떻게 사용하는것인지, 그냥 while과 무슨 차이가 있는지 알아보자.
예제 3)
예제 3 실행 결과)
실행결과를 살펴보자.
num이 0보다 크거나 같음에도 불구하고 0을 출력을 하고 끝을 냈다.
do ~ while 은 무조건 한번 실행을 하고 조건을 살피는 그런 반복문이다.
Q. 그냥 while문 쓰면 안되나요?? 뭐하러 귀찮게 do ~ while 을 쓰죠??
라고 물어볼수도 있다.
이에 대한 답은 여러분이 많은 소스를 짜보면 알게 된다.
이제는 for문이다.
for문은 num에 대한 선언을 for문 안에서 선언하고, 조건제시하고, 증가 또는 감소를 할 수 있다.
그래서 한눈에 보기 쉽다는 장점이 있다.
이런 이유때문에 많은 프로그래머들은 for을 매우 많이 사용한다.
그렇다고 해서 for만 사용하라는건 아니다.
그때의 상황에 맞게 적절하게 사용하는 법을 익혀둬야 한다.
잡담은 그만하고 for문 사용법을 알아보자.
for문도 while문과 마찬가지로 조건식이 참이면 실행한다.
하지만 while문과 확연한 차이를 보이므로 뛰어난 관찰력이 필요하다.
while문과 비교하면서 작성해 보길 바란다.
예제 4)
for문은 while문과 다르게 조건이 까다롭다...
그래서 while문은 설명을 안했지만 for문은 자세히 설명을 하겠다.
for(변수 선언 및 초기화 ; 조건 ; 마지막 연산)
{
~~
}
변수 선언 및 초기화에는 while문 처럼 그냥 int num=0; 해줘도 된다.
하지만 코드의 간결성과 한눈에 잘 보이기 위해서 for문안에 써주길 바란다.
조건에는 whiel문과 같다. 자신이 원하는 조건을 써주면 된다.
마지막 연산에는 { ~~ } 안에있는 연산을 끝마친후에 하는 연산을 말한다.
while문에 마지막에 있는 num++; 을 생각하면 쉽다.
예제 4 실행 결과)
for문을 꼭 한번만 쓰라는 법은 없다.
for문안에 또 for문을 또 for문을 또 for문을... 쓸수 있지만...
대중적으로 많이 쓰이는 이중for문만 보도록 하자.
예제 5에는 구구단을 출력하는 소스이다.
반복문을 제대로 이해 했다면 구구단정도는 눈감고도 짤수 있어야 한다.
(그렇다고 해서 진짜로 눈감고 구구단 소스를 짜는 연습을 하는 바보 멍청이 똥개는 없어야 한다.)
예제 5)
7) for문안에 또 for이 들어가 있는 형태이다.
예제 5 실행 결과)
짤려서 다보여주지는 못했다.
2단부터 9단까지가 출력이 되어야 성공이라고 할 수 있다.
여기에선 이중for문만 보여줬지만, while도 이중으로 사용할수 있다.
for문이 이중으로 많이 사용되기 때문에 이중 for문만 보여줬다.
반복문은 정말 중요하다.
1부터 1만까지 2줄의 소스로 출력이 가능하다.
제발 반복문을 쉽게 생각하지 말자.
조건이 조금만 틀려도 자신이 생각하는 출력물과 다르게 나올 수 있기 때문이다.
5개의 예제를 완벽히 이해하고, 안보고도 짤수 있다면 다음 강좌를 봐도 좋다.
7강 반복문 끝.
'컴퓨터 > C' 카테고리의 다른 글
C 언어 강좌 9.조건문(switch) 2/2 & break, continue, return (3) | 2012.10.20 |
---|---|
C 언어 강좌 8. 조건문(if, else) 1/2 (0) | 2012.10.08 |
C언어 강좌 6. 연산자 (0) | 2012.10.06 |
C언어 강좌 5. 입력 (1) | 2012.10.05 |
C언어 강좌 4. 변수 심화 (1) | 2012.08.15 |