C++ प्रोग्रामिंग भाषा की बुनियादी संरचना और सिंटैक्स को समझना एक मजबूत प्रोग्रामिंग नींव बनाने के लिए आवश्यक है। इस अध्याय में, हम C++ के प्रमुख सिंटैक्स तत्वों पर ध्यान केंद्रित करेंगे, जो किसी भी C++ प्रोग्राम को लिखने के लिए आवश्यक होते हैं। हम वेरिएबल्स और डेटा प्रकारों का उपयोग करके डेटा को संग्रहीत और हेरफेर करना सीखेंगे, ऑपरेटर्स का उपयोग करके गणना और लॉजिकल ऑपरेशन समझेंगे, और इनपुट और आउटपुट स्ट्रीम के माध्यम से प्रोग्राम के साथ संवाद करने के तरीकों का पता लगाएंगे। इसके अलावा, हम टिप्पणियाँ (comments) जोड़ने की तकनीक का अभ्यास करेंगे, जो कोड की पठनीयता और दस्तावेज़ीकरण को बढ़ावा देती हैं। इस अध्याय के अंत तक, आप C++ की बुनियादी संरचना को समझने और सरल प्रोग्राम्स लिखने में सक्षम होंगे।
वेरिएबल और डेटा प्रकार (Variables and Data Types)
C++ प्रोग्रामिंग में वेरिएबल्स और डेटा प्रकारों को समझना महत्वपूर्ण है क्योंकि वे किसी भी प्रोग्राम के लिए डेटा को संग्रहीत और हेरफेर करने के बुनियादी साधन हैं। आइए वेरिएबल्स और डेटा प्रकारों की मूल बातें समझें:
वेरिएबल्स (Variables)
वेरिएबल्स डेटा को स्टोर करने के लिए एक नामित स्थान हैं। वे प्रोग्राम के दौरान डेटा के मान को बदलने की अनुमति देते हैं। वेरिएबल्स को एक विशिष्ट डेटा प्रकार के साथ डिक्लेयर किया जाता है, जो उन्हें संग्रहीत डेटा के प्रकार और आकार को निर्धारित करता है।
वेरिएबल्स का डिक्लेरेशन
वेरिएबल्स को डिक्लेयर करने का सामान्य सिंटैक्स है:
data_type variable_name;
उदाहरण:
int age; // एक पूर्णांक वेरिएबल float salary; // एक फ्लोटिंग पॉइंट वेरिएबल char grade; // एक अक्षर वेरिएबल
वेरिएबल्स का इनिशियलाइज़ेशन
वेरिएबल्स को डिक्लेयर करते समय प्रारंभिक मान असाइन करने का तरीका:
int age = 25; float salary = 50000.50; char grade = 'A';
डेटा प्रकार (Data Types)
C++ में विभिन्न प्रकार के डेटा प्रकार होते हैं, जिनका उपयोग डेटा के विभिन्न रूपों को स्टोर करने के लिए किया जाता है। यहाँ कुछ सामान्य डेटा प्रकार दिए गए हैं:
प्राथमिक डेटा प्रकार (Primitive Data Types)
- int: पूर्णांक (integer) के लिए उपयोग किया जाता है।
- उदाहरण:
int number = 10;
- उदाहरण:
- float: फ्लोटिंग पॉइंट संख्या (decimal number) के लिए उपयोग किया जाता है।
- उदाहरण:
float pi = 3.14;
- उदाहरण:
- double: उच्च सटीकता वाली फ्लोटिंग पॉइंट संख्या के लिए।
- उदाहरण:
double largePi = 3.141592653589793;
- उदाहरण:
- char: एकल अक्षर या वर्ण (character) के लिए उपयोग किया जाता है।
- उदाहरण:
char initial = 'A';
- उदाहरण:
- bool: बूलियन मान (true/false) के लिए उपयोग किया जाता है।
- उदाहरण:
bool isAvailable = true;
- उदाहरण:
ड्राइवड डेटा प्रकार (Derived Data Types)
- एर्रे (Array): एक ही प्रकार के डेटा तत्वों का संग्रह।
- उदाहरण:
int numbers[5] = {1, 2, 3, 4, 5};
- उदाहरण:
- पोइंटर (Pointer): मेमोरी एड्रेस को संग्रहीत करता है।
- उदाहरण:
int* ptr = &age;
- उदाहरण:
- स्ट्रक्चर (Structure): विभिन्न प्रकार के डेटा का संग्रह।
- उदाहरण:
struct Person { string name; int age; };
- उदाहरण:
- यूनियन (Union): मेमोरी के एक ही स्थान का उपयोग करके विभिन्न प्रकार के डेटा को स्टोर करता है।
- उदाहरण:
union Data { int intValue; float floatValue; };
- उदाहरण:
एन्यूमरेशन (Enumeration)
एन्यूमरेशन एक यूजर-डिफाइंड डेटा प्रकार है जो नामांकित इंटीजर कॉन्स्टेंट्स का एक सेट होता है।
enum Color { RED, GREEN, BLUE }; Color myColor = RED;
उदाहरण
#include <iostream> using namespace std; int main() { int age = 30; float height = 5.9; char initial = 'J'; bool isStudent = false; cout << "Age: " << age << endl; cout << "Height: " << height << endl; cout << "Initial: " << initial << endl; cout << "Is Student: " << isStudent << endl; return 0; }
ऑपरेटर्स (Operators)
C++ प्रोग्रामिंग में ऑपरेटर्स का उपयोग वेरिएबल्स और मानों के साथ विभिन्न गणितीय, तार्किक, और तुलनात्मक कार्यों को करने के लिए किया जाता है। ऑपरेटर्स प्रोग्राम को विभिन्न क्रियाएँ करने की अनुमति देते हैं और किसी भी प्रोग्रामिंग भाषा की बुनियादी संरचना का एक महत्वपूर्ण हिस्सा होते हैं। आइए C++ में उपलब्ध विभिन्न प्रकार के ऑपरेटर्स को समझें:
1. गणितीय ऑपरेटर्स (Arithmetic Operators)
गणितीय ऑपरेटर्स का उपयोग संख्यात्मक गणनाओं को करने के लिए किया जाता है।
ऑपरेटर | विवरण | उदाहरण |
---|---|---|
+ | जोड़ (Addition) | a + b |
- | घटाव (Subtraction) | a - b |
* | गुणा (Multiplication) | a * b |
/ | भाग (Division) | a / b |
% | शेषफल (Modulus) | a % b |
2. असाइनमेंट ऑपरेटर्स (Assignment Operators)
असाइनमेंट ऑपरेटर्स का उपयोग वेरिएबल्स को मान असाइन करने के लिए किया जाता है।
ऑपरेटर | विवरण | उदाहरण |
---|---|---|
= | असाइन (Assign) | a = b |
+= | जोड़ और असाइन | a += b |
-= | घटाव और असाइन | a -= b |
*= | गुणा और असाइन | a *= b |
/= | भाग और असाइन | a /= b |
%= | शेषफल और असाइन | a %= b |
3. तुलनात्मक ऑपरेटर्स (Comparison Operators)
तुलनात्मक ऑपरेटर्स का उपयोग दो मानों की तुलना करने के लिए किया जाता है और ये बूलियन मान (true
या false
) लौटाते हैं।
ऑपरेटर | विवरण | उदाहरण |
---|---|---|
== | बराबर (Equal to) | a == b |
!= | बराबर नहीं (Not equal to) | a != b |
> | बड़ा (Greater than) | a > b |
< | छोटा (Less than) | a < b |
>= | बड़ा या बराबर | a >= b |
<= | छोटा या बराबर | a <= b |
4. तार्किक ऑपरेटर्स (Logical Operators)
तार्किक ऑपरेटर्स का उपयोग बूलियन एक्सप्रेशन्स को संयोजित करने के लिए किया जाता है।
ऑपरेटर | विवरण | उदाहरण |
---|---|---|
&& | तार्किक और (Logical AND) | a && b |
` | ` | |
! | तार्किक नहीं (Logical NOT) | !a |
5. वृद्धि और कमी ऑपरेटर्स (Increment and Decrement Operators)
वृद्धि और कमी ऑपरेटर्स का उपयोग वेरिएबल के मान को बढ़ाने या घटाने के लिए किया जाता है।
ऑपरेटर | विवरण | उदाहरण |
---|---|---|
++ | वृद्धि (Increment) | a++ or ++a |
-- | कमी (Decrement) | a-- or --a |
6. बिटवाइज ऑपरेटर्स (Bitwise Operators)
बिटवाइज ऑपरेटर्स का उपयोग बाइनरी प्रतिनिधित्व के स्तर पर ऑपरेशन करने के लिए किया जाता है।
ऑपरेटर | विवरण | उदाहरण |
---|---|---|
& | बिटवाइज और (AND) | a & b |
| | बिटवाइज या (OR) | a | b |
^ | बिटवाइज XOR | a ^ b |
~ | बिटवाइज NOT | ~a |
<< | बाएं शिफ्ट (Left Shift) | a << 2 |
>> | दाएं शिफ्ट (Right Shift) | a >> 2 |
उदाहरण
#include <iostream> using namespace std; int main() { int a = 10, b = 5; // गणितीय ऑपरेटर cout << "a + b = " << (a + b) << endl; cout << "a - b = " << (a - b) << endl; // तुलनात्मक ऑपरेटर cout << "a > b = " << (a > b) << endl; // तार्किक ऑपरेटर cout << "(a > b) && (b < 10) = " << ((a > b) && (b < 10)) << endl; // वृद्धि ऑपरेटर cout << "a++ = " << (a++) << endl; cout << "अब a = " << a << endl; return 0; }
इनपुट और आउटपुट (Input and Output)
C++ प्रोग्रामिंग में इनपुट और आउटपुट एक महत्वपूर्ण भूमिका निभाते हैं क्योंकि वे प्रोग्राम को बाहरी दुनिया के साथ संवाद करने की अनुमति देते हैं। C++ में, iostream
लाइब्रेरी का उपयोग इनपुट और आउटपुट संचालन के लिए किया जाता है। इस लाइब्रेरी में मुख्य रूप से दो ऑब्जेक्ट्स का उपयोग होता है: cin
और cout
।
आउटपुट (Output)
C++ में आउटपुट को स्क्रीन पर प्रदर्शित करने के लिए cout
ऑब्जेक्ट का उपयोग किया जाता है। cout
स्ट्रीम को स्टैंडर्ड आउटपुट के लिए उपयोग किया जाता है, और यह ऑपरेटर <<
के साथ कार्य करता है, जिसे इनसर्शन ऑपरेटर भी कहा जाता है।
उदाहरण
#include <iostream> using namespace std; int main() { cout << "Hello, World!" << endl; // स्क्रीन पर "Hello, World!" प्रिंट करता है int number = 10; cout << "The number is: " << number << endl; // वेरिएबल का मान प्रिंट करता है return 0; }
मुख्य बिंदु:
<<
ऑपरेटर का उपयोग आउटपुट स्ट्रीम में डेटा जोड़ने के लिए किया जाता है।endl
मैनिपुलेटर का उपयोग नई पंक्ति (newline) के लिए किया जाता है।
इनपुट (Input)
C++ में कीबोर्ड से इनपुट लेने के लिए cin
ऑब्जेक्ट का उपयोग किया जाता है। cin
स्ट्रीम को स्टैंडर्ड इनपुट के लिए उपयोग किया जाता है, और यह ऑपरेटर >>
के साथ कार्य करता है, जिसे एक्स्ट्रैक्शन ऑपरेटर भी कहा जाता है।
उदाहरण
#include <iostream> using namespace std; int main() { int age; cout << "Enter your age: "; // उपयोगकर्ता से आयु पूछता है cin >> age; // आयु को वेरिएबल में स्टोर करता है string name; cout << "Enter your name: "; // उपयोगकर्ता से नाम पूछता है cin >> name; // नाम को वेरिएबल में स्टोर करता है cout << "Hello, " << name << "! You are " << age << " years old." << endl; return 0; }
मुख्य बिंदु:
>>
ऑपरेटर का उपयोग इनपुट स्ट्रीम से डेटा निकालने के लिए किया जाता है और इसे वेरिएबल में स्टोर किया जाता है।cin
एक समय में केवल एक शब्द (स्पेस के बिना) पढ़ता है। पूरी लाइन पढ़ने के लिएgetline
का उपयोग करें।
getline
का उपयोग
यदि आपको स्पेस के साथ एक पूरी लाइन इनपुट के रूप में पढ़नी है, तो आप getline
फ़ंक्शन का उपयोग कर सकते हैं।
उदाहरण
#include <iostream> #include <string> using namespace std; int main() { string fullName; cout << "Enter your full name: "; getline(cin, fullName); // पूरी पंक्ति इनपुट के रूप में पढ़ता है cout << "Hello, " << fullName << "!" << endl; return 0; }
सम्मिलित और निकालना (Inserting and Extracting)
- इनसर्शन (
<<
) ऑपरेटर: यह आउटपुट स्ट्रीम में डेटा डालता है। - एक्स्ट्रैक्शन (
>>
) ऑपरेटर: यह इनपुट स्ट्रीम से डेटा निकालता है और इसे वेरिएबल में स्टोर करता है।
टिप्पणियाँ (Comments)
टिप्पणियाँ C++ प्रोग्रामिंग में महत्वपूर्ण भूमिका निभाती हैं क्योंकि वे कोड के भीतर अतिरिक्त जानकारी या स्पष्टीकरण प्रदान करती हैं। टिप्पणियाँ प्रोग्राम के निष्पादन को प्रभावित नहीं करतीं; वे केवल कोड को अधिक पठनीय और समझने योग्य बनाने के लिए होती हैं। डेवलपर्स टिप्पणियाँ का उपयोग कोड के विभिन्न भागों को दस्तावेजीकरण और स्पष्टीकरण के लिए करते हैं, ताकि बाद में इसे समझना और बनाए रखना आसान हो सके।
टिप्पणियों के प्रकार
C++ में दो प्रकार की टिप्पणियाँ होती हैं:
- सिंगल लाइन टिप्पणी (Single-Line Comment):
यह टिप्पणी एक ही पंक्ति पर होती है और//
से शुरू होती है। इसका उपयोग संक्षिप्त स्पष्टीकरण या रिमार्क्स के लिए किया जाता है।उदाहरण:
#include <iostream> using namespace std; int main() { int number = 5; // यह वेरिएबल संख्या 5 को स्टोर करता है cout << "Number is: " << number << endl; // आउटपुट के लिए return 0; }
- मल्टी लाइन टिप्पणी (Multi-Line Comment):
यह टिप्पणी कई पंक्तियों में फैली हो सकती है और/*
से शुरू होकर*/
पर समाप्त होती है। इसका उपयोग विस्तृत स्पष्टीकरण के लिए किया जाता है।उदाहरण:
#include <iostream> using namespace std; int main() { /* यह एक मल्टी लाइन टिप्पणी है जिसका उपयोग कई पंक्तियों में स्पष्टीकरण देने के लिए किया जाता है */ cout << "Hello, World!" << endl; return 0; }
टिप्पणियों का महत्व
- कोड की पठनीयता: टिप्पणियाँ कोड को अधिक पठनीय और समझने योग्य बनाती हैं, जिससे अन्य डेवलपर्स (या आप खुद) को कोड को बाद में समझने में आसानी होती है।
- दस्तावेज़ीकरण: यह प्रोग्राम के विभिन्न हिस्सों का दस्तावेजीकरण करने में मदद करती है, जिससे कोड के लॉजिक और कार्यों का स्पष्टीकरण मिलता है।
- डिबगिंग: जब कोड में त्रुटियाँ होती हैं, तो टिप्पणी करके कोड के कुछ हिस्सों को अस्थायी रूप से निष्क्रिय किया जा सकता है, जो डिबगिंग प्रक्रिया को सरल बनाता है।
- सहयोग: जब टीम में कोड पर काम किया जा रहा होता है, तो टिप्पणियाँ टीम के सदस्यों के बीच बेहतर संचार सुनिश्चित करती हैं।
उदाहरण: टिप्पणियों का उपयोग
#include <iostream> using namespace std; int main() { // यह प्रोग्राम उपयोगकर्ता से नाम लेता है और उसे प्रिंट करता है string name; // नाम को स्टोर करने के लिए वेरिएबल cout << "Enter your name: "; cin >> name; // उपयोगकर्ता इनपुट // उपयोगकर्ता को अभिवादन संदेश cout << "Hello, " << name << "!" << endl; return 0; }