C :: 반복문 while, for, do-while, 무한반복문

J·2024년 5월 21일

C언어

목록 보기
6/18
post-thumbnail

반복문

: "지정된 횟수만큼" 동일한 명령문을 "반복"하는 구문
"지정된 횟수만큼" => 특정 조건식에 대한 참/거짓으로 책정
조건식을 통해서 얼마나 반복할지 결정이 됨
.
"반복문은 어느 시점에서는 반드시 끝나게끔 설정하라."

while

while (조건식) {
		조건식을 충족할 때마다 수행할 명령문
}

ex.

int num = 1;		// num 변수 값을 "변화"시키면서 출력에 활용할 예정
	while (num <= 5) {
		printf("%d\n", num);	// 현재 num값 출력
		num++;					// num에 1을 추가
	}
	// num이 증가를 연이어 하다가, 6이 되는 순간 빠져나올 것.

for

제어변수 : 반복문 수행에 의해 변할 수 있는 변수, "반복활 횟수"를 결정할 임의의 변수 i

for (제어변수 초기화; 조건식; 제어변수 연산) {
	 조건식이 성립할 때 반복 수행할 명령문
}

ex.

printf("for문을 통항 1~5 숫자 출력\n");
for (int num = 1; num <= 5; num++) {
	printf("%d\n", num);
}

do-while

반드시 "한번은 실행"이 되는 반복문
우선은 실행을 하고 -> 조건을 따지면서 반복을 할지 결정 (반복)

do {
		적어도 한번은 수행할 명령문
} while (조건식);

ex.

int i = 1;
	do {
		printf("%d\n", i);
		i++;
	} while (i <= 10);
조건식에 상관없이 무조건 한번은 실행
int tf = 0;
do {
	printf("do-while문이 실행되었습니다.\n");
} while (tf != 0);

무한반복문

=> 반복할 횟수를 정하기 위한 조건식을 당장 짤 수 없는 상황
=> 일단 우선은 반복문을 돌려야 함 -(무한 반복문의 원리)

while (true) {		// 조건식 내용 :: "참(true)"
		// 조건에 따지지 않고 반드시 이 반복문 안에 들어옴
        
        // 무한 반복문을 작성할 때에는, 반복문 안에서 중단점을 따로 만들어야 함.
		// "강제 종료, 반복문 탈출" => break;
        }

ex.

while (true) {		
		int a, b;
		scanf("%d %d", &a, &b);

		if (a == 0 && b == 0) { break; }

		printf("%d\n", a + b);
	}

강제종료, 중단점

break : "강제 중단" -> 현재 속해있는 {} 쌍을 탈출
continue : "계속", 실행하던 반복문 수행을 중단하고, 반복문의 처음으로 돌아간다.(반복문 탈출x)

ex.

// 예제 :: n부터 m까지의 숫자들 중 짝수만 출력
	// 1. n,m 입력받기
	int n, m;
	scanf("%d %d", &n, &m);

	// 2. n ~ m 사이의 숫자들 하나씩 탐색
	for (int i = n; i <= m; i++) {
		// 짝수만 출력
		/*if (i % 2 == 0) {
			printf("%d ", i);
		}*/

		// 홀수인 경우에는, 반복문의 처음으로 돌아가게끔 한다
		if (i % 2 != 0) {
			printf("continue 수행\n");
			continue;					// for문의 i++로 올라가서 다시 돌아감.
		}
		printf("continue 수행하지 않음\n");
		printf("%d ", i);
	}
profile
나야

0개의 댓글