इस पोस्ट में बताया गया है कि C Language में Branching Statements या Control Statements in Hindi या Decision making Statements कितने प्रकार के होते हैं तथा इन्हें कितने भागों में विभाजित किया गया है। Conditional Branch Statement तथा Unconditional Branch स्टेटमेंट कितने प्रकार के होते हैं, तथा प्रोग्रामिंग लैंग्वेज सी में if, if-else, Nested-if, goto, break, continue, Switch स्टेटमेंट आदि का प्रयोग क्यों और किस प्रकार किया जाता है, तथा सी भाषा में प्रयोग किए जाने वाले सभी प्रकार के कंट्रोल स्टेटमेंट को सिंटेक्स व उदाहरण सहित दिया गया है।
C Language में Branching Statements क्या होते है।
सामान्यतः सी भाषा में लिखे गए प्रोग्राम, स्टेटमेंट के निष्पादन (execution) के लिए क्रमबद्ध रूप का अनुसरण करते हैं। अर्थात यह एक (Sequence) में execute होते हैं, परंतु कई बार हमें instructions या statements के प्रवाह (flow) को बदलने की आवश्यकता होती है।
सी भाषा ऐसे स्टेटमेंट प्रदान करती है जो निर्देशों के अनुक्रम के प्रवाह (sequence of instructions ) को बदल सकते हैं। इन कथनों को Control statement या Branching Statement कहा जाता है।
ब्रांचिंग स्टेटमेंट के प्रकार Types of Branching Statements in Hindi
सी भाषा में ब्रांचिंग स्टेटमेंट को दो श्रेणियों में विभाजित किया जा सकता है ।
- Conditional Branch Statement
- Unconditional Branch Statement
(1) Conditional Branch Statement - ऐसे स्टेटमेंट जो किसी Condition के आधार पर Program के executionके क्रम को बदल देते हैं, कंडीशनल ब्रांचिंग स्टेटमेंट कहलाते हैं इन्हें डिसीजन मेकिंग स्टेटमेंट भी कहते हैं। भाषा में कंडीशनल ब्रांचिंग स्टेटमेंट निम्नलिखित 5 प्रकार के होते हैं ।
- Simple-if
- If-else
- Nested-if
- else-if-ladder
- Switch
(1) Simple-if - if statement एक साधारण सिलेक्शन स्टेटमेंट है, इसका प्रयोग कंडीशन पर आधारित स्टेटमेंट को क्रियान्वित करने के लिए किया जाता है यदि कंडीशन सत्य (true) होती है तो, if body के अंतर्गत प्रयोग किए जाने वाले स्टेटमेंट क्रियान्वित होते हैं। इसका Syntax निम्नलिखित प्रकार का होता है ।
Syntax
If(Condition)
{
Statement1;
Statement2;
…………
Statement n;
}
उदाहरण- नीचे दिये गये प्रोग्राम में if स्टेटमेंट का प्रयोग किया गया है।
#include<stdio.h>
#include<conio.h>
void main()
{
int i;
printf(“entre any number”);
scanf(“%d”,&i);
if(i>7){
printf(“hello”) }
getch();
}
(2) If-else - if-else स्टेटमेंट एक सरल सिलेक्शन स्टेटमेंट है। इस स्टेटमेंट का प्रयोग समान्यतः दो विकल्पों में से किसी एक विकल्प के आधार पर स्टेटमेंट को क्रियान्वित करने के लिए किया जाता है। यदि if statement में दी गई कंडीशन सत्य(true) है तो इसके अंतर्गत प्रयोग किए जाने वाले स्टेटमेंट क्रियान्वित होते हैं, अन्यथा else के अंतर्गत प्रयोग किए जाने वाले स्टेटमेंट क्रियान्वित होते हैं। इसका syntax निम्न प्रकार है।
Syntax
if (Condition)
{
Statement;
}
else
{
Statement;
}
उदाहरण - नीचे दिये गये प्रोग्राम में if-else स्टेटमेंट का प्रयोग किया गया है।
#include<stdio.h>
#include<conio.h>
void main()
{
int n;
clrscr();
printf(“entre any number”);
scanf(“%d”, &i);
if(i%2==0)
{
printf(“even”);
}
else
{
printf(“odd”);
}
getch();
}
(3) Nested-if - जब एक if स्टेटमेंट के अंदर दूसरे if स्टेटमेंट का प्रयोग करते हैं तो इसे नैस्टेड लूप स्टेटमेंट कहते हैं। जब कई निर्णयों के आधार पर कोई कार्य करना होता है तो इस स्टेटमेंट का प्रयोग किया जाता है, इसलिए इसे मल्टी-वे डिसीजन स्टेटमेंट भी कहते हैं। नेस्टेड if स्टेटमेंट के कई प्रकार हो सकते हैं। इसका प्रारूप निम्न लिखित रूप में होता है।
Syntax
if(Condition) {
if(Condition)
{
Statement;
}
else
{
If(Condition)
{
Statement;
}
else
{
Statement;
}
}
यह भी पढ़े - different data type in c programming in hindi.
उदाहरण- नीचे दिये गये प्रोग्राम में Nested-if स्टेटमेंट का प्रयोग किया गया है।
#include<stdio.h>
#include<conio.h>
void main()
{
int a,b,c,big;
printf(“entre three number”);
scanf(“%d%d%d”,&a,&b,&c);
if(a>b)
{
if(a>c)
{
big=a;
}
else
{
big=c;
}
else
{
if(b>c)
{
big=b;
}
else
{
big=c;
}
}
printf(“biggest Number is %d”,big);
getch();
}
(4) else-if-ladder - else-if ladder एक nested if स्टेटमेंट का ही रूप है। इसमें नैस्टिंग केवल else भाग में ही की जाती है, if स्टेटमेंट के else भाग में क्रम से नैस्टिंग करना ही else-if-ladder कहलाता है। इसके Syntax को नीचे दर्शाया गया है।
If(condition-1)
{
Statement;
}
Else if(Condition-2)
{
Statement;
)
Else
{
Statement;
}
उदाहरण- else-if ladder का प्रयोग करके Quadratic equation का मूल(root) निकालने का प्रोग्राम।
#include<stdio.h>
#include<math.h>
Void main()
{
float a,b,c,x1,x2,disc;
printf(“entre the coefficients:”);
scanf(“%f%f%f”,&a,&b,&c);
disc= b*b-4*a*c;
if(disc>0)
{
x1=(-b+sqrt(disc))/2*a);
x2=(-b- sqrt(disc))/(2*a);
printf(“the root are distinct\n”);
printf(“X1=%f X2 = %f”, x1,x2);
}
else if(disc==0)
{
x1=x2= -b/(2*a);
printf(“the roots are equal\n”);
printf(“X1=%f X2 = %f”, x1,x2);
}
else
{
x1= -b/(2*a);
x2 = sqrt(fabs(disc))/(2*a);
printf(“the roots are complex\n”);
printf(“first root = %f+i%f\n”,1,x2);
printf(“second root = %f- i%f\n”,x1,x2);
} }
(5) Switch- स्विच केस स्टेटमेंट का प्रयोग मल्टीपल चॉइस के आधार पर किसी एक चॉइस के सत्य होने पर स्टेटमेंट्स को क्रियान्वित करने के लिए किया जाता है। स्विच केस स्टेटमेंट में केवल char या int डाटा टाइप वैल्यू को ही चॉइस के रूप में check किया जा सकता है, float value को चॉइस में check नहीं कर सकते, जबकि if स्टेटमेंट में किसी भी तरह की वैल्यू को चेक कर सकते हैं। इसका syntax निम्न प्रकार का होता है ।
syntax
Switch (variable)
{
Case expression;
Statement1;
Statement2;
Statementn;
Break;
Default;
Statement;
Break;
}
उदाहरण - नीचे दिये गये प्रोग्राम में Switch स्टेटमेंट का प्रयोग किया गया है।
#include(stdio.h>
#include<conioh>
void main()
{
char k;
printf(“entre any character”);
scanf(%c”,&k);
Switch(k)
{
case ‘a’:
printf(“Vowel”);
break;
case ‘e’:
printf(“Vowel”);
break;
case ‘I’:
printf(“Vowel”);
break;
case ‘o’:
printf(“Vowel”);
break;
case ‘u’:
printf(“Vowel”);
break;
default :
printf(“Consonent”);
break;
}
getch();
}
(2) Unconditional Branch Statement - ऐसे स्टेटमेंट जो किसी प्रोग्राम में किसी शर्त के बिना ही, नियंत्रण को एक बिंदु से दूसरे बिंदु पर ट्रांसफर कर देते हैं, अनकंडीशनल ब्रांचिंग स्टेटमेंट या अनकंडीशनल कंट्रोल स्टेटमेंट कहलाते हैं। सी भाषा में अनकंडीशनल कंट्रोल स्टेटमेंट निम्नलिखित 4 प्रकार के होते हैं।
(1) goto - सी भाषा में goto स्टेटमेंट का प्रयोग प्रोग्राम के कंट्रोल को एक बिंदु से दूसरे बिंदु पर ले जाने के लिए किया जाता है। ऐसा बिना किसी कंडीशन के होता है। इसका सिंटेक्स निम्न प्रकार है।
goto point; (जहां point एक आईडेंटिफायर है)
उदाहरण
#include<stdio.h>
#include<conio.h>
void main()
{
int I;
printf(“entre any number”);
scanf(“%d”,&i);
if(i<=3)
goto point;
else
{
printf(“this program is going to more then three times”);
}
point;
printf(“Hello cat1solution”);
getch();
}
(2) break - break स्टेटमेंट का प्रयोग प्रोग्राम के क्रियान्वयन को मध्य में ब्रेक करने के लिए किया जाता है। अर्थात यदि प्रोग्रामर किसी प्रोग्राम के एग्जीक्यूशन को बीच में ही बंद करके exit करना चाहता है, तो इसके लिए उसे break स्टेटमेंट का प्रयोग करना होगा। इसका सिंटेक्स निम्न प्रकार है ।
Syntax
break;
उदाहरण
#include<stdio.h>
#include<conio.h>
void main()
{
int number,i;
printf(“entre any number”);
scanf(“%d”,&number);
i-2;
while(i<=number-1)
{
if (number%i==0)
{
printf (“not a prime Number\n”);
break;
} }
if (i==number) {
printf (“prime Number”);
getch();
}
(3) continue - Continue स्टेटमेंट का प्रयोग Loop के कंट्रोल को Continue करने के लिए किया जाता है यह स्टेटमेंट सामान्यतः if स्टेटमेंट से संबंधित होता है। इसका syntax निम्न प्रकार प्रकार है ।
Continue;
उदाहरण
#include<stdio.h>
#include<conio.h>
void main()
{
int a,b;
for(a=1; a<=3; i++); {
for(b=1; a<=3; i++); {
if(a==b) {
Continue;
else{
printf(“%d%d\n”,a,b); } }
getch();
}
(4) return - रिटर्न स्टेटमेंट का उपयोग किसी फंक्शन के execution को समाप्त (terminate) करने और प्रोग्राम के कंट्रोल को कॉलिंग फंक्शन पर वापस करने के लिए किया जाता है, इसके अलावा यह फंक्शन द्वारा लौटाए जाने वाले मान (value) को निर्दिष्ट (specify) कर सकता है । सी प्रोग्राम के एक फंक्शन में एक या एक से अधिक रिटर्न स्टेटमेंट हो सकते हैं। इसका सामान्य प्रारूप नीचे दिया गया है ।
Syntax
return expr ;
No comments