C भाषा पुनरावृत्ति प्रक्रिया पूर्ण व्याख्या|for·while·do…while को भिन्नता र प्रयोग

目次

1. परिचय

C मा “लूप” भनेको के हो?

सी भाषाले सानो र प्रभावकारी कोड लेख्न सक्ने कारणले, आज पनि धेरै कार्यस्थलहरूमा प्रयोग हुने प्रोग्रामिङ भाषा हो। त्यसमा पनि「लूप」लगभग सबै प्रोग्रामहरूमा देखा पर्नु सामान्य कुरा हो।

पुनरावृत्ति प्रक्रिया भनेको, निश्चित प्रक्रियालाई धेरै पटक स्वचालित रूपमा निष्पादन गर्ने संयन्त्र हो। उदाहरणका लागि, 1 देखि 10 सम्मको संख्या देखाउने, वा प्रयोगकर्ताबाटको इनपुटलाई सर्त अनुसार धेरै पटक स्वीकार्ने अवस्थामा प्रयोग गरिन्छ।

किन「लूप」महत्त्वपूर्ण छ?

यदि पुनरावृत्ति प्रक्रिया नहुँदा, एउटै कोडलाई धेरै पङ्क्तिमा म्यानुअली लेख्नुपर्छ। यसले मर्मत सम्भार कम हुन्छ, बगको स्रोत बन्ने सम्भावना बढ्छ, र सम्पूर्ण प्रोग्राम बेजोड हुन्छ।

त्यसैले सी भाषामा, तलका 3 वटा आधारभूत「लूप」को संरचना उपलब्ध छन्।

  • for लूप:संख्याको स्पष्ट निर्धारण भएको पुनरावृत्तिमा प्रयोग गरिन्छ
  • while लूप:सर्त पूरा हुने सम्म प्रक्रिया जारी राख्न चाहँदा प्रयोग गरिन्छ
  • do…while लूप:कम्तिमा एक पटक प्रक्रिया चलाउन चाहँदा प्रयोग गरिन्छ

यी लूप वाक्यांशहरूलाई उपयुक्त रूपमा प्रयोग गरेर, प्रोग्रामलाई अझ लचिलो र प्रभावकारी रूपमा निर्माण गर्न सकिन्छ।

यस लेखमा के बुझ्न सकिन्छ

यस लेखमा, सी भाषामा प्रत्येक पुनरावृत्ति संरचनाको प्रयोग तरिका, भिन्नता, व्यावहारिक कोड उदाहरण, र सामान्य त्रुटिहरू तथा ध्यान दिनुपर्ने बुँदाहरूलाई विस्तृत रूपमा व्याख्या गर्नेछौं। सी भाषा सिक्न सुरु गरेका व्यक्तिहरूलाई पनि बुझ्न सजिलो बनाउने गरी, बिस्तारपूर्वक व्याख्या गर्नेछौं, त्यसैले निश्चिन्त भएर पढ्न जारी राख्नुहोस्।

2. for लूपको मूलभूत र प्रयोग

for लूप भनेको के?

C gengo मा for लूप हो, पहिले नै निर्धारित दोहोर्याउने संख्या भएको प्रक्रिया का लागि सबैभन्दा उपयुक्त संरचना हो। उदाहरणका लागि, “1 देखि 100 सम्मको संख्या एक-एक गरी देखाउने” वा “10 पटक मात्र प्रक्रिया दोहोर्याउने” जस्ता केसहरूमा, for लूप सरल र स्पष्ट हुन्छ।

for लूपको मूलभूत संरचना

for (प्रारम्भिक अभिव्यक्ति; शर्त अभिव्यक्ति; परिवर्तन अभिव्यक्ति) {
    // पुनरावृत्ति गरेर चलाउन चाहिएको प्रक्रिया
}

प्रत्येक भागको अर्थ तलको अनुसार छ:

  • आरम्भिक अभिव्यक्ति:काउन्टर भेरिएबललाई आरम्भिक बनाउने(उदाहरण:int i = 0;
  • शर्त अभिव्यक्ति:यो शर्तtrueको अवधिमा, दोहोर्याइँ जारी रहन्छ
  • परिवर्तन अभिव्यक्ति:प्रत्येक दोहोर्याइँमा काउन्टरलाई बढाउने/घटाउने(उदाहरण:i++

व्यावहारिक उदाहरण: 1 देखि 10 सम्मको संख्या देखाउने

#include <stdio.h>

int main() {
    for (int i = 1; i <= 10; i++) {
        printf("%d
", i);
    }
    return 0;
}

यो कोडमा, चल i 1 देखि 10 सम्म 1-१ गरी बढ्दै, 10 पटक दोहोर्याएर printf द्वारा देखाइन्छ। धेरै सहज र दृश्यात्मक रूपमा उच्च देखिने दोहोर्याइँ प्रक्रियाको एक उदाहरण हो।

for लूप प्रयोग गर्ने फाइदाहरू

  • यदि प्रक्रिया संख्या स्पष्ट छ भने, कोड छोटो हुन्छ
  • आरम्भिक, शर्त, अद्यावधिकलाई एकै लाइनमा मिलाउन सकिने कारण पढ्न सजिलो
  • एरेसँग राम्रो अनुकूलता छ, तत्वहरूलाई क्रमशः प्रक्रिया गर्न उपयुक्त

ध्यान दिनुहोस्: अनन्त लूपमा सावधान

तल जस्तै, शर्त अभिव्यक्ति सधैं सत्य(true)भएमा, अनन्त लूप बनिन्छ।

for (;;) {
    // अनन्त रूपमा दोहोर्याइन्छ
}

यो जानबुझेर अनन्त लूप बनाउँदा प्रयोग हुन्छ, तर सामान्यतया शर्त अभिव्यक्तिको निर्दिष्ट त्रुटिलेअनिच्छित अनन्त लूपमा सावधान रहनु आवश्यक छ।

break र continue को प्रयोग

for लूपको भित्र लूपलाई बीचमै समाप्त गर्न चाहनुहुन्छ भनेbreak, विशेष शर्तलाई स्किप गर्न चाहनुहुन्छ भनेcontinue प्रयोग गर्नुहोस्।

for (int i = 1; i <= 10; i++) {
    if (i == 5) continue; // 5 skip garne
    if (i == 8) break;    // 8 bhaye loop samapt
    printf("%d
", i);
}

आउटपुट “1-4, 6, 7” हुनेछ।

3. whileको मूलभूत र प्रयोग

while भनेको के हो?

while भने,कुनै शर्त साँचो रहँदा, प्रक्रिया दोहोर्याइन्छको लागि संरचना हो।
for भन्दा फरक, दोहोर्याउने संख्या स्पष्ट नहुनु, प्रयोगकर्ताको इनपुट वा बाह्य डेटा स्थितिमा निर्भर गरी प्रक्रिया जारी राख्ने अवस्थामा आदि उपयुक्त हुन्छ।

उदाहरणका लागि,「प्रयोगकर्ताले सही मान इनपुट गर्ने सम्म दोहोर्याउने」जस्ता प्रक्रियामा,while सहज बुझ्न सकिन्छ।

whileको मूलभूत संरचना

while (शर्त) {
    // पुनरावृत्ति गरेर चलाउन चाहिने प्रक्रिया
}
  • शर्त अभिव्यक्ति जबtrue रहँदा, ब्लकभित्रको प्रक्रिया दोहोर्याइन्छ।
  • शर्त सुरुबाटैfalse भएमा,एकपटक पनि कार्यान्वयन नहुनुमा ध्यान दिनु आवश्यक छ।

उदाहरण: 1 देखि 10 सम्मको संख्या देखाउने

#include <stdio.h>

int main() {
    int i = 1;
    while (i <= 10) {
        printf("%d
", i);
        i++;
    }
    return 0;
}

यो कोडले,for सँग लगभग समान कार्यलाईwhile द्वारा कार्यान्वयन गर्दछ।
प्रारम्भिकरण(int i = 1;) र परिवर्तन(i++) लाई लूप बाहिर लेख्न आवश्यक पर्ने बिन्दु फरक हुन्छ।

while को उपयोगी स्थिति: प्रयोगकर्ता इनपुट द्वारा नियन्त्रण

#include <stdio.h>

int main() {
    int input = 0;
    while (input != -1) {
        printf("कृपया संख्या प्रविष्ट गर्नुहोस् (समाप्त गर्न -1 टाइप गर्नुहोस्):");
        scanf("%d", &input);
    }
    printf("समाप्त गरिँदैछ।\n");
    return 0;
}

यसरी, प्रयोगकर्ताले निश्चित मान इनपुट गर्ने सम्म लूप जारी राख्ने प्रक्रिया,while सहज बुझ्न सकिन्छ।

ध्यान दिनु पर्ने बुँदा: अनन्त लूप बनाउने सम्भावना

while मा शर्त अभिव्यक्तिमा परिवर्तन नहुनु भने अनिच्छित अनन्त लूप हुन सक्छ। तल NG उदाहरणहरू छन्।

int i = 1;
while (i <= 10) {
    printf("%d
", i);
    // i++ भुल्दा अनन्त लूप हुन्छ…
}

→ दोहोर्याइँको बीचमा चलको स्थितिलाई परिवर्तन गर्न नबिर्सनुहोस्।

break・continue को प्रयोग

while मा पनि,for जस्तैbreak वाcontinue प्रयोग गर्न सकिन्छ।

int num = 0;
while (num < 10) {
    num++;
    if (num == 5) continue; // ५लाई छोड्नुहोस्
    if (num == 8) break;    // ८ मा अन्त्य
    printf("%d
", num);
}

आउटपुट परिणाम 「1-4, 6, 7」 हुनेछ।

4. do…while वाक्यको आधारभूत र प्रयोग

do…while वाक्य भनेको के?

do...while वाक्य C भाषा मा प्रयोग गर्न सकिने ३ प्रकारको लूप संरचनाहरू मध्ये, अनन्य रूपमा「हामीले कम्तिमा एक पटक प्रक्रिया कार्यान्वयन गर्नुपर्छ」 विशेषता राख्छ।

सामान्यwhile वाक्य मा, यदि पहिलो सर्त जाँचfalse भएमा प्रक्रिया कहिल्यै कार्यान्वयन हुँदैन, तरdo...while वाक्य माप्रक्रिया ब्लक पहिले कार्यान्वयन हुन्छ, त्यसपछि सर्त जाँच गरिन्छ

त्यसैले,「एक पटक पनि प्रयोगकर्ताको इनपुट स्वीकार्न चाहन्छु」「कम्तिमा एक पटक फाइल पढ्ने प्रक्रिया कार्यान्वयन गर्न चाहन्छु」जस्ता स्थितिहरूमा उपयुक्त छ।

do…while वाक्यको आधारभूत संरचना

do {
    // पुनरावृत्ति गर्न चाहिएको प्रक्रिया
} while (conditionExpression);

while को पछाडि सेमिकोलन(;)आवश्यक हुन्छ भन्ने कुरा ध्यान दिनुहोस्।

उदाहरण: 1 देखि 10 सम्मको संख्या देखाउने

#include <stdio.h>

int main() {
    int i = 1;
    do {
        printf("%d
", i);
        i++;
    } while (i <= 10);
    return 0;
}

यो कोडले, for वाक्य वा while वाक्य जस्तै 1-10 को संख्या देखाउँछ। तर, do...while वाक्य मा प्रक्रिया पहिले गरिन्छ, सर्त पछि जाँच गरिन्छ।

विशेष प्रयोग: प्रयोगकर्ता इनपुटको पुनः अनुरोध

#include <stdio.h>

int main() {
    int number;
    do {
        printf("10 भन्दा माथिको संख्या प्रविष्ट गर्नुहोस्:");
        scanf("%d", &number);
    } while (number < 10);
    printf("धन्यवाद। प्रविष्ट गरिएको मान:%d
", number);
    return 0;
}

यस उदाहरणमा, प्रयोगकर्ताले 10 भन्दा कम संख्या इनपुट गरेमा, पुनः इनपुट गर्न प्रेरित गरिन्छ।
do...while वाक्य कम्तिमा एक पटक प्रक्रिया कार्यान्वयन गर्ने पूर्वधारणा जस्ता स्थितिहरूमा उपयुक्त छ।

do…while वाक्यको फाइदा र ध्यान दिनुपर्ने बुँदा

फाइदा

  • कम्तिमा एक पटक प्रक्रिया कार्यान्वयन हुन्छ
  • इनपुट पर्खाइ वा प्रारम्भिक प्रक्रियामा उपयुक्त

ध्यान दिनुपर्ने बुँदा

  • प्रक्रिया पहिले गरिनु भएको कारण, यदि सर्त सहीसँग सेट नगरेमा अनपेक्षित रूपमा दुई पटक वा बढी प्रक्रिया हुन सक्छ।
  • for वाक्य वा while वाक्य भन्दा प्रयोगको आवृत्ति अलिकति कम छ, तर उपयुक्त रूपमा प्रयोग गर्दा अत्यन्त उपयोगी हुन्छ।

break・continue को प्रयोग

do...while वाक्य मा पनि, break वा continue प्रभावी छन्। सर्त वा पटकको आधारमा, लूपको नियन्त्रण लचिलो रूपमा गर्न सकिन्छ।

int i = 0;
do {
    i++;
    if (i == 3) continue; // 3 लाई उपेक्षा गर्नुहोस्
    if (i > 5) break;     // 5 सम्म देखाउनुहोस्
    printf("%d
", i);
} while (i < 10);

आउटपुट परिणाम \”1, 2, 4, 5\” हुनेछ।

5. for र while, do…whileको प्रयोग विभाजन

हरेक लूप वाक्यको भिन्नता बुझौं

C भाषामा 3 प्रकारका दोहोर्याउने संरचना(for、while、do…while)अवस्थित छन्, तर कुनै पनि “दोहर्याउने प्रक्रिया”लाई कार्यान्वयन गर्न सक्छ।
तब, किन धेरै लूप संरचनाहरू तयार पारिएका छन्? कारण प्रत्येकको लागिउपयुक्त परिस्थिती र प्रयोग सजिलोताछ।

यहाँ, 3 लूप वाक्यलाई कसरी प्रयोग विभाजन गर्ने भन्ने कुरा, शुरुआतीहरूलाई पनि बुझ्न सजिलो बनाइ व्याख्या गर्छौं।

for: दोहोर्याउने संख्या निश्चित भएको बेला प्रयोग गर्ने

forले, लूपको सुरुवात, समाप्ति शर्त र परिवर्तन प्रक्रिया 1 पङ्क्तिमा समेटिएको कारण, अत्यन्त स्पष्ट देखिने विशेषता हो।

for (int i = 0; i < 10; i++) {
    // १० पटक दोहोर्याउने प्रक्रिया
}

यसरी “〇 पटक दोहोर्याउने” निश्चित भएको अवस्थामा, पहिलो पटक for लाई विचार गरौं। विशेष गरी, एरेको स्क्यानिङ र काउन्टर नियन्त्रणमा बलियो संरचना हो।

while: शर्त पूरा हुने सम्म दोहोर्याउन चाहनुहुन्छ भने प्रयोग गर्ने

while ले, दोहोर्याउने पटक संख्या स्पष्ट नभएको अवस्थामा मा उपयोगी छ।
उदाहरणका लागि, प्रयोगकर्ताको इनपुट वा सेन्सरको मान जस्ता, बाह्य जानकारीमा निर्भर गर्ने प्रक्रियामा, while को लचकता उपयोगी हुन्छ।

while (!endCondition) {
    // शर्त सत्य हुँदा दोहोरिने प्रक्रिया
}

प्रक्रिया दोहोर्याउने हो कि होइन प्रत्येक पटक मूल्यांकन गर्दै अगाडि बढ्न आवश्यक परे, while प्रयोग गर्दा स्वाभाविक हुन्छ।

do…while: कम्तिमा १ पटक अनिवार्य रूपमा कार्यान्वयन गर्न चाहनुहुन्छ भने प्रयोग गर्ने

do...while ले, “१ पटक प्रक्रिया कार्यान्वयन गरेपछि मूल्यांकन गर्न चाहनुहुन्छ” भन्ने स्थितिमा प्रयोग गरिन्छ।

do {
    // पहिलो पटक अनिवार्य रूपमा चलाउनुहोस्
} while (शर्त);

उदाहरणका लागि, “मेनु एक पटक देखाएपछि, पुनः देखाउने हो कि होइन प्रयोगकर्तालाई सोध्ने” जस्ता स्थितिमा उपयुक्त हुन्छ।

प्रयोग विभाजनको शीघ्र तालिका

प्रक्रिया सामग्रीउपयुक्त लूप संरचना
संख्या निश्चित भएको दोहोर्याउनेfor
शर्त true भएको सम्म निरन्तर जारी राख्न चाहनुहुन्छ भनेwhile
कम्तिमा १ पटक अनिवार्य रूपमा कार्यान्वयन गर्न चाहनुहुन्छ भनेdo…while
एरे वा इन्डेक्स सहितको प्रक्रिया आवश्यकfor (विशेष गरी सिफारिस)
इनपुट समाप्ति शर्त बनाउने प्रक्रियाwhile वा do…while

व्यवहारमा कुन प्रयोग गरे पनि ठीक छ?

निश्चित रूपमा, एउटै प्रक्रिया for वा while दुवैले कार्यान्वयन गर्न सकिन्छ। तर, कोडको पठनीयता र मर्मत सम्भावनालाई बढाउन “उपयुक्त संरचना” चयन गर्नु महत्त्वपूर्ण छ

उदाहरणका लागि, दोहोर्याउने संख्या स्पष्ट भए पनि while द्वारा कार्यान्वयन गर्दा, शर्त र काउन्टर लूपको बाहिर बिखरिन्छ, जसले स्पष्टता घटाउँछ।
उल्टो, प्रयोगकर्ताको इनपुटलाई धेरै पटक स्वीकार्ने प्रक्रिया for द्वारा लेख्दा, प्रक्रियाको उद्देश्य बुझ्न कठिन हुन्छ।

उपयुक्त लूप चयनले, पढ़्न सजिलो र बग कम भएको कोडमा परिणत हुन्छ

लूप संरचनालाई “दृष्टिकोण” वा “अनियमित बानी” द्वारा चयन नगरी, प्रक्रियाको उद्देश्य अनुसार उपयुक्त रूपमा चयन गर्नेले प्रोग्रामको गुणस्तर सुधारमा मद्दत गर्छ।

6. पुनरावृत्ति प्रक्रिया सम्बन्धी सावधानीहरू

लूप प्रक्रिया उपयोगी छ, तर ध्यान नदिएमा बगको स्रोत बनिन्छ

पुनरावृत्ति प्रक्रिया प्रोग्रामिङमा मूलभूत मूलभूत हो र अत्यन्त उपयोगी वाक्य संरचना हो। तर, यसको विपरीतलूप प्रक्रिया डिजाइन त्रुटि वा लेखनमा कमीका कारण, अनपेक्षित त्रुटि र बगहरू उत्पन्न हुनेबिन्दु पनि हो।

यहाँ, C gengo मा पुनरावृत्ति प्रक्रिया सुरक्षित र सही रूपमा ह्यान्डल गर्नका लागि, ध्यान दिनुपर्ने बुँदाहरू व्याख्या गरिन्छ।

mugen rūpu लाई रोक्नका लागि

सबैभन्दा सामान्य समस्याहरू मध्ये एक हो \”mugen rūpu\”। यो, rūpu को समाप्ति शर्त कहिल्यै पूरा नहुनु, प्रक्रिया रोकिन नपर्ने अवस्थालाई जनाउँछ।

उदाहरणका लागि, तलको जस्तो कोडमा ध्यान आवश्यक छ।

int i = 0;
while (i < 10) {
    printf("%d
", i);
    // i++ नबिर्स्दा लूप अनन्तरूपमा चलिरहन्छ
}

यस अवस्थामा, i++ बिर्सिएर, i को मान परिवर्तन नहुनु, शर्त सधैं true बनिन्छ।

उपाय:

  • 条件式だけでなく、「変化式」が正しく動作しているか常にチェックする
  • rūpu भित्र शर्त परिवर्तन भइरहेको छ कि सचेत रहनु।

break कथनको उचित प्रयोग

break हो, rūpu लाई जबरजस्ती बाहिर निस्कन का लागि नियन्त्रण वाक्य हो। उपयोगी भए पनि, धेरै प्रयोग गर्दा कोडको उद्देश्य बुझ्न कठिन हुन सक्छ

while (1) {
    int input;
    scanf("%d", &input);
    if (input == 0) break; // 0 प्रविष्ट भएमा लूप समाप्त हुन्छ
}

यसरी, while (1) र mugen rūpu लाई आधार बनाएर, विशेष शर्तमा break गर्ने लेखन पनि प्राय प्रयोग हुन्छ। पठनीयता कायम राख्न, उपयुक्त टिप्पणी थप्नु वा फङ्क्शनमा अलग गर्नु गर्ने उपाय प्रभावकारी हुन्छ।

continue कथनको अत्यधिक प्रयोगमा सावधान

continue हो, वर्तमान र्‍ूपको बाँकी प्रक्रिया स्किप गरेर, अर्को पुनरावृत्तिमा जानको लागि नियन्त्रण वाक्य हो।
उचित रूपमा प्रयोग गर्दा प्रक्रिया प्रवाहलाई व्यवस्थित गर्न सकिन्छ, तर शर्त विभाजन जटिल कोडमा धेरै प्रयोग गर्दा, उल्टो बुझ्न कठिन हुन्छ

for (int i = 0; i < 10; i++) {
    if (i % 2 == 0) continue; // जोडि सङ्ख्याहरूलाई छोड्नुहोस्
    printf("%d
", i);        // केवल विषम सङ्ख्याहरू प्रदर्शन गर्नुहोस्
}

यस प्रकारको संक्षिप्त प्रयोगमा प्रभावकारी छ, तर शर्तहरू बढे वा ireko kōzō गहिरो भएमा सावधान रहनु आवश्यक छ।

tajū rūpu(nesuto sareta rūpu)मा सावधानी

पुनरावृत्ति प्रक्रियाको भित्र थप लूप राख्ने \”tajū rūpu(nesuto)\” पनि, उपयोगी र प्राय प्रयोग हुने ढाँचा हो।
तर, nesuto धेरै गहिरो भएमा कोड जटिल हुन्छ र तलका जस्ता समस्याहरू उत्पन्न हुन सक्छ।

  • shori को उद्देश्य बुझ्न कठिन
  • प्रदर्शन घट्छ (विशेष गरी sanjū rūpu भन्दा माथि)
  • hensū को पुन: प्रयोगबाट बग
for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 3; j++) {
        printf("i=%d, j=%d
", i, j);
    }
}

यस स्तरको nesuto भने समस्या छैन, तर गहिरो भएमा kansū मा विभाजन गर्नु, shori को केही भागलाई टिप्पणीले पूरक गर्नु आदि, पढ्न सजिलो बनाउने कुरामा ध्यान दिनुहोस्।

jōken shiki को त्रुटि र kyōkai-chi को बगमा सावधान

rūpu शर्तमा प्रयोग हुने \”<\” वा \”<=\” जस्ता तुलना अपरेटरको त्रुटि पनि, १ पटक कम वा १ पटक बढी जस्ता तर्क बग उत्पन्न गर्ने बिन्दु हो।

// 0-9 सम्म आउटपुट गर्न चाहनुहुन्छ भने
for (int i = 0; i <= 9; i++)  // सही
// ↓ गलत गरेर < प्रयोग गर्दा, 0-8 सम्म मात्र आउटपुट हुन्छ
for (int i = 0; i < 9; i++)   // बगको कारण

punarāvṛtti prakriya \”kyōkai-chi\” प्रति अत्यन्त संवेदनशील हुन्छ, त्यसैले उद्देश्यको संख्या/दायरा सही रूपमा निर्दिष्ट गरिएको छ कि सधैं जाँच गर्नुहोस्।

7. अक्सर सोधिने प्रश्नहरू(FAQ)

Q1. for र while को फरक के हो?

A:
दुबै पुनरावृत्ति प्रक्रिया गर्ने संरचना हुन्, तर मुख्यतया तलका बुँदाहरूमा फरक प्रयोग गरिन्छ:

  • forपुनरावृत्ति संख्या निश्चित भएको अवस्थामालाई प्रयोग गर्ने आधारभूत तरिका हो। काउन्टर भेरिएबलको आरम्भ, सर्त, अद्यावधिक प्रक्रिया एकै लाइनमा लेख्न सकिने कारण, दृश्यता राम्रो हुन्छ।
  • whileशर्त पूरा भएको सम्म दोहोर्याउने अवस्थामालाई उपयुक्त छ। प्रक्रिया संख्या अज्ञात भएको वा शर्तमा आधारित दोहोर्याउन आवश्यक परेको अवस्थामा उपयोगी हुन्छ।

उदाहरण:

// for लूप (10 पटक दोहोर्याउने)
for (int i = 0; i < 10; i++) {
    // प्रक्रिया
}

// while लूप (विशेष शर्त पूरा हुँदा मात्र दोहोर्याउने)
while (condition) {
    // प्रक्रिया
}

Q2. do…while कहिले प्रयोग गर्ने?

A:
do...whileकम्तिमा एक पटक प्रक्रिया अनिवार्य रूपमा चलाउन चाहिने अवस्थामालाई प्रयोग गरिन्छ।
उदाहरणका लागि, “पहिले मेनु अनिवार्य रूपमा देखाइन्छ, त्यसपछि प्रयोगकर्ताको चयन अनुसार प्रक्रिया जारी राखिन्छ” जस्ता केसमा उपयुक्त हुन्छ।

int option;
do {
    printf("1. पुनः प्रदर्शन  2. समाप्त:");
    scanf("%d", &option);
} while (option == 1);

यस प्रकार, प्रक्रिया पहिलो पटकबाट शर्तविना चल्ने पूर्वधारणा भएको तर्कमा, do...while उपयुक्त हुन्छ।

Q3. अनन्त लूपलाई कसरी रोक्ने?

A:
अनन्त लूप भनेको, लूपको समाप्ति शर्त कहिल्यै पूरा नहुनु, जसले प्रक्रिया रोकिएन हो। C言語मा तलका कारणहरू प्राय देखिन्छन्:

  • काउन्टर भेरिएबल अद्यावधिक नगरेको
  • सर्त अभिव्यक्ति सधैं सत्य (true) हुने डिजाइन त्रुटि
  • लूपको समाप्ति सर्त सही रूपमा सेट गरिएको छैन

उपायहरू:

  • forwhileको भित्र, चल परिवर्तन भएको छ कि छैन जाँच गर्नुहोस्।
  • समाप्ति सर्तलाई सही रूपमा सेट गरिएको छ कि छैन पुनरावलोकन गर्नुहोस्।
  • डिबग गर्दा, निश्चित संख्यामा बलपूर्वक समाप्त गर्ने सुरक्षा मेकानिज्म (उदाहरण: काउन्टरको सीमा) समावेश गर्नु पनि प्रभावकारी हुन्छ।

Q4. break र continue को फरक के हो?

A:
दुबै लूप नियन्त्रणमा प्रयोग हुने वाक्यहरू हुन्, तर कार्यविधि फरक हुन्छ:

  • breakले लूप आफैँ समाप्तगर्छ। धेरैजसो अवस्थामा, कुनै शर्त पूरा भएमा लूप बीचमै छोड्न चाहँदा प्रयोग गरिन्छ।
  • continueले त्यो दोहोर्याइको लूप प्रक्रिया स्किपगर्दा, अर्को दोहोर्याइमा जान्छ।

उदाहरण:

for (int i = 1; i <= 5; i++) {
    if (i == 3) continue; // 3 लाई छोड्नुहोस्
    if (i == 5) break;    // 5 मा लूप समाप्त
    printf("%d
", i);
}

आउटपुट परिणाम “1, 2, 4” हुनेछ।

Q5. कुन लूप संरचना प्रयोग गर्ने भन्नेमा अनिश्चित भए?

A:
तलको जस्तै सोच्दा चयन गर्न सजिलो हुन्छ:

स्थितिछान्नुपर्ने संरचना
संख्या निश्चित भएकोfor
शर्त पूरा भएको हदसम्म जारी राख्न चाहनुwhile
कम्तिमा १ पटक अनिवार्य रूपमा चलाउन चाहने अवस्थामाdo…while

साथै, पठनीयता र टिमको कोडिङ शैलीलाई पनि विचार गरी, एकै नजरमा उद्देश्य स्पष्ट हुने संरचना चयन गर्नु उत्तम हुन्छ।

8. सारांश

यस लेखमा、C भाषा मा दोहोर्याउने प्रक्रियाको आधारभूत हो भनेकाfor वाक्यwhile वाक्यdo…while वाक्यको ३ प्रकारका लूप संरचनाहरूको प्रत्येक प्रयोग र प्रयोग फरक गर्ने बुँदाहरूलाई व्याख्या गरेका छौं।

दोहर्याउने प्रक्रिया、प्रोग्रामिङमा सबैभन्दा आधारभूत भएता पनि अत्यन्त शक्तिशाली प्रणाली हो। प्रक्रियाको स्वचालन、इनपुटको दोहोर्याइ、सर्त अनुसारको लूप आदि、सबै परिस्थितिमा प्रयोग हुन्छ।

प्रत्येक लूप संरचनाको पुनरावलोकन

  • for वाक्य:दोहर्याउने संख्या स्पष्ट भएको अवस्थामा उत्तम। काउन्टर भेरिएबल र लूप सर्तलाई 1 लाइनमा लेख्न सकिने कारण, दृश्यता उत्कृष्ट हुन्छ।
  • while वाक्य:सर्त साँचो रहेको हदसम्म प्रक्रिया जारी राख्न चाहँदा प्रयोग। बाह्य इनपुट वा स्थितिको परिवर्तन अनुसार लचिलो प्रक्रिया सम्भव।
  • do…while वाक्य:कम्तिमा १ पटक प्रक्रिया ग्यारेन्टी भएको कारण, पहिलो पटक प्रक्रिया चलाउन आवश्यक केसमा उपयोगी।

लूप प्रक्रिया ह्यान्डल गर्दा ध्यान दिनुपर्ने बुँदाहरू

  • अनन्त लूप वा सर्त अभिव्यक्तिको लेखन त्रुटिमा ध्यान दिनुहोस्
  • break/continue को प्रयोग तरिका र प्रभावलाई सही रूपमा बुझ्नुहोस्
  • नेस्ट धेरै गहिरो नहोस् भनेर कोडको संरचनालाई ध्यानमा राख्नुहोस्
  • प्रक्रियाको उद्देश्य सजिलै पढ्न सकिने संरचना चयन गर्नुहोस्

अन्तमा: अध्ययनका टिप्स

दोहर्याउने प्रक्रिया、वविक रूपमा हात चलाएर कोड लेख्दै सिक्ने नै सबैभन्दा प्रभावकारी हो।
पहिले सरल काउन्ट अप वार्त आधारित लूपबाट सुरु गरेर, क्रमशः प्रयोगकर्ता इनपुट वा नेस्टेड लूप जस्ता अनुप्रयोगात्मक सामग्रीमा चुनौती दिनुहोस्।तपाईंको प्रोग्रामिङ कौशल गर्ने स्तम्भ मध्ये एक हो, यो “दोहर्याउने प्रक्रिया” हो। कृपया, यो लेखलाई सन्दर्भ बनाउँदै, आफ्नै शक्ति द्वारा कोड लेखी चलाएर हेर्नुहोस्।

年収訴求