안녕하세요 Semineer입니다.
오늘은 저번시간에 이어서 반복문 그 두번째 시간입니다!
저번 시간 반복문 첫 번째 글은 아래 링크에 걸어 놓겠습니다.
2020/10/06 - [Programming/Visual Studio(C언어)] - 3장-1 반복문
그리고 C언어 목차도 아래 링크로 걸어 놓을께요!
2020/10/05 - [Programming] - C언어 (Visual Studio) 목차
바로 본론으로 시작하겠습니다.
3. for문
세번째로는 for문입니다.
for 한글 뜻으로는 '~하는 동안' 이라는 뜻을 가지고 있죠?
뜻 그대로 ~하는 동안 반복을 해라!
라는 뜻을 가지고 있습니다.
문장 구조를 살펴 볼까요?
for(초기문; 조건문; 증감연산) { 실행문; } (단, 실행문이 한 문장이면 {} 필요 X) |
이런 구조를 갖고 있습니다.
이번 for문은 다이어 그렘으로 한번 설명 해보겠습니다.
초기문을 읽고,
조건문이 참이면 실행문을 실행하고,
증감연산을 한 후 다시 조건문을 읽습니다.
이를 반복하다가 조건문이 거짓인 경우
그 for문을 빠져 나가는 식의 for문입니다.
예를 하나 들어볼까요?
위와 같은 코드를 해석 해봅시다.
i를 0으로 선언을 해주고,
for문이 나오네요!
초기문을 보면 i=0이네요,
조건문을 보니 i<10 입니다. 그러면 조건이 참이네요!
조건이 참이면 실행문을 실행합니다.
i+1을 출력하고 한줄 띄는 실행문을 실행해줍니다.
그리고 증감연산 i++을 해주면 이제 i=1이 되겠네요
다시 조건문을 보면 10미만이므로 실행문이 실행이 되고....
이런식으로 간다면
1
2
3
4
5
6
7
8
9
10
을 출력하는 코드가 되는 것을 알 수 있습니다.
그럼 진짜 맞는지 확인을 해볼까요?
이렇게 실행이 정말 되는것을 확인 할 수 있습니다.
while문에서 무한 반복문에 대해서 말씀 드렸었는데요.
for문에서는 이러한 무한 반복문을 어떻게 사용하는지 알아 보겠습니다.
이렇게 초기문도, 조건문도, 증감연산자도
비워놓고 오직 세미콜론(';')만 적어 놓으면
실행문이 무한 반복해서 실행이 됩니다.
여기서도 break;를 통해서 무한 반복문을 탈출(?) 할 수 있습니다.
이렇게 for문이 끝이 나게 됩니다.
4. 중첩 반복문
네번째로는 중첩 반복문 입니다.
중첩 하면 어떤 것이 생각이 나시나요?
겹치는 것? 이런 것이 생각날 수 있는데요
그것과 비슷하게 중첩 반복문은
반복문들을 여러개 겹쳐서 사용하는 것 입니다.
for문 안에 for문을
for문 안에 while 문을
사용하면 이중 중첩 반복문
while문 안에 for문 안에 for문 안에 do while문을
사용하면 사중 중첩 반복문이 되는 것입니다.
여기서 주의할 점은
각 반복문을 제어하는 변수 사용에 주의 해야 한다는 것 입니다.
첫 번째 반복문의 변수가 i 이면
두 번째 반복문의 변수가 i 가 아닌 j로 사용하는 등
주의가 필요 한 것입니다.
조금은 어려운(?) 실습을 하나 해봅시다!
역시 이해는 실습으로 하는게 가장 좋은것 같아요!
이 코드는 사각형을 출력하는 코드 입니다.
가로 세로의 길이를 받아서 *로 사각형 처럼 출력을 하는 코드이죠!
실행 해본다면
위와 같이 잘 나오는 것을 볼 수 있습니다!
첫 번째 제어문의 변수를 i
두 번째 제어문의 변수를 j
로 설정해서 코드를 짠 것에 주의 하셔야합니다!!!
이렇게 다중 중첩반복문도 끝이 나게 됩니다!!
5. 과제
마지막으로는 지금까지 배운 것들을 종합해보는
과제 시간입니다.
과제를 하면서 배운 문장들을 사용해 보는 것에서 끝이 나는 것이 아닌
알고리즘을 짜는 연습
즉 어떻게 하면 가장 효율적인 코드를 짤 수 있을지를 공부하는 것도
중요하기 때문에 꼭 해보시는 것을 권장 합니다!!
이번 과제는 "모래시계 출력 프로그램" 입니다.
한 쪽의 층 수를 입력 받아서
모래 시계를 출력하는 프로그램 입니다.
예를 들어 5층을 입력 받았으면 모래시계 한쪽 당 5층이 되는 식 입니다.
출력 예시를 보여 드리면,
이런 식으로 출력이 되는 프로그램입니다.
난이도가 상당하지만 다들 힘내시고
다음 시간에는 과제 설명 시간으로 만나뵙겠습니다!!
그럼 다들 고생 하셨습니다!
맞춤법, 오타, 틀린점, 질문은 언제든 환영합니다.
긴 글 읽어 주셔서 감사합니다~!!
이상 Semineer였습니다.
'Programming > Visual Studio(C언어)' 카테고리의 다른 글
3장-1 반복문 (0) | 2020.10.06 |
---|---|
2장-3 자료형과 입출력 (0) | 2020.09.29 |
2장-2 자료형과 입출력 (0) | 2020.09.28 |
2장-1 자료형과 입출력 (0) | 2020.09.27 |
1장 Visual Studio 설치하기 A to Z (0) | 2020.09.26 |
댓글