반복문
c언어에도 단계를 나눈다면, part 1은 반복문 까지가 된다. 여기까지는 p/g을 하는데 모든 언어에서 통합되는 기본 논리를 배운 것과 다름없다. 그런 뜻에서 part1을 배운 것은 프로그램을 작성하는게 큰 의미가 있다. 여기서 이 반복문은 지난시간 배운 분기가 나뉘는 제어문과 다르니 유의하자. if(조건식){ 실행문; 실행문; }으로 쓰이는 것을 배웠었다. 이 if과 반복문은 형식에 비슷한 점이 많다.
반복문은 비유하자면 인형 눈깔을 붙이는 것으로 들 수 있다 인형 눈깔 100번을 똑같이 붙일 때, 같은 작업을 100번 반복하는 건데, 이걸 줄여서 생략할 수 있는 것이 반복문이다. 반복문은 기본구조는 쉽지만, 복잡한 논리로 정교하게 짜여 졌을 때 골치를 앓을 어려운 프로그램이 될 수도 있다.
while문
조건식이 참이면 특정 코드를 반복하는 반복문으로, if와 마찬가지로 실행문이 여러 가지면 스코프{ }를 열어서 코드를 작성한다. if문에서 if를 while로 바꾸면 바로 while의 형식이 되는데, 이렇게 while문은 if문과 논리구조가 형식과 같이 많이 비슷하다. 여기서 중요한 차이점은 if는 1회 수행된다면, while는 n회 수행된다. 조건식이 참이 될 경우까지 while문은 반복되는데, while(a > 5) a--; 일 경우 while문이 한번 끝나고 a값이 -1되면서 다음 반복문에는 조건식의 a가 감소하게 되는데, 이 a가 0이 돼서 조건식이 거짓이 될때까지 반복문은 반복한다. 그래서 5번째 반복돼서 실행될 때, a가 0으로 조건식이 만족하지 않게 된다.(0 > 0) 이때 while식을 건너뛰고 그 다음 코드가 실행이 된다. (while식의 끝이 된다)
반복문의 반복횟수
반복문의 가장 중요한 점은 ‘반복 횟수‘ 이다. 만약 인형 눈을 100개 붙이는데 눈을 붙이는 작업을 99번이나 101번 반복하게 될 경우, 쓸 때 없는 작업이 남게 되어 문제가 생기게 된다. 그리고 더 큰 문제는 무한반복, 반복문이 계속 참이 되어서, 무한도전(?)을 하는 경우가 생기게 된다. 때문에 중요한 부분은 조건식은 if에서 다뤘으니 알고 있다 치고, 이 조건식이 변하게 되는 변수의 증감, 변화부분이다. 조건식이 a > 0 이일 때, a--; 이 매우 중요한 행이라는 것이다. 그리고 이 계수를 처음 변수로 선언하고 초기화 해주는 int a = 0; 같은 초깃값이 매우 중요하다.
요약해서, 반복문의 ‘반복횟수‘는 초깃값과, 조건식과 계수 3가지 행으로 결정이 난다. 이 조건식의 변수의 변동과 값을 결정하는 행은 매우 중요하므로, 이 행으로 반복문의 가장 중요한 반복횟수를 제어하게 된다.
반복문의 정리
반복문의 종류에는 while, do while, for문 3가지가 있다. 여기서 do while문이 동작하는데 특이한 편이다. 그리고 이중 while, for문을 코드에 많이 쓰게 된다. 여기서 반복문에 들어가는 break와 continue 둘이 중요한 역할을 하게 된다. 이 둘은 비슷한 상황에 쓰이면서, 서로 다른 역할을 한다. 여기서 들어가는 내용들은 문제로 풀어보는데 많은 도움이 된다. 여기서 다음시간 풀어볼 연습문제에 대한 풀이도 알려주는데 참고해서 연습문제를 풀자.
'c언어 > 워딩(미정리)' 카테고리의 다른 글
문자열과 배열 복습 (0) | 2019.07.08 |
---|---|
별찍기 (0) | 2019.07.08 |
중첩되는 반복문 (0) | 2019.07.08 |
do while문, for문 (0) | 2019.07.08 |
switch/case 문, goto 문 (0) | 2019.07.08 |