지난 편 문제
while을 써서 1에서 100까지 출력
#include <stdio.h>
int main()
{
int a = 1;
while (a<=100) {
printf("%d\n", a);
a++;
}
return 0;
}
do while을 써서 50에서 80까지 출력
#include <stdio.h>
int main()
{
int a = 50;
do {
printf("%d\n", a++);
} while (a < 81);
return 0;
}
for을 써서 100에서 20까지 출력
#include <stdio.h>
int main()
{
int a;
for (a = 100; a >= 20; a--) {
printf("%d\n", a);
}
return 0;
}
switch case
#include <stdio.h>
int main()
{
int a = 10;
switch (a)
{
case 1:
{
printf("a==1\n"); break;
}
case 5:
{
printf("a==5\n"); break;
}
case 10:
{
printf("a==1\n"); break;
}
default:
{
printf("default\n"); break;
}
}
return 0;
}
조건에 맞는 경우에 찾아가는 형태입니다.
switch() 안에는 식이나 값이 올 수 있습니다.
그러나 case에는 상수가 올 수 있고 변수나 실수는 안됩니다.
또한 : 콜론을 쓴다는 것도 유의해야 할 점입니다.
break는 만나면 빠져나온다는 의미입니다.
만약에 위에서 break를 뺀다면
a==10을 출력하고
default까지 출력을 해버립니다.
또한 a를 1로 초기화 한 후 break를 뺀다면
a==1
a==5
a==10
default까지 출력 됩니다.
이런 break의 특징을 잘 확인하시기 바랍니다.
break
#include <stdio.h>
int main()
{
int a = 1;
while (a) {
printf("Test...\n");
break;
}
return 0;
}
while(1)인 경우 무한 루프가 되는데
break를 만나서 1회 출력만 되고 루프문을 빠져나오는 형태입니다.
#include <stdio.h>
int main()
{
int a = 1;
while (a)
{
if (a>100)
{
break;
}
printf("a : %d\n", a++);
}
return 0;
}
a 가 1부터 100까지 출력 후
a가 101이 되면 if 문이 참이 되면서 break를 만나서 종료되는 형태입니다.
continue
#include <stdio.h>
int main()
{
int a = 1;
while (a)
{
if (a>110)
{
printf("break\n");
break;
}
if (a>100)
{
a++;
printf("continue\n");
continue;
}
printf("a : %d\n", a++);
}
return 0;
}
1~100 출력 후 a가 101이 될 때
두 번째 if 문이 참이 되므로 a++ 한 후 continue 출력
continue를 만나면 아래를 건너뛰고 다시 while의 조건 검사로 가게 됩니다.
그래서 a가 110 됐을 때 마지막으로 continue를 출력한 후
a가 111이 되면 처음 if 문이 참이 되므로 break를 출력하고
break를 만나면서 반복문을 빠져나오게 됩니다.
그리고 중요한 점은
break와
continue는
루프 내에서만 사용이 가능합니다.(switch case 예외)
'컴퓨터 프로그래밍 > C' 카테고리의 다른 글
C언어 변수 (지역/전역변수) (0) | 2019.07.23 |
---|---|
C언어 rand() srand() time() 함수 (난수 생성) (0) | 2019.07.23 |
C언어 제어문 (while / do while / for) (0) | 2019.07.18 |
C언어 제어문 (if / if else / else if) (0) | 2019.07.18 |
C언어 증감 연산자 / 캐스팅 연산자 / sizeof 연산자 (0) | 2019.07.18 |