728x90
728x90

반복

: 같은 처리 과정을 여러 번 되풀이하는 것

while

: 주어진 조건이 만족되는 동안 문장들을 반복 실행

while (조건식) {
    문장; // 조건식이 참이면 문장 반복 실행
    ...
}

📢 while 문 사용 시 종료조건이 명확히 있어야 한다. (안그러면 무한 루프 돌게 됨)

#include <stdio.h>
int main(void)
{
    int i = 0;
    while (i < 5)
    {
        printf("Hello world! \n");
        i++;
    }
    return 0;
}

 

if 문과 while 문의 차이

  • if 문 : 조건이 만족되면 한번만 실행
  • while 문 : 조건이 만족 되는 동안 여러번 반복 실행

 

while 문에서 주의사항

  • 변수의 증감
int x = 1;
while (x < 10)
{
    printf("while loop\n");
    x--; //변수의 증가가 아닌 감소
}

 

  • 반복 루프 내에 증감조건 포함
int x = 0;
while (x < 3)
    printf("while loop\n");
x++; // 반복 루프 내에 포함되어 있지 않음

 

  • while 문의 syntax 구조 정확히 파악
int x = 0;
while (x < 3); // 조건식 뒤에 세미콜론(;) - syntax error
{
    printf("while loop\n");
    x++;
}

 

  • 센티널(sentinel) 값(보초값)
    : 입력되는 데이터의 끝을 알리는 특수 값
#include <stdio.h>
int main(void)
{
    int grade, n;
    float sum, average;

    n = 0;
    sum = 0;
    grade = 0;

    printf("종료 시 음수를 입력하시오.\n");
    while (grade >= 0) // 센티널 값이 음수가 됨
    {
        printf("성적을 입력하시오. : ");
        scanf("%d", &grade);
        sum += grade;
        n++;
    }
    sum -= grade;
    n--;
    average = sum / n;
    printf("성적의 평균은 %f 입니다.\n", average);

    return 0;
}

 

do-while

: ( while 문과 달리 )적어도 한 번 반복문장을 실행한다.

do {
    문장1; // 조건문의 참/거짓에 상관없이 무조건 실행
    문장2;
    ...
} while (조건); // 조건이 참이면 반복 실행

📢 do-while 문은 보통 입력을 반복문에서 처리할 때 입력의 조건을 처리하고자 할때 이용한다.

#include <stdio.h>

int main()
{
    int n=0;
      do {
        printf("100이하의 정수를 입력하시오: ");
        scanf("%d", &n);
      } while (n>100);

    return 0;
}

for

: 정해진 횟수만큼 반복하는 구조

for (초기식; 조건식; 증감식){
    문장; // 조건식이 참이면 문장 반복 실행
    ...
}
#include <stdio.h>

int main(void)
{
    int i;

    for (i = 0; i < 5; i++)
        printf("Hello World!\n");

    return 0;
}

 

for 문의 다양한 형태

  • 무한 반복 루프
for (;;)
	printf("Hello World!\n");
  • 초기식, 조건식, 증감식 생략 가능
for (; n < 10; n++)
	printf("Hello World!\n");
  • 2개 이상 변수 초기화
for (n = 0, k = 0; n < 10; n++)
	printf("Hello World!\n");
  • 어떤 수식도 가능
for (printf("for loop"), n = 0; n < 10; n++)
	printf("Hello World!\n");

🌟for 문 syntax 주의!
[초기식; 조건식; 증감식] 의 구분으로 세미콜론(;) 을 꼭 함께 붙여야한다.


while 문과 for 문의 비교

 

중첩 반복문

: 반복문 안에 다른 반복분이 위치

 

반복문 중단

break

: 반복 루프를 빠져 나올때 사용

goto

: 반복문에서 특정 위치로 이동하고자 할때 사용

  • 키보드입력을 통한 중단점 설정
#include <stdio.h>
#include <conio.h>

int main(void)
{
    int i, j;

    for (j = 1; j < 1000; j++)
    {
        for (i = 1; i < 50; i++)
        {
            if (kbhit()) goto OUT;
            printf("*");
        }
        printf("\n");
    }
    OUT:
    return 0;
}

💡

  • kbhit() 함수
    : 키보드의 입력이 있는지 확인
    키보드 입력 발생 시 true 값 반환
  • getch() 함수
    : 키보드의 입력이 있을 때까지 대기
    키보드 입력 발생 시 키 값 반환

<conio.h> 헤더파일 내에 구현 되어있다.

 

continue

: 현재의 반복을 중단하고 다음 반복 실행

 

 

 

 


 

 

 

 

반복문

반복

www.notion.so

 

아래 노션 페이지에 C 공부 내용에 대해 업로드 합니다!

수정사항이나 질문사항의 경우 노션 댓글로 남겨주세요!(*•̀ᴗ•́*)و ̑̑

 

 

 

C 언어 이론 정리

조건문, 반복문 사용 시 중괄호로 명령문들 묶어주기 - 명령문 1개일 때 포함 (코드 수정 시 오류 방지)

www.notion.so

 


 

개발 환경

Visual Studio 2019
Visual Studio Code

작성 플랫폼

Notion

 

728x90

'🧑‍💻 Language > C·C++' 카테고리의 다른 글

[C 이론] 9. 함수와 변수  (0) 2021.05.13
[C 이론] 8. 함수  (0) 2021.05.06
[C 이론] 6. 조건문  (0) 2021.05.03
[C 이론] 5. 수식과 연산자  (0) 2021.05.03
[C 이론] 4. 변수와 자료형  (0) 2021.05.03