알버트의 개발하는 블로그
C 언어 / C++ 언어 제7강 반복문 (for문, while문, do while문) 본문
이번 시간에는 c 언어에서 사용되어지는 반복문에 대해서 배워보겠습니다.
반복문은 프로그래밍 상에서 반복적인 처리를 해야할때 쓰여집니다.
예를 들어, 1부터 1000까지의 수를 더하거나, 10부터 1000까지의 수 중에서 소수를 구해야하는 과정이 필요할 때 쓰여진다고 보시면 됩니다.
대표적인 반복문이 3가지가 있습니다. for문, while문, do while문 이렇게 3가지가 있는데요. 아주 간단한 프로그래밍을 통해서 배워보겠습니다.
for문 예제
먼저 for문입니다.
빈프로젝트를 만드셔서 소스파일을 만드시고 코드를 적어주세요.
대표사진 삭제
사진 설명을 입력하세요.
먼저 메인 함수 안에서 합계를 받을 변수 sum을 0으로 초기화해줍니다. 초기화를 반드시 해주어야 합니다. 변수를 처음 만들었을 때 그 변수 안에는 쓰레기값이 들어가 있습니다. 그 쓰레기를 비워주고 우리가 처리할 값을 넣어줘야 합니다.
그리고 for문을 들어가게 됩니다. for (int i = 1; i <= 10; i++) 가 있는데요. ;을 기준으로 3가지 부분으로 나뉘어져 있습니다. 이 문법에 대해 설명해드리겠습니다.
int i = 1; // 반복을 실행할 변수 i를 1로 초기화.(초기) i <= 10; // i가 10보다 작거나 같을 때까지 반복 실행.(조건) i++ // for문을 실행한 뒤에 i의 값 1 증가. (스탭)
이렇게 초기, 조건, 스탭 3가지 구조로 되어있습니다.
조건식이 만족할 때까지 반복해줍니다. 여기선 i가 1부터 시작해서 for문이 한번 실행되면 1이 증가됩니다. 그리고 i가 10이 될때까지 반복합니다. 따라서 총 10번 반복이 되는 것을 알 수 있습니다. 한번 실행해볼까요??
대표사진 삭제
사진 설명을 입력하세요.
짠~ 이렇게 1부터 10까지의 합인 55가 정상적으로 반복 계산되었음을 알 수 있습니다.
이번엔 while 반복문을 보겠습니다.
마찬가지로 반복을 하지만, 문법이 약간 달라요. 결과값이 똑같이 나오게 짜볼게요.
대표사진 삭제
사진 설명을 입력하세요.
이렇게 while문을 짤 수 있습니다.
for문이랑 다르게 초기값을 문장바깥에서 선언을 해주어야 합니다.(int i = 1;) 그리고 스탭 (i++)을 while문 안에서 처리해주어야 합니다. 왜냐면, while ( )안에서는 조건만 물어볼 수 있기 때문입니다.
for문이랑 while문이 가장 많이 쓰이는 반복문인데요. for문은 반복해야하는 횟수를 정확하게 지정해줄 때 사용해주면 편리합니다. 그와는 반대로 while문은 횟수는 안정해져있는데 특수한 조건을 만족할 때까지 반복해주고 싶을 때 아주 편리합니다.
하지만, 결과값은 똑같습니다. 컴파일을 해보면?
대표사진 삭제
사진 설명을 입력하세요.
마찬가지로 같은 값이 나온 것을 알 수 있습니다.
이번엔 do while 문을 보겠습니다.
대표사진 삭제
사진 설명을 입력하세요.
마찬가지의 반복문입니다. 그리고 while문과 상당히 비슷합니다.
다만, while문이랑 다른점은 while문에서는 반복 조건을 물어보는 while문이 앞에 나왔었지만,
do while문에서는 while문이 뒤로 가게 되고, 실행하는 문장이 앞으로 옵니다.
즉, 조건을 먼저 물어보고 실행하는 것이 아니라 먼저 do문을 실행하고 그 다음에 while문으로 반복조건을 물어보게 됩니다. 그리고 반복조건이 성립한다면? 다시 do문을 실행하게 되는거죠.
그리고 while 문의 마지막에는 ; 을 붙여야 합니다.
자 한번 결과값을 볼까요?
대표사진 삭제
사진 설명을 입력하세요.
마찬가지로 같은 값이 나온 것을 알 수 있습니다.
이처럼 3가지 반복문은 상황에 따라서 다르게 쓰일 수도 있기 때문에 정말 중요합니다.
반복문은 프로그래밍을 할 때 사용되어지는 알고리즘의 아주 기초가 되는 작업입니다. 그래서 반드시 반복문이 익숙해질 떄까지 많이 연습을 하셔야 합니다.
읽어주셔서 감사합니다~
'프로그래밍 언어 > C & C++' 카테고리의 다른 글
C 언어 / C++ 언어 제9강 기본 1차원 배열 (0) | 2021.04.29 |
---|---|
C 언어 / C++ 언어 제8강 for 반복문 이용해서 피라미드 출력하기 (중첩 반복문) (0) | 2021.04.29 |
C 언어 / C++ 언어 제6강 조건문 (if문, else-if문, switch문) (0) | 2021.04.29 |
C 언어 / C++ 언어 비쥬얼 스튜디오 scanf 오류 해결 방법 (_s 붙이기, _CRT 붙이기) (0) | 2021.04.29 |
C 언어 / C++ 언어 제5강 기본 연산자 (0) | 2021.04.29 |