본문으로 바로가기

[D+10] C언어 기초 (4)

category 해킹&보안/C언어 2017. 2. 20. 22:01
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

2. C언어 기초


3) 제어문 - switch ~ case


▣ switch ~ case

- 조건문의 값에 따라 다른 case의 실행문을 실행.

- 값의 참과 거짓이 아닌 값 그 자체로 결정됨.

- 조건문에는 식, 변수만 사용가능. (상수는 X)

- 주로 변수 자체로 많이 사용됨.

- 케이스 순서대로 정렬되어 있지 않아도 됨.

- break 반드시 사용! -> 실행문 실행 후 break하지 않으면 차례대로 밑에 실행문들을 다 실행.

- default : 해당되는 케이스가 없을 때 실행됨. (생략가능)

#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 == 10\n"); break;
	default:
		printf("default\n"); break;
	}

	return 0;
}

- 실행 결과


▣ break

- 제어문의 실행흐름에서 빠져나가게 해줌.

- 반복문, switch문의 실행문에서 빠져나오는 역할.

- 딱 하나의 반복문을 빠져나옴.

- 중첩되는 반복문이 있으면 자신을 둘러싸고 있는 반복문만 빠져나옴.

#include <stdio.h>

int main()
{
	char a;

	while (1)
	{
		fflush(stdin);
		scanf("%c", &a);

		if (a == 'Q')
			break;

		printf("> %c\n", a);
	}

	return 0;
}

- 실행 결과

☞ fflush() 는 visual studio 2015부터는 지원하지 않으므로 visual c++로 실행하였음.


▣ continue

- 반복문에서만 사용가능함. (switch문 X)

- 실행문에서 남은 실행문을 무시하고 다시 조건문으로 감.

- break와 continue는 남은 실행문을 건너뛰는 것은 비슷.

#include <stdio.h>

int main()
{
	char a;

	while (1)
	{
		fflush(stdin);
		scanf("%c", &a);

		if (a == 'P')
			continue;
		if (a == 'Q')
			break;

		printf("> %c\n", a);
	}

	return 0;
}

- 실행 결과





for문에서 continue를 사용하면 증감식으로 갔다가 조건식으로 감.







i2sec 대구지점 23기 수료생.

'해킹&보안 > C언어' 카테고리의 다른 글

[D+13] C언어 기초 (6)  (0) 2017.02.23
[D+12] C언어 기초 (5)  (0) 2017.02.22
[D+9] C언어 기초 (3)  (0) 2017.02.17
[D+8] C언어 기초 (2)  (0) 2017.02.16
[D+7] C언어 기초 (1)  (0) 2017.02.15