JUST GO

[C] 반복문(2) 본문

C/학습내용

[C] 반복문(2)

root_go 2022. 10. 5. 10:26

while문을 이용하여 별모양 만들기

#include <stdio.h>

int main(void) {
	int i = 0;
	int j = 0;
	while (i < 5) {
		while (j < i) {
			printf("o");
			j++;
		}
		if (i <= j)
			printf("*");
		j = 0;
		printf("\n"); // 
		i++;
	}
	return 0;
}
 

break문

- switch문 안에 사용하면 제어의 흐름이 switch를 탈출해서 switch의 다음 문장으로 이동한다.

- for, while, do while 등의 반복문 안에서 사용하면 반복문을 빠져나가게 된다.

 

break의 사용

#include <stdio.h>

int main(void) {
	int i;

	for (i = 10; i > 0; i--)
	{
		if (i % 3 == 0)
			break;
		printf("%d ", i);
	}
	printf("\n");

	return 0;
}
 

break문을 활용하여 짝수 출력하기

#include <stdio.h>

int main(void) 
{
	int i;

	for (i = 10; i > 0; i--)
	{
		if (i % 2 == 0) // 루프 탈출 조건			
		printf("%d ", i);
	}
	printf("\n");

	return 0;
}
 

break의 활용

- 무한 루프와 break를 이용하면 원하는 위치에서 루프 탈출 조건을 검사해서 루프를 빠져나올 수 있다.

 

continue문

- 루프의 시작이나 끝 부분으로 이동한다.


continue의 사용 예

#include <stdio.h>

int main(void) 
{
	int i;

	for (i = 10; i > 0; i--)
	{
		if (i % 3 == 0) // 루프 탈출 조건	
			continue;
		printf("%d ", i);
	}
	return 0;
}
 

continue의 수행 순서

- for문 안에서 continue를 for의 시작 부분으로 이동해서 루프를 반복한다.

 

goto문

- 제어의 흐름을 프로그램의 특정 위치로 이동

- 레이블 : 이동할 문장을 가리킨다.

- 레이블 이름과 콜론 사용

- 꼭 필요한 경우가 아니면 goto문을 사용하지 않는 것이 좋다.

- 한꺼번에 여러 개의 루프를 탈출해야 할 때 유용


return문

- 프로그램 수행 중에 return문을 만나면 함수를 호출한 곳으로 되돌아간다.

- 리턴 값이 있는 함수에서는 return 다음에 값을 써주고, 리턴 값이 없는 함수에서는 return만 써준다.

 

return 사용 예

#include <stdio.h>

int main(void) 
{
	int i;

	for (i = 10; i > 0; i--)
	{
		if (i % 3 == 0)
			return 1; // main 함수를 리턴시킨다.(프로그램 종료)
		printf("%d ", i);
	}
	printf("\n");

	return 0;
}
 

하나의 정수를 입력 받아서, 그 수의 제곱의 결과를 출력하는 프로그램을 작성

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) 
{
	int i;
	char yesno;

	do {
		printf("하나의 정수를 입력 : ");
		scanf("%d", &i);
		printf("%d의 제곱 : %d\n", i, i * i);
		printf("계속 하시겠습니까(Y/N)? ");
		scanf(" %c", &yesno);
	} while (yesno == 'Y' || yesno == 'y');

	return 0;
}
 

#include <stdio.h>

int main(void) 
{
	int i, j, k; // 변수 3개 사용

	for (i = 0; i < 5; i++) { // 반복할 횟수를 위한 for문
		for (j = i; j < 4; j++) { // 빈공간을 만들기 위한 for문
			printf(" ");
		}
		for (k = 0; k < i * 2+1; k++) { // 피라미드 모양을 위한 for문
			printf("*");
		}
		printf("\n");
	}
	return 0;
}

 

 

'C > 학습내용' 카테고리의 다른 글

[C] 배열  (0) 2022.10.06
[C] 함수  (0) 2022.10.06
[C] 반복문  (1) 2022.10.05
[C] 제어문(switch문)  (0) 2022.10.05
[C] 제어문(if문)  (0) 2022.10.05