C پروقراملاما دیلینین، if/else ایله چوخ دولاشیق و کامپلکس تصمیم توتما و توتوشدورما باجاریقلاری وار. آنجاق بعضی واقتلار بو ایستراکچر بیراز پیس اولور.
آیری یول، switch/else دستورالعملی قوللانماقدیر.
بو بؤلومده switch/else اوچون دانیشاراق، نئچه ساییدا پوٚف نوکتهلری ده اؤگرتهجهییک. آشاغیداکی کودا بیر باخین:
#include <stdio.h>
int main ()
{
char a;
printf ("Your choice (1,2,3): ");
scanf ("%c",&a);
printf ("You typed %c.\n",a);
switch (a)
{
case '1':
puts("Excellent choice!");
break;
case '2':
puts("This is the most common choice.");
break;
case '3':
puts("I questions your judgement.");
break;
default:
puts("That’s not a valid choice.");
}
return (0);
}
switch دستوری بیر آچار تکین عمل ائدیر و بیر اینپوت اوچون، موختلیف حالتلری، مخصوص دستورالعمللر اوچون ایختیصاص وئریر.
a تکین بیر کاراکتر تعریف ائدیریک. بونو اینتیجر، اعشاری و چوخلو موتغیر توتا بیلریک.
سونرا 8-جو سطرده switch آچاری ایشلهدیریک.
if تکین ده سمی-کلون یازمیریق و دستورالعمل مجموعهسینی آچیق آکولاد ایله باشلاییریق.
قاباقکی switch آچاریندا و پارانتز آراسینداکی آچیقلانمیش a موتغیری اوچون یازیلان کئیس، توتوشدورما حالتیدیر.
ایندی بیر کاراکتر اوچون کئیس فعالدیر و بو خاص کئیسی آچان آچار، قاباغینداکی آچیقلانمیش میقدار تعریف اولور. بورادا کئیس اوچون آچار، 1 عددین کاراکتریدیر و a موتغیری 1 اولسا، اوندا بو کئیس چالیشاجاق. case سؤزوندن سونرا دا سمی-کلون یوخ بلکه کلون یازیلیر.
بوراخیش صفحهسینده اینپوت اوچون 1 یازیلسا، اوندا case 1: ایجرا اولاجاق و قالان کئیسلر اوچون ده ائله بئلهدیر.
بیر case اوچون مخصوص اولان دستورالعمللر ایسه دقیقا case value: سؤزوندن باشلاییر و break دستورالعملهجن داوام ائدهجک. یعنی بیر موشخص case اوچون ایختیصاص وئریلن دستورالعمللر، case و break آراسیندا یئر توتورلار. ائله بیلین کی اورادا گیزلی آکولاد وار.
default سئچیمی ایسه، کئیسلردن باشقا بوتون قالان حالتلر اوچوندور. گلین باشداکی پروقرامی char یئرینه یئنیدن int ایله یازاق:
#include <stdio.h>
int main ()
{
int a;
printf ("Your choice (1,2,3): ");
scanf ("%d",&a);
printf ("You typed %d.\n",a);
switch (a)
{
case 1:
puts("Excellent choice!");
break;
case 2:
puts("This is the most common choice.");
break;
case 3:
puts("I questions your judgement.");
break;
default:
puts("That’s not a valid choice.");
}
return (0);
}
کامپایل ائدین و پروقرامی چالیشدیرین.
Output Terminal
Your choice (1,2,3): 2
You typed 2.
This is the most common choice.
Process returned 0 (0x0) execution time : 5.519 s
Press ENTER to continue.
ایستهسنیز نئچه case اوچون بیرلیکده یالنیز بیر مجموعه دستورالعمل ایختیصاص وئرهسینیز، سادهجه نظرده توتدوغونوز case'لری دالی دالیسیجا یازمالیسینیز و سونرا دستورالعمل و سونرا break.
یعنی آشاغیداکی کود تکین: ۲ و ۷ و ۵ کئیسلر اوچون ۴-جو سطردهکی دستورالعمل ایجرا اولاجاق.
case 2:
case 7:
case 5:
puts("This is the compound case.");
break;