1.1. 무한 루프, break & continue ¶
반복문을 쓰다 보면 무한히 반복하게 해야할 때가 있습니다.
무한 반복문은 이렇게 만들 수 있죠.
무한 반복문은 이렇게 만들 수 있죠.

[PNG image (8.38 KB)]

[PNG image (9.49 KB)]
근데 프로그램을 종료하려면 언젠가는 반복문을 빠져나와야 하는데,
무한루프에서는 어떻게 빠져나오죠?
그 때 break문을 이용하면 됩니다.
break를 만나면 바로 반복문 밖으로 빠져나오게 되지요.
무한루프에서는 어떻게 빠져나오죠?
그 때 break문을 이용하면 됩니다.
break를 만나면 바로 반복문 밖으로 빠져나오게 되지요.

[PNG image (17.51 KB)]
그런데 완전히 빠져나오고 싶지는 않고
뒷부분을 skip하고 싶을 때도 있죠.
그 때 사용하는 것이 continue입니다.
뒷부분을 skip하고 싶을 때도 있죠.
그 때 사용하는 것이 continue입니다.

[PNG image (17.89 KB)]
continue를 만나면 뒷 부분을 건너 뛰고 다시 처음부터 반복하게 됩니다.
그러나 사실 이 경우는 뒷부분이 항상 실행이 안 되기 때문에 있으나마나죠.
그래서 break와 continue는 조건문과 같이 쓰입니다.
그러나 사실 이 경우는 뒷부분이 항상 실행이 안 되기 때문에 있으나마나죠.
그래서 break와 continue는 조건문과 같이 쓰입니다.
while(true){
code1...
code2...
if( 조건1 ) break; // 조건1을 만족하면 while문을 빠져나와라
code3...
code4...
if( 조건2 ) continue; // 조건2를 만족하면 code5를 실행하지 말고 다시 code1부터 실행해라
code5...
}
1.2. 배열 ¶
배열은 변수 여러 개를 모은 것입니다.
성적 처리 프로그램을 만든다고 합시다.
학생 100명의 성적을 저장해야 해요.
그러면 변수 100개를 일일이 선언하실 건가요? 너무 귀찮죠.
그 때 배열을 이용하면 100개라 할지라도 간편하게 선언할 수 있습니다.
학생 100명의 성적을 저장해야 해요.
그러면 변수 100개를 일일이 선언하실 건가요? 너무 귀찮죠.
그 때 배열을 이용하면 100개라 할지라도 간편하게 선언할 수 있습니다.

[PNG image (12.27 KB)]
배열은 메모리상에서 이렇게 나타낼 수 있습니다.

[PNG image (12.79 KB)]
그렇다면 원소가 n개일 때,
마지막 원소는 n-1번입니다.
i번 원소는 i+1번째 원소이지요.
마지막 원소는 n-1번입니다.
i번 원소는 i+1번째 원소이지요.
4.1. 현지 ¶
/*
* 1. n을 증가시키는 부분이 있어야 한다.
* 2. #include <iostream>은 C++에서 쓰는 것!
* 3. "입력한 숫자의 합" 출력하고 scanf_s로 입력을 기다리고 있다능
* 4. num[i]에 숫자를 담고나서 i를 1씩 증가시켜야 다음 칸에 숫자가 담기겠지용
*/
#include <stdio.h>
#include "stdafx.h"
int main(void)
{
int i = 0;
int n = 0;
int num[100];
int sum = 0;
for (;;)
{
printf("\n숫자를 입력하세요");
scanf_s("%d", &num[i]);
if (num[i] > 0)
{
sum = sum + num[i];
}
else if (num[i] < 0)
{
printf("\n음수를 입력하셨습니다. \n다시 입력하세요");
continue;
}
else {
printf("\n프로그램을 종료합니다.");
break;
}
}
printf("입력한 숫자의 합:%d ",max);
int max = 0;
for (i = 0; i < n; i++)
{
if (num[i] > max)
{
max = num[i];
}
}
printf("가장 큰 수는 %d입니다.\n", max);
system("pause");
return 0;
}
4.2. 혜민 ¶
/*
* biggest 초기화
*/
#include<stdio.h>
int main() {
int n,sum=0,biggest;
for ( ; ; ) {
printf("숫자를 입력하세요 : ");
scanf("%d", &n);
if (n > 0) {
sum = sum + n;
if (biggest < n) {
biggest = n;
}
}
else if (n < 0) {
printf("음수를 입력하셨어요. 다시 입력하세요.\n");
continue;
}
else {
printf("프로그램을 종료합니다.");
break;
}
}
printf("입력한 숫자의 합 : %d",sum);
printf("가장 큰 수는 %d입니다.", biggest);
return 0;
}
5.1. 물주는사람 ¶
실습 난이도가 조금 높았나 싶기도 하지만, 난이도가 문제가 아니라
제가 좀 더 명료하고 쉽게 가르쳐줘야겠다는 생각이 들었습니당
새싹들의 무한한 잠재력을 꺼내주고 싶어요!
제가 좀 더 명료하고 쉽게 가르쳐줘야겠다는 생각이 들었습니당
새싹들의 무한한 잠재력을 꺼내주고 싶어요!












