C - 반복문

2022. 2. 20. 16:21C

만약 우리가 1부터 10까지 숫자를 출력 할 것이라면 printf("1") printf("2")...... printf("10") 이런 식으로 귀찮게 만드는게 아니다.

처음 내가 JAVA로 언어를 공부하며 for문을 보자마자 그 생각 했다. 딱 봐도 어려워 보이고 복잡해 보이는데 굳이 해야하나? 그냥 하나하나 다 쓰면 되지 않나 했는데, 큰 오차였다. 1부터 100까지의 반복을 해야할 경우도 있고, 구구단을 출력하는 간단한 예시에서도 for문이 훨씬 효율적이고 조금만 예제 문제를 찾아서 풀다보면 크게 어렵지도 않다.

 

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

i=0 : 일때 for문 안에 구문을 한번 실행해준다 그 구문이 끝나면 i의 값에 1을 더 해준다.

그러면 다음 구문은 i=1 ... 이런식으로 i<10 조건이 될 때까지 반복되는 구문이다.

 

해석하자면 for(초기식; 조건식; 증감식) {

                     반복할 구문

                   }

이다.

 

for (int i = 0; i < 10; i++) {
    printf("for문 %d 번째 출력\n", i+1);
}

간단히 i=0 ~ i=9까지 반복 되는 구문이다.

 

 

출력 결과 

for문 1 번째 출력
for문 2 번째 출력
for문 3 번째 출력
for문 4 번째 출력
for문 5 번째 출력
for문 6 번째 출력
for문 7 번째 출력
for문 8 번째 출력
for문 9 번째 출력
for문 10 번째 출력

i가 0부터 시작하기에 printf안에 i+1의을 넣고 자연스럽게 표기했다.

 

비슷한 반복문 while문도 기록하자.

int i = 0;
while(i<10){
    printf("%d번째 구문\n", i+1);
    i++;
}

while문은 조건이 참일 경우 계속 반복 한다.

한마디로 i가 10이 되는 순간 i<10은 거짓이기에 i 값이 9일때 까지만 반복한다.

 

출력 결과

1번째 구문
2번째 구문
3번째 구문
4번째 구문
5번째 구문
6번째 구문
7번째 구문
8번째 구문
9번째 구문
10번째 구문

 

do-while문 

int sum = 0;
int i = 1;
do {
    sum += 1;
    i++;
} while(i<1);
    printf("%d", sum);
    return 0;

실행문을 먼저 실행 후 조건문을 본다는 특징이 있다.

i=1이 기에 i<1조건에 따라서 값이 출력되면 안되지만  do-while문의 특성으로 먼저 실행 후 조건을 확인 했다는 점에서

 

출력 결과

1

 

'C' 카테고리의 다른 글

C - 포인터  (0) 2022.03.06
C - 반복문 예제  (0) 2022.02.25
C - 조건문  (0) 2022.02.20
C - scanf와 서식 지정자  (0) 2022.02.20
C - 연산자  (0) 2022.02.16