FastCampus All-In-One 패키지 중 C/C++ 수업을 듣고 정리한 자료입니다.
실행환경: Windows 10
학습목표
- 반복문을 이용해 특정 조건이 부합할 때 특정한 명령어를 반복해보자.
- 구구단 등의 예제를 작성해보며 내부원리를 이해.
FOR문
for (초기화; 조건; 반복 끝 명령어) {
// 반복적으로 실행할 부분
}
- FOR문 내부의 조건에 부합하면 계속해서 특정 구문 실행
- 반복문을 탈출하고자 하는 위치에 break구문 삽입
FOR문 예시
1부터 N까지의 합 출력하기
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void) {
int n, sum = 0;
printf("n을 입력하세요. ");
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
sum = sum + i;
}
printf("%d\n", sum);
system("pause");
}
결과
n을 입력하세요. 10
55
계속하려면 아무 키나 누르십시오 . . .
무한 루프(Infinite Loop)
for (초기화; 조건; 반복 끝 명령어) {
// 조건이 항상 참(true)인 경우 무한 루프 발생
}
- 종료 조건 없이 한없이 반복되는 반복문
- 일부러 발생시키는 경우도 있으나 보통은 개발자의 실수
- 컴퓨터의 성능상 좋지 않기 때문에 하지 않는것이 좋음
무한 루프 예시
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void) {
for (int i = 0; i <= 100; i--) {
printf("Hello World!\n");
}
system("pause");
}
i--
-i
를 0부터 계속 -1씩 해준다.- 그렇게 되면
i <= 100
이라는 조건을 영원히 만족시키기에 무한루프
결과
Hello World!
Hello World!
Hello World!
Hello World!
.
.
.
While문
while (조건) {
// 반복적으로 실행할 부분
}
- While문의 조건에 부합하면 계속해서 특정한 구문 실행
- 반복문을 탈출하고자 하는 위치에 break구문 삽입
While문 예시
특정 문자 N번 출력하기
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void) {
int n;
char a;
scanf("%d %c", &n, &a);
while (n--) {
printf("%c ", a);
}
system("pause");
return 0;
}
결과
10 f
f f f f f f f f f f 계속하려면 아무 키나 누르십시오 . . .
중첩된 반복문
- 반복문 내부에 다른 반복문이 존재하는 형태의 반복문
- 중첩될수록 연산 횟수는 제곱 형태로 늘어난다.
구구단 출력하기
While문
#include <stdio.h>
int main(void) {
int i = 1;
while (i <= 9) {
int j = 1;
while (j <= 9) {
printf("%d * %d = %d\n", i, j, i * j);
j++;
}
printf("\n");
i++;
}
system("pause");
}
for문
#include <stdio.h>
int main(void) {
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= 9; j++) {
printf("%d * %d = %d\n", i, j, i * j);
}
printf("\n");
}
system("pause");
}
결과
1 * 1 = 1
1 * 2 = 2
1 * 3 = 3
1 * 4 = 4
.
.
.
요약
- 반복문은
For문
과While
문이 있고 상호치환이 가능 - 의도하지 않은 무한 루프가 발생하지 않도록 유의할것
- 행렬, 그래프 등의 연산에 있어서 이중 반복문이 많이 활용됨.
Comments