Search

1.1 — किसी program का structure

एक computer program instructions का एक ऐसा sequence है, जो computer को बताता है की उसे क्या करना है ।

Statements और expressions

Statement किसी program में instruction देने का सबसे साधारण तरीका है । Statement C++ language की सबसे छोटी इकाई है । यदि इन्सानी भाषा से तुलना किया जाये, तो satement इंसानी भाषा में एक वाक्य (sentence) के बराबर है । जिस तरह से हम sentences का प्रयोग अपने विचारों को व्यक्त करने के लिए करते हैं, C++ में statements का प्रयोग compiler को ये बताने के लिए किया जाता है की हमें किसी task को पूरा करना है । C++ में किसी statement का अंत एक semicolon (;) से होता है।.

C++ में statements के कई प्रकार हैं । C++ में प्रयुक्त होने वाले कुछ सबसे आसान statements नीचे दिए गए है:

यहाँ int x एक declaration statement है । ये compiler को ये बता रहा है की x एक variable (चर राशि) है । आपको school में algebra पढ़ते वक्त variables का परिचय मिला होगा । यहाँ भी variables का वही मतलब है: कोई value जो परिवर्तनशील (बदलने वाला) है, उसे एक नाम देना । Program में किसी variable का इस्तेमाल होने से पहले उनको (variables को) declare करना ज़रूरी है । हम जल्द ही variables के बारे और अधिक चर्चा करेंगे ।

x = 5 एक assignment statement है । ये variable (x) को एक value (5) सौंपता है या assign करता है ।

std::cout << x; एक output statement है । ये variable x के value को (जो हमारे example के अनुसार, पिछले statement में 5 set किया गया है) screen पर दिखाता है (अर्थात output देता है) ।

Expressions को solve करने में compiler भी सक्षम है । Expression एक गणितीय इकाई है जो किसी value पर evaluate होता है (अर्थात, इसे solve करने पर कोई value ज़रूर मिलेगा) । उदाहरणस्वरुप, गणित में, expression 2+3 evaluates होकर value 5 देता है । Expressions values (जैसे की 2), variables (जैसे की x), operators (जैसे की +) और functions (जो किसी input के आधार पर कोई output value प्रदान करता हो) से मिलकर बना हो सकता है । वे ऐकिक अर्थात अकेले (जैसे: 2 या x), या यौगिक अर्थात मिले-जुले हो सकते हैं (जैसे की 2+3, 2+x, x+y, या (2+x)*(y-3)) ।

उदाहरण के लिए, statement x = 2 + 3; एक valid statement है, जबकि ये मिला-जुला है । Expression 2+3 evaluate होकर value के रूप में 5 देता है । ये value 5, x को assign कर दिया जाता है ।

Functions

C++ में statements के समूह को functions के नाम से जाना जाता है । Function statements का एक ऐसा संग्रह है, जो sequentially (सिलसिलेवार ढंग से) execute होता है । हर C++ program में एक विशेष function, main का होना ज़रूरी है । जब किसी C++ program को run किया जाता है, तो execution की शुरुआत main function में स्थित पहले statement के साथ होती है । Functions को ज्यादातर एक बहुत विशेष काम करने के लिए लिखा जाता है । उदाहरण के लिए, कोई function जिसका नाम "max" है, में ऐसे statements लिखे जा सकते हैं, जो किन्ही दिए गए दो numbers में से बड़े number का पता लगातें हो । वहीँ दूसरी ओर, "calculateGrade" नामक कोई function किसी student का grade calculate कर सकता है । थोड़ी देर में हम functions पर और अधिक चर्चा करेंगे ।

उपयोगी सलाह: main() function को एक ऐसे .cpp file में रखना, जिसका नाम आपके project के नाम से मेल खाता हो, एक अच्छा उपाय है । उदाहरण के लिए, यदि आपके project का नाम "Test" है, तो main() को "Test.cpp में रखना एक अच्छा उपाय है ।

Libraries और C++ Standard Library

Library पहले से compile किये जा चुके codes (precompiled codes जैसे की functions) का संग्रह होता है, जिन्हें अलग-अलग programs में इस्तेमाल किया जा सकता है । Libraries आपके program की क्षमता बढ़ाने का सबसे आसान तरीका है । उदाहरण के लिए, यदि आप कोई game लिख रहे हो, तो आप इसमें एक sound library और एक graphics library ज़रूर शामिल करोगे ।

C++ असल में काफी छोटा और साधारण सा language है, (जिसका अधिकतर भाग आप इन tutorials में सीखोगे) । लेकिन C++, C++ standard library के साथ आता जिसमें आपके programs के उपयोग के लिए कई functionalities होती हैं । C++ standard library का सबसे ज्यादा इस्तेमाल होने वाला भाग इसका iostream library है, जिसमें screen पर output देने और user से input लेने जैसी functionalities मौजूद हैं ।

Example program पर एक नज़र

अब जब आपका परिचय statements, functions और libraries से हो चूका है, आइये एक आसान से "hello world" program पर एक नज़र डालें:

Line 1 एक ख़ास तरह का statement है जिसे preprocessor directive कहते हैं । Preprocessor directives compiler को एक विशेष कार्य करने की आज्ञा देते हैं । यहाँ preprocessor directive की मदद से हम compiler को ये बता रहे हैं की हमें iostream header में स्थित सामग्रियों को अपने program में जोड़ना है । iostream header हमें iostream library की functionality तक पहुंचाता है, जो screen पे output देने के लिए ज़रूरी है ।

Line 2 में कुछ भी नहीं है और इसलिए ये compiler द्वारा ignore कर दिया जायेगा ।

Line 3 main() function को declare करता है, जो आपने अभी-अभी सिखा, ये अनिवार्य है । हर C++ program में main() function होना ही चाहिए ।

Lines 4 और 7 compiler को ये बताते हैं की कौन कौन सी lines main() का हिस्सा हैं । Line 4 में Opening curly brace ({) और line 7 में closing curly brace (}) के बीच आने वाली हर line main() का हिस्सा मानी जाती हैं ।

Line 5 हमारा पहला statement है (आप बोल सकते हो की ये एक statement है, क्यूंकि ये एक semicolon के साथ ख़त्म होता है), और यह एक output statement है । std::cout एक special object है जो console/screen को दर्शाता है । << symbol एक operator (बिलकुल + operator की तरह) है जिसे output operator कहा जाता है । std::cout को ये पता है की output operator के द्वारा उसतक जो भी भेजा जायेगा, उसे screen पर print करना है । यहाँ पर, हमलोग output operator के पास "Hello world!" text को भेज रहें हैं ।

Line 6 एक नए तरह का statement है, जिसे return statement कहा जाता है । जब कोई executable program run कर लेता है, तो main() function operating system को एक value return करता है जो program के सफलतापूर्वक run होने या असफल होने की सुचना देता है ।

हमारे example में दिया गया return statement operating system को 0 return कर रहा है, जिसका मतलब है "सबकुछ ठीक रहा!" Non-zero numbers आम तौर पर कोई error, जिसके कारण program को बंद होना पड़ा, को दिखाने के लिए इस्तेमाल किये जाते हैं । आगे जब हम Functions को और गहरायी से जानेंगे, तो return statements पर विस्तार से चर्चा की जाएगी ।

हम जो भी programs लिखते हैं, वे या तो बिलकुल ऊपर दिए गए नमूने को follow करती है, या इसके किसी variation का । आगे के sections में हम ऊपर लिखे गए program की हर एक line को और अच्छी तरह से समझेंगे ।

Syntax और syntax errors

English में, sentences इसके grammar rules के आधार पर बनी होती हैं, जिसके बारे में शायद आपने school के English class में पढ़ा भी है । उदाहरण के लिए, साधारणतः sentences एक period (.) के साथ ख़त्म होतीं हैं । नियम जो ये निर्धारित करतीं हैं की भाषा में sentences को किस तरह से बना होना चाहिए, उस भाषा का syntax कहलाती हैं । यदि आप period को भूल गएँ और दो sentences को एक में ही जोड़ दिया है, तो ये English भाषा के syntax (नियमों के संग्रह) का उल्लंघन होगा ।

C++ का भी एक syntax है: नियम जो की ये तय करतें हैं की आपके program को सही करार दिए जाने के लिए किस तरह से लिखा जाना चाहिए । जब आप अपने program को compile करते हो, तो compiler ये पता लगाने के लिए ज़िम्मेदार है की आपका program C++ के basic syntax को follow करता है या नहीं । यदि आपने program लिखते वक़्त कोई नियम तोड़ा है, तो जब आप program को compile करना चाहोगे, compiler उसके बारे में complain करेगा, और साथ ही आपको एक syntax error मिलेगा ।

उदाहरण के लिए, आपने अभी-अभी सिखा की statements का अंत एक semicolon के साथ होना चाहिए ।

आइये देखते हैं क्या होगा यदि हम इस program में semicolon को छोड़ दें:

Visual studio इस program को compile करने पर ये error देता है:

c:\users\apomeranz\documents\visual studio 2013\projects\test1\test1\test1.cpp(6): error C2143: syntax error : missing ';' before 'return'

ये आपको बता रहा है की आपके program के 6th line में एक syntax error है: आप return statement लिखने से पहले semicolon डालना भूल गएँ हैं । यहाँ, error असल में 5th line के अंत में है । अक्सर, compiler आपके लिए बिलकुल उसी जगह पर error दिखायेंगे जहां syntax error पाया गया है । फिर भी, कभी-कभी ये अगले line तक समझ नहीं पाता की आखिर error कहाँ है ।

Syntax errors programs लिखते वक़्त बहुत साधारण हैं । सौभाग्य से, वे लगभग हमेसा आसानी से fix किये जा सकते हैं । कोई program पूरी तरह से compile और execute तभी हो पायेगा, जब इसके सारे syntax errors सुधार लिए गए हो ।

Quiz

नीचे दिया गया quiz आपने ऊपर जो कुछ भी सिखा और समझा है, उसे और मजबूती प्रदान करने के लिए दिए गए हैं । इन्हें किसी की मदद लिए बिना खुद ही solve करने का प्रयास करें ।

1) Expression और statement में क्या अंतर है?
2) Function और library में क्या अंतर है?
3) C++ में statements किस symbol के साथ समाप्त होते हैं?
4) Syntax error क्या है?

Quiz Answers

Answers देखने के लिए, अपने mouse से नीचे के area को select करें ।

1) Show Solution

2) Show Solution

3) Show Solution

4) Show Solution

1.2 -- Comments
Index
0.7 -- C++ में आने वालीं कुछ सामान्य परेशानियाँ

1 comment to 1.1 — किसी program का structure

Leave a Comment

Put C++ code inside [code][/code] tags to use the syntax highlighter