Linux C 프로그래밍 자습서 16부: Switch, Break 및 Continue 문


이 페이지에서

  1. Switch 문
  2. 중단 및 계속
  3. 결론

for, while, do...while을 포함하여 C 프로그래밍 언어에서 사용되는 몇 가지 기본 루프에 대해 이미 논의했습니다. 대부분의 사람들이 동의하듯이 이러한 루프는 기본적으로 명령이 하나 이상의 조건에서 반복적으로 실행될 때 도움이 됩니다. 따라서 프로세스에서 더 읽기 쉽게 만들면서 더 적은 코드를 작성합니다.

이러한 루프와 마찬가지로 C에서 더 나은 코드를 작성하는 데 도움이 되는 몇 가지 명령문이 있습니다. 이러한 명령문 중 일부는 Switch, Break, Continue 및 Goto입니다. 하나씩 논의합시다.

스위치 문

Switch는 기본적으로 코드를 실행하는 기준이 되는 값을 받아들이는 명령문입니다. 입력 값에 따라 실행 제어를 변경하는 것과 같은 제어문입니다.

다음은 스위치의 구조입니다.

...
...
...
switch (expression)
{
case const_val_1: //some code
break;
case const_val_2: //some code
break;
case const_val_3: //some code
break;
default: //some code
break;
}
...
...
...

그래서 여기서 expression은 switch 문에 입력으로 전달되는 값이고, expression 값과 일치하는 경우를 기준으로 해당 코드가 실행됩니다. 다음은 스위치가 코드를 덜 복잡하게 만들고 가독성을 향상시키는 작업 예제입니다.

#include <stdio.h>

int main()
{
int roll;
printf("Enter a roll number in range of 1 - 5: ");

scanf("%d", &roll);

switch(roll)
{
case 1: printf("name of student is RON");
break;
case 2: printf("name of student is ROGER");
break;
case 3: printf("name of student is SAM");
break;
case 4: printf("name of student is LUCIE");
break;
case 5: printf("name of student is DORN");
break;
default: printf("Entered roll number didn't match any candidate");
break;
}
return 0;
}

그래서 여기서는 사용자가 입력한 롤 번호가 switch 문에 입력되고 일치하는 경우에 해당하는 코드가 실행됩니다.

각 case 끝에 있는 break 문은 일치하는 case가 실행된 후 switch 문이 종료되도록 합니다. break 문이 없으면 실행 흐름은 다음 case로 들어갑니다.

기본 케이스는 스위치의 값과 일치하는 케이스가 없는 경우 사용자에게 알림을 제공하기 위한 것입니다. 기본 케이스를 갖는 것이 필수는 아니지만 항상 유용합니다.

또한 default case는 일반적으로 switch 문에서 마지막 case이므로 끝에 break를 두는 것도 필수는 아니지만 방어 프로그래밍으로 간주되므로 권장됩니다(디폴트 이후에 더 많은 case가 추가될 경우를 대비하여) 사례).

휴식과 계속

switch 외에도 break 문을 사용하여 for, while 및 do...while과 같은 루프에서 조기에 종료할 수도 있습니다.

...
...
...
for(i=0; i<10; i++)
{
//statements

if(condition)
break;

//statements
}
...
...
...

이제 계속하려고 합니다. break가 루프에서 조기 종료를 유발하는 것처럼 continue는 루프의 다음 반복을 강제합니다. while 및 do...while의 경우 조건 검사로 시작하고 for 루프의 경우 증분입니다. 단계.

다음은 for 루프 내에서 홀수를 건너뛰기 위해 continue를 사용하는 예입니다.

...
...
...
for(i=0; i<100; i++)
{
if(i%2)
continue;

//statements
}
...
...
...

스위치 자체가 루프의 일부인 경우를 제외하고는 스위치 내부에서 계속을 사용할 수 없습니다.

결론

이 자습서에서는 break, continue 및 switch 문에 대해 설명했습니다. 이러한 개념을 더 잘 이해하려면 시스템에서 이 자습서에서 공유한 예제 또는 데모 코드를 시도하십시오. 의심이나 질문이 있는 경우 아래 의견에 알려주십시오.