기타 강좌

이번에는 순환문인 for문과 while문에 대해 설명하겠습니다.

for문은 알고리즘을 할 때 꼭 써야 할 것인데요. 다른 곳에도 아주 많이 사용됩니다.

 

일단 for문에 대해 설명하겠습니다.

 

for문은 하나 이상의 볼록을 지정된 횟수만큼 실행하는 c의 제어문입니다.

for문은 프로그램의 특정 부분을 한 번 이상 반복 실행하므로 가끔 for 순환문이라고도 합니다.

 

for문은 다음과 같은 구조를 가집니다.

for(초기식; 조건식; 증감식)

{

         반복 실행할 문장;

}

 

'초기식', '조건식', '증감식'은 모두 c의 수식이고, '반복 실행할 문장'은 c의 단일문이나 복합문입니다.

프로그램이 샐행되는 동안 for 문을 만나게 되면 다음과 같은 동작을 수행합니다.

 

 1. 초기식이 평가됩니다. 초기식은 대개 특정 값을 변수에 저장하는 할당문입니다. (예: i=0)
 2. 조건식이 평가됩니다. 조건식은 일반적으로 관계 수식입니다. (예: i>10)

 3. 조건식이 0의 값에 해당하는 거짓으로 평가되면 for 문이 종료되고

    프로그램의 제어는 반복 실행할 문장의 바로 다음에 있는 문장으로 넘어갑니다.

 4. 조건식이 참으로 평가되면 반복 실행할 문장에 포함되어 있는 c의 문장이 실행됩니다.
 5. 증감식이 사용되고 나면 제어는 다시 두 번째 단계로 돌아갑니다. (예: i=1+1 )

 

for문의 동작 과정을 보여 드리겠습니다. 조건식이 처음에 거짓으로 평가되면 반복 실행할 문장은

한번도 실행되지 않는 다는 것을 기억하시길 바랍니다.

           

 

 시작

         

                             

 초기식 평가

                                           

                            ↙ 조건식 평가 ->증감식 평가            

 조건식 평가

                              ↘ (조건식 평가가 참일 경우) 문장 실행
 
          ↓ (거짓일 경우 종료)   

종료

 
이렇게 나타냅니다.
 
for문을 시작해 초기식 평가를 수행하고 조건식 평가를 합니다.
조건식 평가가 계속 되고 증감식 평가가 실행 되면서 참일경우 또 다시 조건식 평가, 증감식 평가를 거쳐갑니다.
만약 조건식 평가가 거짓일 경우for문은 종료가 됩니다.
 

 

 For 문 - 되짚어 보기

 

 for (초기식; 조건식; 증감식)

{

             반복 실행할 문장(들);

}

 

'초기식'은 c에서 사용 할 수 있는 수식으로 매개변수에 특정 값을 저장하는 할당문입니다.

 

'조건식'도 마찬가지로 c의 수식이구요. 일반적으로 관계 수식을 사용합니다. 주어진 조건이 거짓으로

평가될 때 for 문이 종료되고, 제어는 '반복 실행 할 문장(들)' 바로 다음에 있는 문장으로 전달됩니다.

그렇지 않다면 반복 실행할 문장(들)이 실행됩니다.

 

증감식은 c의 수식으로 대개 초기식 부분에서 초기화된 변수를 증감하는 수식입니다.

 

'반복 실행할 문장(들)'은 주어진 조건이 참으로 평가되는 한 계속해서 실행되는 c의 문장(들)입니다.

 

정리하자면 for 문은 순환문입니다. for문은 초기화(초기식), 비교문(조건식), 증감(증감식)부분으로 구성됩니다.

for문은 우선 초기화 수식을 사용하구요. 그러고 나서 비교문을 수행하여 주어진 조건이 참이라면 for문에

포함된 문장을 실행합니다. 문장이 실행되고 나면 증감을 수행하는 수식이 사용되며 다시 조건을 확인하여

결과가 거짓으로 평가될 때까지 계속해서 반복하게 됩니다.

 

예제를 한 개 써보겠습니다.

 

예제 - /* 0부터 9까지 증가시켜 i의 값을 출력 하는 예제 /

 

int i;

 

for (i = 0; i < 10; i++)

{

           printf("n x의 값이 %d 입니다.", i );

}

 

일부분만 예제를 써봤는데요. 이렇게 쓸 경우

x의 값이 1 입니다.

x의 값이 2 입니다.

x의 값이 3 입니다.

 

계속해서 나올 것입니다. 9까지 말이죠. 9까지에서 끝나는 이유는 조건식 평가가 끝났기 때문입니다.

이유는 조건식 평가에서 거짓으로 평가되었기 때문에 종료가 된것입니다.

 

 
 이거는 꼭 합시다.  이거는 하지 맙시다.

 for 문에서 널 문장을 사용할 필요가 있다면 세미콜론을 입력합시다. 세미콜론을 다음 줄에 독립적으로 입력하거나 또는 for 문의 마지막에 공백과 함께 입력합시다. 세미콜론을 독립된 줄에 입력하는 것이 더 좋습니다.

 

for (count = 0; count < 10;

arra[ count] = 50) ; //빈칸에 주의합시다.

for문 내에서 너무 많은 동작을 처리하지 않도록 합시다.

너무 많은 동작을 처리할 경우 프로그램이 복잡하게 되 이해를 못할 수도 있습니다. 쉼표 연산자를 사용하여 for 문 내에서 원하는 동작을 수행 할 수 있지만 원칙적으로 순환문 내에서는 필요한 것만을 수행하는 것이 더 좋습니다.

  

while 문

while 순환문이라고도 하는 while 문은 지정된 조건이 참이라면 계속해서 주어진 문장을 실행하는데요.

while 문은 다음과 같은 형식으로 사용됩니다.

 

 

while( 조건식)

{

 

실행할 문장;

 

}

 

'조건식'은 c의 수식이고 '실행할 문장'은 c의 단순문이나 복합문입니다. 프로그램에서 while 문이 사용될 때에는

다음과 같은 동작이 수행됩니다.

 

 1. 조건식이 평가됩니다.
 2. 조건식이 거짓(0)으로 평가되면 while 문은 종료되고 제어는 실행할 문장 바로 다음의 문장으로 넘어갑니다.
 3. 조건식이 참으로 평가되면 실행할 문장에 포함되는 c문장이 실행됩니다.
 4. 제어는 다시 첫 번째 단계로 돌아갑니다.

 

while문의 동작 과정입니다.

 

시작       ←←←←←←←←←←

 ↓                                ↑

조건식 평가 →(참일 경우) 문장 실행

 

 ↓(거짓일 경우)

 

완료

 

순으로 동작이 됩니다.

 

for문은 for( ; 조건식; )

다음과 같이 사용될 수 있습니다.

 

while 문은 while( 조건식 )

이런 비슷한 점이 있으니 for문을 사용 할 수 있는 곳에서 while문을 대신 사용할수 있는 것입니다.

while문을 사용할 때에는 초기화 부분에 해당하는 내용을 먼저 독립된 문장으로 포함시켜야 하고 값을

증감시키는 부분을 while문 내에 포함시켜야 합니다.

 

 

while 문

 

 while (조건식)

{

 

실행할 문장(들)

 

}

 

 

'조건식'은 c의 수식입니다. 제가 계속 말씀 드린것입니다. 일반적으로 관계 수식이 사용되구요

조건식이 거짓으로 평가될 때에는 while문이 종료되고 제어는 실행한 문장(들) 바로 다음에 있는 문장으로 전달됩니다.

그렇지 않다면 실행할 문장(들)에 해당되는 c문장이 실행됩니다.

 

'실행할 문장(들)'은 조건식이 참으로 평가되는 경우에 계속해서 실행되는 c문장입니다.

 

while문은 c의 순환문!!이므로 주어진 조건이 참으로 평가된다면 계속해서 문장이나 블록을 실행을 합니다.

while문이 처음 실행될 때 주어진 조건이 거짓으로 평가되면 포함된 문장은 절대로 실행이 되지 않습니다.

 

예제를 보여드리겠습니다.

 

int i = 0;

while ( i < 10 )

{

       printf(" i의 값은 %d 입니다.", i );

       i++

}

 

아주 쉬운 while문의 예제 입니다.

 

 

while문도 이해하시고 넘어가길 바랍니다.

 

 

 

지금까지 for문과 while문에 강좌였습니다


List of Articles
분류 제목 글쓴이 날짜 조회 수
Vegas Pro 베가스 강좌 목록 아방스 2017.09.28 886
파이널컷X 파컷 강좌 목록 아방스 2017.06.18 757
기타 [루비][네트워크][GUI] 서버에 명령어 보내서 실행결과 얻는 클라이언트 file 자연철학의수학적원리 2013.10.25 1471
기타 [루비][네트워크] 다른 컴퓨터에서 명령어 받아서 실행후 결과 돌려주는 서버 자연철학의수학적원리 2013.10.25 1736
기타 [루비] 프로그래밍 공부하는 법 1 자연철학의수학적원리 2013.10.25 1724
기타 윈도우 게임을 휴대폰이나 태블릿으로 돌려보자 폰으로컴퓨터하기 2014.01.21 1428
기타 [RPGXP] 기술 데이터 읽기 실패 해결법 2 file 맵만드는중.. 2014.02.17 1717
기타 에러 메세지를 텍스트로 복사하기 1 file 값싼뭉크 2014.04.26 874
어도비 프리미어 프리미어 cc 2014 새로운 기능 - Premiere Pro CC – April 2014 – New Features 아방스 2014.07.07 1443
메이킹 영상 [매이킹 영상] CASTLEVANIA: LORDS OF SHADOW 2 아방스 2014.07.09 790
메이킹 영상 완좌의 게임 시즌4 VFC 메이킹 릴 아방스 2014.07.09 865
메이킹 영상 [메이킹] 드래곤 길들이기2 메이킹 영상 아방스 2014.07.09 1258
시네마4D [텍스트 애니메이션 강좌] Cascading Text Animation Tutorial file 아방스 2014.07.16 1063
에프터 이펙트 레이져 총 효과 제작 Sci-Fi Weapon FX file 아방스 2014.07.23 1115
C언어 c언어로 구구단 프로그래밍 하는 영상 1 정체불명 2014.11.02 740
기타 폴더 100개 일괄적으로 만들기 정체불명 2014.11.02 739
OSX (맥) 맥(OSX) 매버릭스,요세미티 에서 FTP 서버열기 3 file 아방스 2014.11.13 11513
OSX (맥) tar 명령어로 압축하기 / 압축해제 사용법 및 옵션 설명 아방스 2014.11.17 3074
OSX (맥) 맥 서버 MYSQL 오류 mysqldump: Got error: 145 해결법 아방스 2014.11.19 729
어플개발 m-BizMaker 코딩없이 어플 개발 할수있는 프로그램. 소개 1 아방스 2014.11.25 1126
게임기획 게임기획에 대한 강의1 2 현준갓 2014.12.15 1344
OSX (맥) 맥 OSX - 휴지통 비워지지 않는 파일 삭제하기. 아방스 2015.01.06 8027
Board Pagination Prev 1 ... 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Next
/ 19