티스토리 뷰
for, while, do~while 세가지 반복문의 쓰임새
세가지 모두 반복을 하는 반복문이지만 형식이 약간 다르다.
각각의 차이가 있으므로 적재적소에 알맞게 구성하는것이 효율적이다.
1. for문
정해진 범위가 있을 경우 가장 적합하다. for문을 쓸 경우 반복루프 안에서 탈출(break)을 하는 경우가 많지않다.
학생들의 평균값, 정해진 배열에 일괄적으로 조작 등 미리 정해진 횟수만큼 반복할때 가장 적합하다.
또한 for문의 구성식이 "초기값+조건식+증가값" 으로 첫줄에 표기되어있어서 한눈에 흐름을 파악하기가 쉽다는 장점이있다.
2. while문
반복되는 조건식만 가지고있다. while은 내부에서 조건식에 대한 참/거짓을 판별하도록 해야한다.
즉 for문 과 같이 정해진 범위가 없기때문에 언제 발생할지 모르는 조건(사용자의 입력, 네트워크의 변화 등)에 대해
사용하는것이 적합.
while문을 아래와같이 쓰면 for문과 똑같은 쓰임새로 쓸수 있다.
for(초기식;조건식;증감식){
}
초기식;
while(조건식){
명령;
증감식;
}
3. do~while문
while문과 비슷하지만 조건을 점검하는 시기가 다르다.
while문은 루프전에 조건을 검사하지만 do~while문은 일단 최소한 한번은 명령을 실행한 후 루프로 넘어간다.
while문은 조건에 따라 한번도 실행되지 않을수도있지만 do~while문은 최소한 한번은 실행된다는 차이점이 있다.
while : 선평가 후실행
do~while : 선실행 후평가
제어문에 따른 실행속도나 코드의 크기는 거의 차이가 없다. 실행속도는 제어문을 선택하는 기준이 아니다.
C책을 보고 예제를 따라하면서 반복문에 따른 해당 소스의 내용(논리적흐름)을 비교하면 다음과 같다.
ㄱ. 1~100까지 숫자의 합계를 구하는 루프.
ㄴ. 임의의 정수형 숫자를 생성하고, 입력받아서 루프를 탈출하는 게임. (단, 999는 루프를 종료한다.)
ㄷ. 임의의 폴더에 있는 특정 이름을 가진 파일을 검색.
1 : ㄱ - for문이 적합.
2 : ㄴ - do ~ while이 적합.
3 : ㄷ - while이 적합.
1번의 경우 별다른 이견이 없을듯 하고..
2번의 경우 게임이 종료되던 진행되던 최초에 사용자의 입력을 받아야한다.
이런경우 사용자의 입력을 받고 결정해야 하기때문에 do~while문이 적합하다.
3번의 경우 파일찾기 같은 프로그램을 떠올려 봤을 때 폴더가 가진 파일의갯수는 가변적이므로
폴더가 가진 파일의 갯수만큼 루핑하여 내부에는 조건문으로 파일이름을 검색하는 처리를 하면 될 것이다.
'■ 개발관련 ■ > 산수와 알고리즘' 카테고리의 다른 글
10미만 0 붙이기 (0) | 2013.10.16 |
---|---|
for문 - 감산 for문 (0) | 2013.10.16 |
callback 함수란 (0) | 2013.10.16 |
색상의 알파값(투명도) 16진수계산 (0) | 2013.10.16 |
Row(행) 와 Column(열) (0) | 2013.10.13 |