.OnlineGuruji

.OnlineGuruji

Provides E-Notes,Video Tutorials And Download Links For Students In hindi

*********************************************************

*********************************************************
********************************************************************************

Breaking

Ramchandicollege Saraipali

Technology Jobs

OnlineGuru Blog मे आपका स्वागत है ब्लॉग से संबन्धित जानकारी के लिए संपर्क करें मो ॰ नम ।-9826026747(सपन कुमार दास) अपने विषय से संबन्धित अपडेट प्राप्त करने के लिए ब्लॉग पे दिये गए Bell Icon को press करें कम्प्युटर,Science,English Grammer से संबन्धित विषय की अधिक जानकारी के लिए हमारे ब्लॉग अथवा यू ट्यूब चैनल को सब्क्राइब करे ..

Sunday, December 18, 2022

December 18, 2022

फाइल क्या होते है? – What is File



 


फाइल क्या होते है? – What is File

File, बाइट्स का एक संग्रह है जो डिस्क जैसे सेकेंडरी स्टोरेज डिवाइस पर स्टोर होता है। एक सिस्टम में दो तरह की फाइलें होती हैं -:

  • Text file 
  • Binary file

#1. Text File -:

Text files सामान्य .txt फ़ाइलें होती हैं। इन टेक्स्ट फाइल्स को बनाना काफी आसान है | आप किसी भी साधारण टेक्स्ट एडिटर जैसे नोटपैड का उपयोग करके आसानी से इन टेक्स्ट फाइलों को बना सकते हैं 

जब आप इन टेक्स्ट फाइल्स को ओपन करेंगे तब आप फ़ाइल के सभी Content को plain text के रूप में देखेंगे। आप चाहे तो इन कंटेंट को आसानी से Edit या डिलीट कर सकते हैं।

#2. Binary Files -:

आपके कंप्यूटर में .bin नाम से कोई न कोई फाइल जरुरु होगी | ये जो .bin फाइल है उसे ही बाइनरी फाइल कहते है

बाइनरी फाइल्स, plain text में इनफार्मेशन स्टोर करने के बजाय बाइनरी नंबर्स ( 0 और 1) के फॉर्म में इनफार्मेशन स्टोर करते है

इन बाइनरी फाइल्स में हम ज्यादा मात्रा में डेटा स्टोर कर सकते है | चूँकि इन बाइनरी फाइल्स में इनफार्मेशन बाइनरी फॉर्म ( 0 और 1 के रूप में ) होता है इसलिए इन्हे आसानी से पढ़ा नहीं जा सकता | ये redable नहीं होते |

फाइल हैंडलिंग क्या है? (File Handling in C in Hindi)

सी लैंग्वेज में किसी भी वेरिएबल को मेमोरी तब मिलती है जब प्रोग्राम रैम में आता है | चूँकि प्रोग्राम को रैम में मेमोरी मिलती है और रैम एक वोलेटाइल मेमोरी है इसलिए प्रोग्राम के रैम से बहार जाते ही प्रोग्राम का सारा डेटा नष्ट हो जाता है

जैसे ही प्रोग्राम रैम से निकलता है वेरिएबल को मिला मेमोरी स्पेस भी deallocate हो जाता है

ऐसे में यदि हम इन वेरिएबल्स में स्टोर वैल्यू को परमानेंट स्टोर करके रखना चाहेंगे तो नहीं रख पाएंगे क्योकि वेरिएबल की लाइफ ज्यादा से ज्यादा प्रोग्राम के लाइफ के बराबर होती है जैसे ही प्रोग्राम समाप्त होता है वैसे ही वेरिएबल भी समाप्त हो जाते है

यदि हम वेरिएबल में स्टोर वैल्यू को प्रोग्राम समाप्त होने के बाद भी चाहते है तब इसके लिए हमे इन वेरिएबल में स्टोर वैल्यू को पर्मानेंटे स्टोरेज मेमोरी (जैसे कि हार्डडिस्क के अंदर फाइल्स के रूप में) स्टोर करना पड़ेगा

ऐसा करने के लिए हमें अपने प्रोग्राम में कुछ ऐसे कोड लिखने होंगे जिससे की वेरिएबल के अंदर का डेटा सेकेंडरी स्टोरेज में स्थित फाइल के अंदर सेव हो जाये और जब हम ऐसा करते है तो इसे ही फाइल हैंडलिंग जाहते है

फाइल हैंडलिंग एक ऐसा तरीका है जिसमे हम प्रोग्राम के डेटा को डिस्क फाइल्स में परमानेंटली स्टोर कर सकते है

फाइल हैंडलिंग के द्वारा हम प्रोग्राम में वेरिएबल्स के अंदर स्थित डेटा को सेकेंडरी स्टोरेज में आसानी से फाइल्स के अंदर स्टोर कर सकते है और हम इन फाइल्स के अंदर के डेटा हो वेरिएबल में असाइन करके पुनः उपयोग कर सकते है

सी लैंग्वेज में फाइल हैंडलिंग के द्वारा हम आसानी से फाइल्स को create, update, read, और delete कर सकते है |

फाइल हैंडलिंग को मुख्यतः तो केटेगरी में बाँटा जा सकता है -:

  • High level (standard files or stream oriented files) 
  • Low-level(system oriented files)

High level file handling लाइब्रेरी फंक्शन्स द्वारा मैनेज किया जाता है और Low-level file handling सिस्टम कॉल्स द्वारा मैनेज किया जाता है

High level फ़ाइल हैंडलिंग का उपयोग आमतौर पर किया जाता है क्योंकि इसे मैनेज करना आसान होता है

फाइल हैंडलिंग के लिए हमे अपने प्रोग्राम में कई सारे फाइल फंक्शन और ऑपरेशन्स का उपयोग करना पड़ता है

आइयें जाते है उन फाइल फंक्शन और ऑपरेशन्स के बारे में |

Functions Use In File Handling

Function

description

fopen()

नया फाइल बनाने या पहले से बने फाइल को ओपन करने के लिए |

fclose()

फाइल को क्लोज करने के लिए |

getc()

फाइल से करैक्टर को पढ़ने के लिए |

putc()

फाइल में करैक्टर write करने के लिए |

fscanf()

फाइल से सेट ऑफ़ डेटा रीड करने के लिए |

fprintf()

फाइल में सेट ऑफ डेटा लिखने करने के लिए |

getw()

फाइल से इन्टिजर रीड करने के लिए |

putw()

फाइल में इन्टिजर Write करने के लिए 

fseek()

स्थिति को वांछित बिंदु पर सेट करने के लिए |

ftell()

फाइल में वर्तमान स्थिति प्रदान करने के लिए |

rewind()

स्थिति को फाइल के शुरुवात में सेट करने के लिए |

ऊपर मैंने अभी जितने भी फंक्शन्स के बारे में बताया है ये सभी फंक्शन्स फाइल हैंडलिंग में उपयोग होने वाले फंक्शन थे जिनका उपयोग निचे हम प्रोग्राम बनाते समय करने वाले है

ऐसा हो सकता है कि आपको अभी इन फंक्शन्स का उपयोग अच्छे से समझ न आया हो मगर आगे जब हम फाइल हैंडलिंग के बारे में पढ़ेंगे तब आपको इन सभी फंक्शन के बारे में अच्छे से जानकारी हो जाएगी

यदि आपको इन फंक्शन के उपयोग के बारे में अलग से आर्टिकल चाहिए तो निचे कमेंट में बताये यदि ज्यादा लोगो का comment आता है तो मैं इन फंक्शन के बारे में अलग से आर्टिल्स लिखकर बताऊंगा

आइये अब हम कुछ फाइल ऑपरेशन्स के बारे में जान लेते है

File Operations

सी लैंग्वेज में हम निम्न तरह के फाइल ऑपरेशन परफॉर्म करते है -:

  • Creation of a new file 
  • Opening an existing file 
  • Reading from file
  • Writing to a file 
  • Moving to a specific location in a file 
  • Closing a file

Opening or Creation of a new file 

सी लैंग्वेज में फाइल्स बनाने या बने हुए फाइल्स को ओपन करने के लिए fopen() फंक्शन का उपयोग किया जाता है | fopen() फंक्शन, stdio.h नाम के हैडर फाइल में डिफाइंड है | इसका सिंटेक्स कुछ ऐसा होता है -:

Syntax -:

FILE *fp;

fp = fopen("file_name","mode");

  • यहाँ fp एक FILE पॉइंटर है जो fopen() द्वारा ओपन किये जाने वाले फाइल को पॉइंट करेगा
  • FILE एक स्ट्रक्चर है जो फाइल से सम्बंधित इनफार्मेशन जैसे –  name, size, buffer size, current position, end of file आदि Contain करता है
  • file_name – यहाँ पर उस फाइल का नाम आएगा जिसे हम ओपन करना चाहते है

mode – फाइल में हम कौन सा ऑपरेशन (जैसे read ,write ,update) करना चाहते है इसके हिसाब से हम mode तय करते है |

Example 

FILE *fp;

fp = fopen(“fileName.txt”, “w”)

यहाँ इस उदाहरण में fileName.txt उस फाइल का नाम है जिसे हम ओपन करना चाहते है और w फाइल ओपनिंग मोड है जो बताता है कि इस फाइल को हम write ऑपरेशन परफॉर्म करने के लिए ओपन कर रहे है

सी लैंग्वेज में हमारे पास अलग अलग कंडीशन के हिसाफ से अलग अलग फाइल ओपनिंग मोड है जिनका अपना अपना उद्देश्य है आइये जानते है इन opening mode  के बारे में

File Opening Modes In C

Mode

Description

r

opens a text file in read mode

w

opens a text file in write mode

a

opens a text file in append mode

r+

opens a text file in read and write mode

w+

opens a text file in read and write mode

a+

opens a text file in read and write mode

rb

opens a binary file in read mode

wb

opens a binary file in write mode

ab

opens a binary file in append mode

rb+

opens a binary file in read and write mode

wb+

opens a binary file in read and write mode

ab+

opens a binary file in read and write mode

तो दोस्तों ये कुछ फाइल ओपनिंग mode थे जिसे हम fopen() फंक्शन के साथ उपयोग करते है

इन फाइल ओपनिंग मोड के बारे में और अच्छे से जानने के लिए आप निचे दिए गए वीडियो को एक बार जरूर देखे क्योकि आगे जो मैं आपको बताने वाला हूँ उसको समझने के लिए आपको फाइल ओपनिंग मोड के बारे में अच्छे से जानकारी जाना जरुरी है |

How fopen() function works 

  • जब भी हम fopen() Function को कॉल करते है तब यह सबसे पहले उस फाइल को जिसे आपने fopne() फंक्शन के पैरेंथेसिस में कॉल करते समय लिखा था उसे आपके कंप्यूटर डिस्क में फाइंड करता है
  • यदि fopen() फंक्शन को वो फाइल मिल जाती है तो वो इस फाइल को डिस्क से बफर स्पेस में लोड करता है और फिर फाइल को बफर से required मोड में ओपन कर देता है और यदि फाइल नहीं मिलती तो यह खुद से एक नया फाइल बना देता है और  उसे ओपन कर देता है | यह इस नए फाइल का नाम वही रखता है जैसे आपने इसके पैरेंथेसिस में रखा था

आइये fopen() फंक्शन के उपयोग को एक उदाहरण से समझते है

Example -:

#include <stdio.h>
int main()
{
   FILE * fp;
   if (fp = fopen("hello.txt", "r"))
   {
      printf("File opened successfully in read mode");
   }
   else
   printf("The file is not present! cannot create a new file using r mode");
   fclose(fp);
   return 0;
}

Output -:

The file is not present! cannot create a new file using r mode

Program explanation -:

  • इस प्रोग्राम में हमने सबसे पहले एक fp नाम से एक फाइल पॉइंटर बनाया जो fopen() फंक्शन द्वारा ओपन होने वाले फाइल को पॉइंट करता है
  • fopen() फंक्शन के द्वारा हमने फाइल को read मोड में ओपन करने की कोशिश की, मगर फाइल ओपन नहीं हुवा क्योकि हमारे डिस्क में इस नाम से कोई फाइल नहीं था इसलिए फाइल ओपन नहीं हुवा और result में else वाला स्टेटमेंट रन हुवा
  • यदि इस फाइल को हम write मोड में ओपन करते तो नया फाइल बन कर ओपन हो जाता. मगर read मोड में कोई फाइल तभी ओपन होती है जब वो पहले से हमारे डिस्क में मौजूद हो मगर इस प्रोग्राम में हमारे डिस्क में इस नाम से कोई फाइल नहीं था इसलिए नया फाइल नहीं बना
  • प्रोग्राम के आखिर में हमने fclose() फंक्शन का उपयोग करके फाइल को क्लोज कर दिया |

Closing a File

जैसे की मैंने आपको ऊपर बताया है, किसी भी फाइल को close करने के लिए fclose() फंक्शन का उपयोग किया जाता है | fclose() के द्वारा हम कसी भी फाइल को आसानी से बंद कर सकते है |

वैसे तो सी लैंग्वेज में प्रोग्राम समाप्ति के साथ ही फाइल्स क्लोज हो जाते है Syntax -:

fclose (file_pointer);

Reading from file

किसी फाइल को रीड करने के लिए सबसे पहले उस फाइल को रीड मोड “r”  में fopen फंक्शन द्दारा ओपन करना पड़ता है

फाइल को ओपन करने के बाद फाइल के अंदर के डेटा को रीड करने के लिए सी लैंग्वेज में हम कुछ फंक्शन का उपयोग करते है |

  • fgetc()
  • fgets()
  • fscanf()

1. fgetc(file_pointer) -:  यह फ़ाइल पॉइंटर द्वारा इंगित फ़ाइल से अगला करैक्टर रिटर्न करता है। जब यह फ़ाइल के अंत तक पहुँच जाता है, तब यह फ़ंक्शन EOF (End of File) लौटाता है। 

Example -:

#include <stdio.h>
#include <stdlib.h>
int main()
{
     /* Pointer to the file */
     FILE *fp1;
     /* Character variable to read the content of file */
     char c;
 
     /* Opening a file in r mode*/
     fp1= fopen ("C:\\myprogram.txt", "r");
 
     /* Infinite loop –I have used break to come out of the loop*/
     while(1)
     {
        c = fgetc(fp1);
        if(c==EOF)
            break;
        else
            printf("%c", c);
     }
     fclose(fp1);
     return 0;
}

2. fgets() -: यह फ़ाइल से n-1 करैक्टर पढ़ता है और स्ट्रिंग को एक बफर में संग्रहीत करता है जिसमें NULL करैक्टर ‘\0’ को अंतिम करैक्टर के रूप में जोड़ा जाता है।

Syntax -:

 fgets(buffer, n, file_pointer);

3. fscanf() -: इसका उपयोग डेटा को analyze करने के लिए किया जाता है। यह फ़ाइल से characters को पढ़ता है

यह scanf फंक्शन की तरह space or newline आने पर रीडिंग बंद कर देता है

Syntax -: 

fscanf(file_pointer, conversion_specifiers, variable_adresses);

Example -:

FILE *fp
fp = fopen (“file.txt”, “r”);
fscanf (fp, "%s %s %s %d", str1, str2, str3, &date);

Writing to a file 

फाइल के अंदर राइटिंग ऑपरेशन परफॉर्म करने के लिए सबसे पहले आपको उस फाइल को write मोड “w” में ओपन करना होगा

यदि आप फाइल को किसी दूसरे मोड जैसे “r” मोड में ओपन करते है तो आप फाइल में राइटिंग ऑपरेशन परफॉर्म नहीं कर सकते यदि आप ऐसा करने की कोशिस करेंगे तो कम्पाइलर आपको error देगा

फाइल को write मोड “w” में ओपन करने पर यदि वो फाइल पहले से आपके डिस्क में मौजूद नहीं है तो fopen() फंक्शन आपके लिए एक नया फाइल क्रिएट करके उसे ओपन कर देगा और यदि फाइल पहले से मौजूद है तो यह फाइल में पहले से लिखे डेटा को हटा देगा और नए आने वाले डेटा को फाइल में Enter कर देगा

फाइल ओपन होने के बाद फाइल में write करने के लिए fprintf, fputc और fputs फंक्शन का उपयोग किया जाता है

इन तीनो फंक्शन का कार्य सामान है ये आप पर डिपेंड करता है कि आप किसका उपयोग करते है

Example -:

यहाँ मैं आपको fprinf फंक्शन का उपयोग करते हुए फाइल में write ऑपरेशन परफॉर्म करके दिखा रहा हु -:

#include <stdio.h>
#include <stdlib.h>
 
int main()
{
   char ch;
   FILE *fp;
   fp = fopen("C:\\myprogram.txt","w");
 
   if(fp == NULL)
   {
      printf("Error");   
      exit(1);             
   }
 
   printf("Enter any character: ");
   scanf("%c",&ch);
 
   /* You can also use fputc(ch, fp);*/
   fprintf(fp,"%c",ch);
   fclose(fp);
 
   return 0;
}
December 18, 2022

Void pointer क्या है?

 


Void pointer क्या है? (What is Void Pointer In C In Hindi) 

जैसे की हम जानते है एक पॉइंटर केवल उसी डेटा टाइप वाले वेरिएबल का एड्रेस स्टोर करता है जिस टाइप का वो होता है उदाहरण के लिए, यदि हम int पॉइंटर डिक्लेअर करते हैं, तो यह इंट पॉइंटर फ्लोट वेरिएबल या किसी अन्य प्रकार के वेरिएबल को point नहीं कर सकता है, यानी इस पॉइंटर की मदद से हम केवल int टाइप वेरिएबल को पॉइंट कर सकता है। 

ऐसे में इस समस्या को दूर करने के लिए सी लैंग्वेज में void pointer का कांसेप्ट आया । 

Void pointer एक generic पॉइंटर है जिसका किसी भी डेटा टाइप से कोई सम्बन्ध नहीं होता यह किसी भी टाइप के वेरिएबल का एड्रेस स्टोर कर सकता है और इसे आसानी से किसी भी डेटा टाइप में टाइप-कास्ट किया जा सकता है।

Void pointer का डिक्लेरेशन साधारण पॉइंटर की ही तरह होता है मगर void pointer डिक्लेअर करते समय void कीवर्ड का उपयोग किया जाता है

इसका सिंटेक्स कुछ ऐसा होता है -:

Syntax 

void *pointer_name; 

Example :-

void *ptr;  

यहाँ void एक कीवर्ड है जिसका उपयोग करते हुए हम void pointer डिक्लेअर कर रहे है और ptr, एक void pointer है

Why we use void pointers?

हम void pointers का उपयोग इसकी reusability के कारण करते है | Void pointers  किसी भी टाइप के ऑब्जेक्ट का एड्रेस स्टोर कर सकता है और हम indirection operator का उपयोग करके उचित टाइपकास्टिंग के साथ किसी भी टाइप के ऑब्जेक्ट को पुनः प्राप्त कर सकते हैं।

Example -:

#include<stdio.h>   
void main()   
{   
//Declaration & initialization of different pointers
  int a=6; 
  float b=5.2;  
  char c='J';
   void *ptr;
 
   // assigning the address of variable 'a' 
   ptr=&a;  
   printf("value of 'a' is : %d",*((int*)ptr));  
 
   // assigning the address of variable 'b'  
   ptr=&b;  
   printf("\nvalue of 'b' is : %f",*((float*)ptr));  
 
   // assigning the address of variable 'c'  
   ptr=&c;  
    printf("\nvalue of 'c' is : %c",*((char*)ptr));  
  
}  

Output -:

value of 'a' is : 6
value of 'b' is : 5.200000
value of 'c' is : J

 

 

Explanation  -: 

ऊपर दिए गए प्रोग्राम को आप सबसे पहले एक बार अच्छे से देखे! इस प्रोग्राम में हमने एक void पॉइंटर ptr नाम से बनाया है जो अलग अलग टाइप (int, char, float) वाले वेरिएबल्स (a, b, c) का एड्रेस बारी बारी पॉइंट करता है और indirection operator तथा उचित टीपकास्टिंग का उपयोग करते हुए इनके वैल्यूज को वापस लौटता है

Advantages of Void Pointers

  • malloc() और calloc() फ़ंक्शन void pointer रिटर्न करते हैं, इसलिए इन functions का उपयोग किसी भी डेटा टाइप की मेमोरी allocate करने के लिए किया जाता है।
  • Generic functions के कांसेप्ट को implement करने के लिए सी लैंग्वेज में void pointer का उपयोग किया जाता है
  • Void pointer का उपयोग करके हम एक generic linked list भी create कर सकते हैं।

Important points 

  • Void pointer के साथ पॉइंटर अरिथमेटिक ऑपरेशन्स परफॉर्म नहीं किया जा सकता |
  • इसे dereferenced के रूप में उपयोग नहीं किया जा सकता है।

आइये इन दोनों बातों को हम उदाहरण के एक द्वारा समझते है

Dereferencing a void pointer in C

अन्य पॉइंटर्स की तरह, हम void pointers को dereference नहीं कर सकते क्योंकि कंपाइलर के पास पॉइंट ऑब्जेक्ट के बारे में कोई जानकारी नहीं होती । यदि हम नीचे दिए गए कोड को Compile करने का प्रयास करते हैं तो हमें कंपाइलर error मिलेगी।

#include <stdio.h> 

void main() 

{ 

   int a=90; 

   void *ptr; 

   ptr=&a; 

   printf("Value which is pointed by ptr pointer : %d",*ptr); 

} 

 

Monday, November 29, 2021

November 29, 2021

Loops In C Language By:-Sapan Das

Loops In C Language

इस ब्लॉग में हम c language में पाए जाने वाले विभिन्न लूप के बारे में पढेंगे

What Is Loops In C :-----

लूप कि सहायता से हम प्रोग्राम में sequence ऑफ़ statement को तब तक एक्सीक्यूट करा सकते है जब तक कि वह स्टेटमेंट दिए गए शर्त अथवा condition को पूरा नहीं करता 

प्रोग्रामिंग लूप के दो भाग होते है पहला body of loop और दूसरा control statement  जिसमे control स्टेटमेंट दिए गए condition को चेक  करता है अगर condition सही होता है तो body of loop execute होते रहता है |

लूप में control के स्थिति के आधार पर इसे दो वर्गों में विभाजित किया गया है 

1. Entry level Loop 

एंट्री control लूप में पहले condition टेस्ट होता है अगर condition सही होता है तभी body of loop एक्सीक्यूट होता है इसे हम top tested loop के नाम से भी जानते है 

2. Exit level Loop

एग्जिट  control लूप में पहले body of loop एक्सीक्यूट होता है फिर condition टेस्ट होता है अगर condition सही होता है तो फिर से body of loop एक्सीक्यूट होता है   इसे हम Bottom  tested loop के नाम से भी जानते है 


 






किसी Looping Process में मुख्यतः चार  स्टेप होते है 

1. कंडीशनल अथवा काउंटर variable को set तथा इनिशियलाइज़ करना

2. specified value को  दिए गए कंडीशन के साथ टेस्ट करते है 

3.body of loop को एक्सीक्यूट करते है 

4. Counter वेरिएबल को    Increament/ Decreament  कर update करते है 

C Language में मुख्यतः टीम प्रकार के loop पाए जाते है 

1 FOR LOOP

2. While loop

3. Do While Loop

1. for loop :--

for loop क लैंग्वेज में entry controlled loop के अंतर्गत आता है यह तीनो loop में shortest loop है क्यूंकि

इसमें loop के सभी स्टेप सिंगल लाइन में हो जाता है अर्थात initialization ,increment/ decrement और test condition एक ही लाइन में होता है 

Syntax;-

for( initialization; test-condition; increment/decrement)
{
body of the loop;
}











Prog:- Write a program to print the series from o to 10 using for loop

#include<stdio.h>

#include<conio.h>

void main()

{

int i;

clrscr();

for(i=0;i<=10;i++)

{

printf("%d\n",i);

}

getch();

}










Prog:- Write a programe to calculate the factorial of given number

#include<stdio.h>

#include<conio.h>

void main()

{

int n,i;

int fact=1;

printf("Enter any number");

scanf("%d",&n);

if(n<=0)

{

printf("Error!Factorial of Negative or zero Number does not exist");

}

else

{

for(i=1;i<=n;i++)

{

fact=fact*i;

}

printf("factorial of %d=%d",n,fact);

}

getch();

}

Output:--





Saturday, November 27, 2021

November 27, 2021

Switch Case Statement By: Sapan Das

 


C लैंग्वेज में स्विच केस स्टेटमेंट का उपयोग दिए गए विकल्पों में से किसी एक विकल्प को चुनने के लिए किया जाता है | यह एक कण्ट्रोल स्टेटमेंट स्टेटमेंट है जो हमें कई विकल्पों में से चुनने का सुविधा प्रदान करता है |

स्विच में एक expression पास किया जाता है जिसे भिन्न भिन्न केस में दिए गए विकल्पों के साथ तुलना किया जाता है और जिस भी केस विकल्प के साथ स्विच का expression match होता है उसी केस का स्टेटमेंट एक्सीक्यूट होता है यदि कोई भी केस वैल्यू स्विच expression से match नहीं होता है तो डिफ़ॉल्ट स्टेटमेंट एक्सीक्यूट होता है |

syntax:-

switch(expression)

{

case constant-1:

statement-1;

break;

case constant-2:

statement-2;

break;

case constant-3:

statement-3;

break;

-----------

..............

case constant-n:

statement-n;

break;

default :

statement;

}

उपर दिए गए syntax में constant या तो character हो सकता है या integer हो सकता है |

जब स्विच स्टेटमेंट को एक्सीक्यूट किया जाता है तो expression का मूल्यांकन किया जाता है और जिसका केस वैल्यू expression से match होता है  कण्ट्रोल को सीधे उस  स्टेटमेंट के समूह में ट्रान्सफर किया जाता है |

अगर कोई भी केस वैल्यू expression से match नहीं करता है तो default ब्लाक execute होता है  और अगर कोई भी केस वैल्यू expression से match नहीं खता है और साथ में default ब्लाक भी नहीं है तो switch द्वारा कोई भी action नहीं लिया जाता है और control स्विच से बहार ट्रान्सफर हो जाता है |

Flowchart:-



Example:-
#include<stdio.h>

#include<conio.h>

void main()

{

int n1,n2;

char oper;

printf("Enter Any Arithmatic Operator\n");

scanf("%c",&oper);

printf("Enter Any Number");

scanf("%d%d",&n1,&n2);

switch(oper)

{

 case '+':

 printf("%d+%d= %d",n1,n2,n1+n2);

 break;

case '-':

 printf("%d-%d=%d",n1,n2,n1-n2);

 break;

case '*':

 printf("%d*%d=%d",n1,n2,n1*n2);

 break;


case '/':

 printf("%d/%d=%d",n1,n2,n1/n2);

 break;

   default:

   printf("Invalid Operator");

}

getch();

}

OUTPUT:-






Prog:-Write a Menu Driven Program using Switch case for find sum of two number, area of circle and simple interest through user choice

#include<stdio.h>

#include<conio.h>

void main()

{

int choice;

Float rd,area;

int n1,n2,n;

int si,p,r,t;

clrscr();

printf("Press 1 for addition of two number\n");

printf("Press 2 for Simple Interest\n");

printf("Press 3 for Area of Circle\n");

switch(choice)

{

 case 1:

 printf("Enter any two number");

 scanf("%d%d",&n1,&n2);

 n=n1+n2;

 printf("Sum of two number=%d",n);

 break;

 case 2:

 printf("Enter any two number");

 scanf("%d%d%d",&p,&r,&t);

 si=(p*r*t)/100;

 printf("Simple Interest=%d",si);

 break;

Case 3:

printf (" Enter Radious");

scanf ("%f",&rd);

area=3.14*rd*rd;

printf ("Area of Circle=%f",area);

Break;

default:

printf("Invalid Entry");

}

 getch();

}







Prog 3:- Wriite a program to calculate consonent and vowel for given character using switch case

#include<stdio.h>

#include<conio.h>

void main()

{

 char c;

 clrscr();

 printf("Enter any character\n");

 scanf("%c",&c);

 switch(c)

{

 case 'a':

 case 'A' :

 printf("Enter character is vowel");

 break;

  case 'e' :

  case 'E' :

 printf("Enter character is vowel");

 break;

 case 'i':

 case 'I' :

 printf("Enter character is vowel");

 break;

 case 'o':

 case 'O' :

 printf("Enter character is vowel");

 break;

 case 'u':

 case 'U' :

 printf("Enter character is vowel");

break;


 default :

 printf("Enter character is consonent");

}

 getch();

 }