본문 바로가기

Programming/C Language

While문 ?

이번에는 반복문 중 하나인 While문에 대해서 알아보도록 하자!

while문은 특정 조건을 주고 그 조건을 만족하는 동안 특정영역을 계속 반복하는 구조이다.
코드를 살펴보자


while(num<5)

{

printf("Hello World! \n");

}


이것이 while문이다 . 이렇듯 while문의 소괄호 안에는 반복 조건을 명시하고 조건이 만족하면 중괄호 안의 코드가 반복 실행되는 구조다.


실제 예제를 통해 알아보자.




5행에 정수형 변수 num을 선언 및 초기화 해준후

7행~ 11행 까지 while문을 이룬다 , 

7행에서 while문 선언 후 반복 조건을 명시해준다 , (num<5)

중괄호를 열고 반복하고자 하는 코드를 적는다  . 
여기서 10행의 num++; 이 없다면 어떻게 될까?     num은 계속 0으로 무한루프 상태로 들어간다.
그렇기 때문에 while문에서는 이렇게 증감 연산자가 많이 쓰인다.
num이 5가 될때까지 while문을 반복한 후에 5가 되면 반복 조건에 부합하니 while문을 나와서 return문을 실행시키고 프로그램이 종료된다.




코드의 흐름을 이해하기 쉽도록 , 반복에 따른 num의 증가값도 출력했다


while문을 응용하여 구구단을 짜보자!
이러한 프로그램을 짜기전에 간단히 생각해보자
while문을 통해 구구단을 출력하고싶은데 어떻게 코드를 작성해야 할까?

입력값은? 단을 scanf 함수를 이용해 사용자에게 입력받자
출력값은? 구구단은 1씩 더해가며 곱해가는 절차이니 , while 반복문을 통해 증가연산을 해주자!


막상 처음 짜보면 쉽게 짜지지않는 경우도 많을것이다.( 나 또한 그랬다..)
이렇게 짜고자 하는 프로그램의 입력과 출력 및 필요 요소들을 생각해보면 그림이 그려지니 참고하길 바란다.


 다들 이와 같이 작성했는지 모르겠다.
코드를 살펴보자
6행에서 dan변수를 선언 및 초기화해주고 num변수또한 해주었다.
dan은 말 그대로 구구단의 단을 표현하기위한 변수고 num은 곱셈을 위한 변수다.
while문을 통해 num을 증가연산시키며 입력받은 값인 dan에 곱한값을 출력시킨다!


예상한 대로 결과값이 나와주었다. 여러분들도 꼭 직접 작성해보길 바란다!



다음으로 while문의 중첩에 대해 알아보자
while문의 중첩은 말 그대로 while문안에 while문이 포함된 상황을 뜻한다.
구구단 전체출력을 가정해보자 , 그러면 2단 출력용 while문부터 9단 출력용 while문까지 총 8회 while문이 삽입되어야한다.
그러나 while문을 중첩시키면 다음과 같이 심플하게 표현이 가능하다.




구구단의 단을 표현할 변수 dan , 곱셈 연산을 위해 필요한 피연산자 역할의 변수 is를 선언 및 초기화

8행  :    while문  2단부터 9단까지 반복
10행 :    새로운 단의 시작을 위한 변수 재정의
11행 :     각 단의 1부터 9의 곱을 반복


부디 꼭 직접 짜서 실행해보고 코드의 흐름을 이해하기 바란다

'Programming > C Language' 카테고리의 다른 글

For 문 ?  (0) 2017.10.30
Do ~ while 문 ?  (0) 2017.10.30
서식문자 정리  (0) 2017.10.30
아스키(ASCII)코드 ?  (0) 2017.10.30
기본 자료형 정리  (0) 2017.10.30