превключвател ... случай в C Програмиране

В този урок ще научите да създавате оператора за превключване в програмиране на C с помощта на пример.

Извлечението switch ни позволява да изпълним един кодов блок сред много алтернативи.

Можете да направите същото със if… else… ifстълбата. Синтаксисът на switchизраза обаче е много по-лесен за четене и писане.

Синтаксис на превключвател … случай

 switch (expression) ( case constant1: // statements break; case constant2: // statements break;… default: // default statements )

Как работи инструкцията за превключване?

Изразът се оценява веднъж и се сравнява със стойностите на всеки етикет за всеки случай.

  • Ако има съвпадение, се изпълняват съответните изрази след съответстващия етикет. Например, ако стойността на израза е равна на константа2, изрази след case constant2:се изпълняват, докато не breakсе срещне.
  • Ако няма съвпадение, изпълняват се операторите по подразбиране.

Ако не използваме break, всички изрази след съответстващия етикет се изпълняват.

Между другото, defaultклаузата вътре в switchизявлението не е задължителна.

превключване на изявление Блок-схема

Пример: Прост калкулатор

 // Program to create a simple calculator #include int main() ( char operator; double n1, n2; printf("Enter an operator (+, -, *, /): "); scanf("%c", &operator); printf("Enter two operands: "); scanf("%lf %lf",&n1, &n2); switch(operator) ( case '+': printf("%.1lf + %.1lf = %.1lf",n1, n2, n1+n2); break; case '-': printf("%.1lf - %.1lf = %.1lf",n1, n2, n1-n2); break; case '*': printf("%.1lf * %.1lf = %.1lf",n1, n2, n1*n2); break; case '/': printf("%.1lf / %.1lf = %.1lf",n1, n2, n1/n2); break; // operator doesn't match any case constant +, -, *, / default: printf("Error! operator is not correct"); ) return 0; ) 

Изход

 Въведете оператор (+, -, *,): - Въведете два операнда: 32,5 12,4 32,5 - 12,4 = 20,1

Въведеният от потребителя оператор се съхранява в променливата на оператора. И два операнда 32.5 и 12.4 се съхраняват съответно в променливи n1 и n2.

Тъй като операторът е -, контролът на програмата скача на

 printf ("%. 1lf -% .1lf =% .1lf", n1, n2, n1-n2);

Накрая изявлението break прекратява switchизявлението.

Интересни статии...