Header Ads

ad728
  • New Updates

    Switch Statement


    Switch Statement

    जब हम किसी प्रोग्राम में ढेर सारी if Conditions का प्रयोग करते हैं , तो प्रोग्राम बहुत जटिल हो जाता है | इस वजह से प्रोग्राम को समझना व पढ़ना काफी मुश्किल हो जाता है | इस कठिनाई से बचने के लिए हम एक और Control Statement switch का प्रयोग करते हैं |

    जिस तरह if Condition एक Two – Way Condition Statement है , उसी तरह switch एक Multi – way condition Statement है | यह बिल्कुल if – else if – else के जैसा ही काम करता है | इसकी सामान्य संरचना निम्नानुसार होती है |

    कार्यप्रणाली – इस संरचना में value 1, value 2 .. value n expression या variable है , जिन्हें case label कहा जाता है | ये सभी मान अलग – अलग  होने चाहिये | Statement or Statement Block 1 , Statement or Statement Block 2 , … Statement or Statement block n Statements का समूह है | इन Statements के समूहों में एक से अधिक Statements होने पर भी मंझले कोष्टक की जरुरत नहीं होती है | फिर भी यदि ये कोष्टक लगा दिए जाएं तो भी “C” Compiler कोई परेशानी नहीं करता है |

    Switch Statement के Execution के लिए सर्वप्रथम Variable या expression के मान की तुलना क्रम से एक – एक करके Value 1 , Value 2 …. Value n से की जाती है और जहां भी ये मान मिल जाता है , उस case Label के अनुसार लिखे गए Statements का Execution हो जाता है |

    इस संरचना में सभी Statements Block के बाद break लिखा जाता है | यह Statements के समूह का अंत दर्शाता है व Statements Block के Execution के बाद प्रोग्राम Control के Switch Statement के बाहर Sequential Statement a पर ले जाता है |

    यदि यह break न लिखा जाए तो Statement Block से Execution के बाद भी Program control Switch Statement Block के अंदर ही रहता है और आगे के Statement का Execution करता रहता है | जब तक इसे कोई Break Statement नहीं मिल जाता , तब तक ये सभी Labels के Statement Block का Execution करता रहता है |

    Switch Statement के लिए दी गई संरचना में default case label एक Optional Label है | यदि यह switch Statement में होता है व expression या Variable का मान switch Statement में दिए गए किसी भी Statement से मेल नहीं करता , तो Program Control default Case label पर चला जाता है और इसके अंतर्गत दिए गए Statement का Execution कर देता है | Switch Case labels को हम किसी भी क्रम में रख सकते हैं , यानी चौथे स्थान का Case प्रथम स्थान पर, प्रथम स्थान का case तीसरे स्थान पर | default Statement को भी किसी भी स्थान पर रख सकते हैं |

    अब हम पिछले प्रोग्राम को ही switch Statement द्वारा लिखते हैं | इस प्रोग्राम में दो Variable define किए गए हैं | एक Variable marks का Input लेता है | फिर marks में 10 का भाग दिया है ताकि कुल 10 Situation हो जाए और प्राप्त मान को a को assign किया गया है |  अब जब कोई मान माना कि हमने 55 Input किया तो 55/10 = 5 a को assign हो जाता है |

    ध्यान दे कि यहां 55/10 का मान 5.5 होता है , लेकिन a int प्रकार का variable है , इसलिए  यह दशमलव के भाग को छोड़ देता है और केवल पूर्णांक संख्या को ही accept करता है | अब switch Statement में  a का मान check होता है कि a का मान किस case से मेल कर रहा है | क्योंकि a का मान 5 है |

    इसलिए switch Statement के case 5 के Statement Block का Execution हो जाता है और Output में SECOND DIVISION print हो जाता है | Statement Print होते ही Program Control को break मिलता है और Program Control Switch Statement Block से बाहर आ जाता है | यदि हम कोई ऐसा अंक जो कि 39 से कम है , देते हैं तो कोई case मेल नहीं करता और switch के default  statement का Execution हो जाता है |

    ये प्रोग्राम बना कर विभन्न मान दें और प्रोग्राम की testing करें | जब प्रोग्राम को Develop करके पहले से ज्ञात विभन्न मानों द्वारा प्रोग्राम का Execution करके प्राप्त होने वाले Output को Accuracy के लिए  check किया जाता है , तो इस प्रक्रिया को प्रोग्राम की Testing करना कहते हैं |

    चलिए , अब हम switch Statement को समझने के लिए एक उदाहरण Program बनाते हैं | ये उदाहरण Program किसी Student के Marks के उधार पर Student का Grade Output में Display करता है | Program निम्नानुसार है |

      
    /* Example of Switch Condition Statement */
    
    #include<stdio.h>
    main()
    {
    	int marks , a;
    	
    	
    	printf("\n Enter Marks :");
    	scanf("%d",&marks);
    	
    	a = marks/10;
    	
    	switch(a)
    	{
    		case 10:
    		case 9:
    		case 8:
    			printf("HONOURS");
    			break;
    			 case 7:
    			 case 6:
    				printf("FIRST DIVISION");
    				break;
    				 case 5:
    					printf("SECOND DIVISION");
    					break;
    					 case 4:
    						printf("THIRD DIVISION");
    						break;
    						  default:
    							printf("FAIL");
    							break;
    	}
    	getch();
    }
    

    Example

    एक प्रोग्राम लिखो जिसमें User जिस भी रंग का प्रथम अक्षर Input करें .. Output में उस रंग का नाम आ जाए |

     

      
    #include<stdio.h>
    main()
    {
    	char a;
    	
    	printf("Enter  the character:\n");
    	scanf("%c",&a);
    	fflush(stdin);
    	
    	switch(a)
    	{
    		case 'R':
    		case 'r':
    			printf("\n Color is red\n");
    			break;
    				
    			case 'G':
    			case 'g':
    				printf("\n Color is green\n");
    				break;
    						
    				case 'b':
    				case 'B':
    					printf("\n Color is blue\n");
    					break;
    								
    					default:
    						printf("Color is found");
    						break;
    								
    	}
    	getch();
    }
    
    

    No comments

    Post Top Ad

    ad728

    Post Bottom Ad

    ad728