Steady Blog
9. 반복문 본문
* 반복문
- 정해진 문장을 반복해서 실행하기 위해 사용하며 많은 양의 데이터를 효과적으로
처리 할 수 있도록 한 순환 구조이다.
- 반복문을 사용하지 않고 프로그램을 작성하게 되면 상상할 수 없을 정도로 복잡해지는 것을 알게 될 것이다.
2-1 for문
- 범위를 지정해서 명령문을 반복 동작시킬 경우 많이 사용함.
1. 조건 반복문을 말하며, 초기 값부터 시작하여 조건식이 거짓 상태가 될 때까지
loop내의 명령들을 반복 수행한다.
단, 조건식이 처음부터 거짓인 경우 loop내의 명령은 수행되지 않는다.
2. 초기식, 조건식, 증감식 부분은 모두 생량할 수 있다.
3. 초기식 부분과 증감식 부분에는 콤마(.)연산자를 이용하여 2개 이상의 명령을 기재 할 수있다.
4. loop내의 명령문이 2개 이상인 경운 블록({})을 해 주어야 한다.
5. 형식
for(초기값; 조건식 ; 증감식)
{
명령문
}
- 초기값은 맨 처음에 한번만 수행한다.
- 조건식이 참인 동안만 명령문을 반복 수행한다.
* for문의 유형 4가지
1. 초기화 생략 for( ; i<10 ;i++ )
2. 조건식 생략 for( i=1 ; ; i++ )
3. 초기화 증감식 생략 for( ; i<10 ; )
4. 모두생략 for( ; ; )
- 조건식을 생략하려면, 반드시 루프를 벗어날 방법이 있어야 한다.
그렇지 않으면 무한루프에 빠져 버린다.
2-2. 다중 for문
- for문 속에 다른 for문을 사용되는 형태이다.
- 형태
for( 초기값1 ; 조건식1 ; 증감식1 )
{
for( 초기값2 ; 조건식2 ; 증감식2 )
{
명령문;
}
}
2-3 while 문
- 대체로 무한루프를 만들 때 while 문을 많이 사용한다.
- while문의 조건식이 참인 동안에는 블록 ( {} )안에 있는 문장을 반복수행하고,
조건식이 거짓이 되면 반복 수행을 멈추고 블록 밖의 다은 문장을 수행한다.
즉, "()조건식이 만족하는 동안 {}을 반복 수행하라"는 듯이다.
조건식은 참과 거짓을 결정할 수 있는 상수, 변수, 수식이나 함수이다.
- 명령문이 단문일 경우, 중괄호 ( {} )는 생략 가능하다.
- 형식
while(조건식)
{
명령문;
}
2-4 do ~ while 문
- 반복 조건을 검사하는 위치가 다를 뿐 while 문 구조와 유사
- 조건 검사하는 부분이 while 문과 달리 아래에 위치함.
즉, 블록( {} )안에 있는 문장을 먼저 수행하고 나서 다음 조건식을 평가함으로써
계속 반복수행 할지 반복수행을 멈출지 결정한다.
- 형식
do
{
명령문;
...........;
}while (조건식);
3-1 break 문
- break문은 switch ~ case 문, for문 , while문, do~while 문안에서 사용하여, 블록을 탈출하라는 의미로
for문이나 while 문 또는 switch~case문, do~while문의 실행을 종료하라는 의미이다.
(반복문 수행중에 블록을 탈출하고 싶을 때)
※ 다중 반복문일 경우 break를 사용하면 속해있는 {}에만 벗어 나게 된다.
3-2 continue 문
- continue 문은 break와 반대되는 명령
- while문, do~while문, for문 등의 반복문을 사용할 때 continue문을 만나면 이하의 명령문은 수행하지 않고
조건식 부터 수행한다.
- 블록 안에서 continue를 만나면 우 중괄호를 만난 것으로 인식되어서, for문일 경우에는 증감식 쪽으로,
while문이나 do~while문일 경우에는 조건식 쪽으로 실행 순서를 옮긴다.
3-3 goto 문
- 실행 순서를 지정된 위치로 옮겨 주는 문
3-4 return 문
- 함수를 종료시킨다.
- 리턴값이 있을 경우, 함수를 호출하였던 지점으로 리턴값을 전달한다.
'Programing > C언어' 카테고리의 다른 글
10. 함수 (0) | 2012.09.03 |
---|---|
8. 제어문 (0) | 2012.09.03 |
7. 연산자 (연산자 우선순위, 산술, 증감,대입,관계, 논리, 비트) (0) | 2012.09.03 |
6.입출력 함수 정리. (0) | 2012.09.03 |
5. 입력 함수( getchar() , getche(), getch(), gets(), scanf() ) (0) | 2012.09.03 |