- 1 1. परिचय
- 2 2. C भाषा को if वाक्यको आधारभूत
- 3 3. if वाक्यमा धेरै सर्तहरू कसरी ह्यान्डल गर्ने
- 4 4. बहु शर्तहरूलाई ह्यान्डल गर्दा सर्वश्रेष्ठ अभ्यासहरू
- 5 5. व्यावहारिक उदाहरण: if वाक्य प्रयोग गर्ने कार्यक्रम
- 6 6. FAQ(सामान्य प्रश्नहरू)
- 7 7. सारांश
1. परिचय
C भाषा मा सर्तीय शाखा कार्यक्रमको प्रवाहलाई नियन्त्रण गर्न महत्वपूर्ण तत्व हो। त्यसमा पनि if
कथन सर्त अनुसार विभिन्न प्रक्रिया कार्यान्वयनको मूलभूत संरचना हो। तर वास्तविक कार्यक्रममा「एकै सर्त मात्र होइन, धेरै सर्तहरूलाई संयोजन गर्ने」आवश्यक पर्ने धेरै स्थितिहरू हुन्छन्।
उदाहरणका लागि, तलको जस्तो स्थिति विचार गरौं।
उदाहरण: 「चल
a
10 भन्दा बराबर वा बढी, रb
5 भन्दा कम भएमा प्रक्रिया कार्यान्वयन」
यस्ता अवस्थामा, C भाषा मातार्किक सञ्चालकहरू (&&, ||) र नेस्टिङ (if को नेस्टेड) प्रयोग गरेर सर्तहरूलाई संयोजन गर्न सकिन्छ। यस लेखमा, C भाषा को if कथनमा धेरै सर्तहरूलाई कसरी ह्यान्डल गर्ने, मूलभूतदेखि उन्नतसम्म विस्तृत रूपमा व्याख्या गरिनेछ।
2. C भाषा को if वाक्यको आधारभूत
2.1. if वाक्यको आधारभूत संरचना
C भाषामा if
वाक्यले, निर्दिष्ट शर्त सत्य (true) भएको अवस्थामा, विशेष प्रक्रिया कार्यान्वयन गर्दछ।
if (शर्त) {
// शर्त सत्य हुँदा प्रक्रिया
}
उदाहरण: चल x
10 भन्दा ठूलो वा बराबर भएमा सन्देश देखाउनुहोस्
#include <stdio.h>
int main() {
int x = 15;
if (x >= 10) {
printf("x 10 भन्दा बढी छ。
");
}
return 0;
}
2.2. if-else वाक्यको आधारभूत संरचना
if
वाक्यमा else
थपेर, शर्त असत्य (false) भएको अवस्थामा प्रक्रिया लेख्न सकिन्छ।
if (condition) {
// जब शर्त सत्य हुन्छ तबको प्रक्रिया
} else {
// जब शर्त असत्य हुन्छ तबको प्रक्रिया
}
उदाहरण: प्रयोगकर्ताले इनपुट गरेको संख्या सकारात्मक हो कि होइन निर्धारण गर्नुहोस्
#include <stdio.h>
int main() {
int num;
printf("कृपया पूर्णांक प्रविष्ट गर्नुहोस्: ");
scanf("%d", &num);
if (num > 0) {
printf("प्रविष्ट गरिएको संख्या सकारात्मक संख्या हो।\n");
} else {
printf("प्रविष्ट गरिएको संख्या सकारात्मक संख्या होइन।\n");
}
return 0;
}
2.3. if-else if-else वाक्यको आधारभूत संरचना
यदि धेरै शर्तहरू जाँच्न चाहनुहुन्छ भने else if
प्रयोग गर्नुहोस्।
if (condition1) {
// जब शर्त1 सत्य हुन्छ तबको प्रक्रिया
} else if (condition2) {
// जब शर्त2 सत्य हुन्छ तबको प्रक्रिया
} else {
// जब सबै शर्तहरू झूठा हुन्छन् तबको प्रक्रिया
}
उदाहरण: इनपुट गरिएको अंक अनुसार ग्रेड देखाउनुहोस्
#include <stdio.h>
int main() {
int score;
printf("कृपया अंक प्रविष्ट गर्नुहोस्: ");
scanf("%d", &score);
if (score >= 80) {
printf("ग्रेड: A
");
} else if (score >= 60) {
printf("ग्रेड: B
");
} else {
printf("ग्रेड: C
");
}
return 0;
}
3. if वाक्यमा धेरै सर्तहरू कसरी ह्यान्डल गर्ने
3.1. तर्कीय अपरेटरहरू(&&, ||)को प्रयोग
C भाषामा, बहु सर्तहरूलाई &&
(AND अपरेटर)र ||
(OR अपरेटर)को प्रयोग गरेर संयोजन गर्न सकिन्छ।
✅ &&
(AND अपरेटर)
- सबै सर्तहरू पूरा भएमा कार्यान्वयन हुन्छ
#include <stdio.h>
int main() {
int a = 15, b = 3;
if (a > 10 && b < 5) {
printf("a 10 भन्दा ठूलो छ, र b 5 भन्दा सानो छ。
");
}
return 0;
}
✅ ||
(OR अपरेटर)
- कुनै एक सर्त पूरा भएमा कार्यान्वयन हुन्छ
#include <stdio.h>
int main() {
int a = 8, b = 3;
if (a > 10 || b < 5) {
printf("a 10 भन्दा ठूलो छ कि, b 5 भन्दा कम छ。
");
}
return 0;
}
✅ !
(NOT अपरेटर)
- सर्तलाई उल्ट्याउने
#include <stdio.h>
int main() {
int a = 8;
if (!(a > 10)) {
printf("a 10 भन्दा कम वा बराबर छ。\n");
}
return 0;
}
3.2. if वाक्यको नेस्ट(नेस्टेड)
if
वाक्यभित्रif
वाक्य राखेर, अझ साना सर्त विभाजन सम्भव हुन्छ
उदाहरण: उमेर र उचाइ दुबै जाँच
#include <stdio.h>
int main() {
int age = 20, height = 170;
if (age >= 18) {
if (height >= 160) {
printf("प्रौढ हुनुहुन्छ, र उचाइ 160 सेमी भन्दा माथि छ。\n");
} else {
printf("प्रौढ हुनुहुन्छ, तर उचाइ 160 सेमी भन्दा कम छ。\n");
}
} else {
printf("अल्पवयस्क हुनुहुन्छ。\n");
}
return 0;
}
4. बहु शर्तहरूलाई ह्यान्डल गर्दा सर्वश्रेष्ठ अभ्यासहरू
4.1. पढ्नयोग्यताको सुधार
4.1.1. शर्त अभिव्यक्तिलाई विभाजन गर्नु
int isEligibleForDiscount = (score >= 80);
int isAdult = (age >= 18);
int isMemberValid = (isMember == 1);
if (isEligibleForDiscount && isAdult && isMemberValid) {
printf("तपाईं विशेष लाभ प्राप्तकर्ता हुनुहुन्छ。
");
}
4.1.2. शर्त अभिव्यक्तिलाई कार्यमा रूपान्तरण गर्नु
#include <stdio.h>
int isEligible(int score, int age, int isMember) {
return (score >= 80 && age >= 18 && isMember == 1);
}
int main() {
int score = 85, age = 20, isMember = 1;
if (isEligible(score, age, isMember)) {
printf("तपाईं लाभकारी सदस्य हुनुहुन्छ।\n");
} else {
printf("तपाईं लाभकारी सदस्य हुनुहुन्न।\n");
}
return 0;
}
4.2. प्रदर्शनको विचार
4.2.1. छोटो सर्किट मूल्यांकनलाई उपयोग गर्नु
if (a != 0 && b / a > 1) {
printf("गणनाको परिणाम: %d
", b / a);
}
4.2.2. मूल्यांकन क्रमलाई अनुकूलन गर्नु
if (a > 0 && isHeavyCalculation()) {
printf("प्रक्रिया चलाउनुहोस्
");
}
4.3. मर्मत सम्भावनाको सुधार
4.3.1. शर्त अभिव्यक्तिको स्पष्टतालाई ध्यानमा राख्नु
if (user.age >= 18 && user.score >= 50) {
printf("शर्तहरू पूरा भएका छन्。
");
}
4.3.2. म्याजिक नम्बरहरूलाई टाढा राख्नु
#define ADULT_AGE 18
if (age >= ADULT_AGE) {
printf("तपाईं वयस्क हुनुहुन्छ。\n");
}

5. व्यावहारिक उदाहरण: if वाक्य प्रयोग गर्ने कार्यक्रम
5.1. प्रयोगकर्ताको उमेर अनुसार सन्देश देखाउने
#include <stdio.h>
int main() {
int age;
printf("उमेर प्रविष्ट गर्नुहोस्: ");
scanf("%d", &age);
if (age >= 18 && age < 65) {
printf("あなたは成人です。
");
} else if (age >= 65) {
printf("तपाईं वरिष्ठ हुनुहुन्छ。\n");
} else {
printf("तपाईं अल्पवयस्क हुनुहुन्छ。\n");
}
return 0;
}
5.2. लगइन प्रमाणीकरणको सरल कार्यक्रम
#include <stdio.h>
#include <string.h>
int main() {
char username[20];
char password[20];
printf("प्रयोगकर्ता नाम: ");
scanf("%s", username);
printf("पासवर्ड: ");
scanf("%s", password);
if (strcmp(username, "admin") == 0 && strcmp(password, "1234") == 0) {
printf("लगइन सफल भयो!
");
} else {
printf("लगइन असफल भयो...
");
}
return 0;
}
5.3. त्रिकोण निर्धारण कार्यक्रम
#include <stdio.h>
int main() {
int a, b, c;
printf("त्रिभुजको ३ भुजाहरू प्रविष्ट गर्नुहोस्: ");
scanf("%d %d %d", &a, &b, &c);
if (a == b && b == c) {
printf("यो समबाहु त्रिभुज हो。\n");
} else if (a == b || b == c || a == c) {
printf("यो समद्विबाहु त्रिभुज हो。\n");
} else {
printf("यो विषमबाहु त्रिभुज हो。\n");
}
return 0;
}
5.4. संख्यात्मक दायरा जाँच
#include <stdio.h>
int main() {
int number;
printf("कृपया संख्या प्रविष्ट गर्नुहोस्: ");
scanf("%d", &number);
if (number >= 50 && number <= 100) {
printf("उपयुक्त संख्या छ。
");
} else {
printf("सीमा बाहिर छ。
");
}
return 0;
}
6. FAQ(सामान्य प्रश्नहरू)
6.1. if文 र switch文 मध्ये कुन प्रयोग गर्नु पर्छ?
if文 प्रयोग गर्नु पर्ने स्थितिहरू
- दायरा(ठूलो/सानो तुलना)आवश्यक हुने अवस्थामा
- जटिल तर्कीय अभिव्यक्ति प्रयोग गर्ने अवस्थामा
if (score >= 90) {
printf("ग्रेड: A
");
} else if (score >= 80) {
printf("ग्रेड: B
");
} else {
printf("ग्रेड: C
");
}
switch文 प्रयोग गर्नु पर्ने स्थितिहरू
- विशिष्ट मान(पूर्णांक वा अक्षर)निर्धारण गर्ने अवस्थामा
switch (grade) {
case 'A':
printf("उत्कृष्ट छ。
");
break;
case 'B':
printf("अच्छा अंकहरू छन्。
");
break;
default:
printf("अमान्य मूल्याङ्कन。
");
}
6.2. if文 को नेस्ट र तर्कीय अपरेटर, कुन प्रयोग गर्नु पर्छ?
नेस्ट प्रयोग गर्ने अवस्थामा
if (age >= 18) {
if (hasID) {
printf("प्रवेश गर्न सकिन्छ。
");
} else {
printf("पहिचानपत्र आवश्यक छ。
");
}
}
तर्कीय अपरेटर प्रयोग गर्ने अवस्थामा
if (age >= 18 && hasID) {
printf("प्रवेश गर्न सक्नुहुन्छ。
");
}
6.3. if文 को शर्तलाई सरल तरिकाले लेख्ने विधि
त्रि-आइटम अपरेटर प्रयोग गर्ने
int result = (a > 10) ? 1 : 0;
शर्तलाई फलनमा रूपान्तरण गर्ने
int isAdult(int age) {
return age >= 18;
}
if (isAdult(age)) {
printf("प्रौढ हुनुहुन्छ。
");
}
6.4. if文 को शर्त गलत भएर काम नगर्ने कारण
=
(असाइन अपरेटर)र ==
(तुलना अपरेटर) को त्रुटि
if (x == 5) {
printf("x 5 हो。
");
}
शर्तको प्राथमिकता क्रम स्पष्ट गर्ने
if ((a > 10 && b < 5) || c == 3) {
printf("शर्त पूर्ति भयो
");
}
फ्लोटिङ पोइन्ट तुलना
#include <math.h>
if (fabs(a - b) < 0.0001) {
printf("a र b लगभग बराबर छन्。
");
}
7. सारांश
7.1. if कथनको मूल संरचना
if (condition) {
// शर्त सत्य हुँदा प्रक्रिया
} else {
// शर्त असत्य हुँदा प्रक्रिया
}
7.2. if कथनमा बहु शर्तहरूलाई कसरी ह्यान्डल गर्ने
तार्किक अपरेटरको प्रयोग
if (age >= 18 && hasID) {
printf("प्रवेश गर्न सक्नुहुन्छ。
");
}
नेस्टको प्रयोग
if (age >= 18) {
if (hasID) {
printf("प्रवेश गर्न सक्नुहुन्छ。
");
} else {
printf("पहिचानपत्र आवश्यक छ。
");
}
}
7.3. पठनीयता र प्रदर्शनलाई विचार गरी लेख्ने तरिका
शर्तलाई फङ्क्सनमा रूपान्तरण
int isEligible(int score, int age) {
return (score >= 80 && age >= 18);
}
if (isEligible(85, 20)) {
printf("तपाईंलाई लाभ प्राप्त गर्ने पात्रता छ。
");
}
शॉर्ट-सर्किट मूल्यांकनको प्रयोग
if (a != 0 && b / a > 1) {
printf("गणनाको परिणाम: %d
", b / a);
}
7.4. व्यावहारिक प्रयोग उदाहरण
if (age >= 18 && age < 65) {
printf("तपाईं वयस्क हुनुहुन्छ。\n");
}
if (strcmp(username, "admin") == 0 && strcmp(password, "1234") == 0) {
printf("लगइन सफल भयो!
");
}
if (number >= 50 && number <= 100) {
printf("यो उपयुक्त संख्या हो。
");
}
7.5. प्रायः हुने गल्तीहरू र तिनीहरूको समाधान
if (x == 5) {
printf("x 5 हो。\n");
}
if ((a > 10 && b < 5) || c == 3) {
printf("शर्त पूर्ति भयो
");
}
#include <math.h>
if (fabs(a - b) < 0.0001) {
printf("a र b लगभग बराबर छन्。
");
}
7.6. यस लेखको समग्र
✅ C भाषा को if
कथनलाई मास्टर गरेर, प्रोग्रामको नियन्त्रण अझ लचिलो हुन्छ!
✅ बहु शर्तहरूको संयोजनमा, तार्किक अपरेटर र नेस्टलाई उपयुक्त रूपमा प्रयोग गर्नुहोस्!
✅ पठनीयता र प्रदर्शनलाई ध्यानमा राखी, कोडको अनुकूलन गर्नुहोस्!
✅ व्यावहारिक उदाहरणहरू मार्फत, त्रुटीलाई रोक्दै सही तरिकाले लेख्नुहोस्!
7.7. भविष्यको अध्ययनतर्फ
आगामी समयमा, अधिक उन्नत नियन्त्रण संरचनाहरू (जस्तै switch
कथन, while
लूप आदि) र फलामको प्रयोगबारे सिकेर, अझ लचिलो प्रोग्राम बनाउन सकिनेछ।
C भाषाको सीपलाई निखार्दै, अझ राम्रो प्रोग्रामिङ्गको लक्ष्य राखौं!