Thursday, May 01, 2008

First Program in 'C' Language

मुझे कभी समझ नहीं आया की किसी भी कंप्यूटर भाषा को सिखाते समय पहला प्रोग्राम 'Hello World!' का क्यों होता है.. खैर मैं भी इसी परंपरा को जारी रखते हुए बिना किसी तामझाम के शुरुवात करता हूँ.. मुझे किसी भी कम्प्यूटर भाषा को सीखते समय उससे संबंधित पिछला इतिहास पढना बहुत बोझिल लगता है, और सबसे बड़ी बात ये है की आपको अपने पूरे जीवन में वो इतिहास कभी काम नहीं आने वाला है सो मैं उसे अभी छोड़कर आगे बढ़ रहा हूँ.. हाँ आगे किसी अंक में उसकी जानकारी भी देता जाऊंगा..

किसी भी 'C' Program में कम से कम एक Function तो जरूर होता है.. और अगर किसी प्रोग्राम में कोई भी Function नहीं दिखाई दे रहा है तो वो 'main() Function ' ही एकमात्र Function है.. Function क्या होता है इसके बारे में आगे चर्चा करेंगे.. चलिए अभी देखते हैं पहले Program को..

main()
{
printf("Hello World!");
}


इस Program में दो Function का प्रयोग किया गया है..
1. main() function.
2. printf() function.

main() Function किसी भी 'C' Program को Execute या Run कराने के लिए जिम्मेवार होता है और printf() Function किसी भी Output को कंप्यूटर स्क्रीन पर दिखाने के लिए प्रयोग में लाया जाता है..

यहाँ जिस प्रोग्राम को मैंने लिखा है उसका Output कुछ ऐसा आएगा..
Hello World!

नोट : कुछ नेट संबंधी समस्या के कारण मैं 'C' Language का कैसे और किस Compiler पर प्रयोग में लायें, ये नहीं बता पा रहा हूँ.. मगर जल्द ही अगले किसी अंक में मैं आपको इससे संबंधित जानकारी दूंगा..

25 comments:

DR.ANURAG ARYA said...

badhe chalo..

जुड़िये गँठजोड़ मित्र समुदाय से! (gathjod.com) said...

एक अच्छे हिन्दी ट्यूटोरियल की एक बहुत अच्छी शुरुआत! जारी रखें।

दिनेशराय द्विवेदी said...

गुरूजी प्रणाम! हमें शिष्य स्वीकार करो। आज से सी की क्लास शुरू।

Udan Tashtari said...

एक अच्छी शुरुवात हुई. बधाई.

प्रभाकर पाण्डेय said...

बहुत ही बढ़िया काम आप कर रहे हैं । साधुवाद ।

vijay gaur said...

भाषा एक माध्य्म होती है, तकनीक या विषय को बया करने में उसकी महत्तवपूर्ण भूमिका होती है. अच्छा है कि आप इस अवधारणा को तोडने में अपनी पहल कर रहें है कि बिना अंग्रेजी के ग्यान के आप कम्पयूटर जान ही नही सकते.अगली पोस्ट का इंतजार रहेगा.

अनुनाद सिंह said...

शुभारम्भ पर बधाई!

एक निवेदन है कि इतना कुछ हिन्दी में लिख रहें हैं पर शीर्षक अंग्रेजी में पाकर मजा किरकिरा हो जाता है।

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

------X------

आपने main() और printf() दोनो को फंक्शन कह दिया है। किन्तु दोनो में कुछ अन्तर दिखता है, उसे आपने स्पष्ट नहीं किया।

PD said...

सबसे पहले आप सभी का बहुत-बहुत धन्यवाद मेरा उत्साह बढाने के लिये..

@ दिनेशराय जी - सर आप मुझे शर्मिंदा क्यों कर रहे हैं.. आप भी सिखिये नई भाषा को मगर बार बार मुझे गुरू कह कर शर्मिंदा ना करें.. आप तो मेरे पिता समान हैं.. :)

@ अनुनाद जी - मैं आपको आगे से ये शिकायत नहीं दूंगा और शीर्षक हिंदी में ही रहेगी..
आपने कहा "मैन्() और प्रिन्ट्फ़्() दोनो फंक्शन में अंतर बताने के लिये" जी वो धीरे-धीरे हर पहलू से अवगत कराता जाऊंगा.. :)
अभी तो जरा सा नेट संबंधी समस्या से जूझ रहा हूं.. जैसे ही वो दूर होगा वैसे ही मैं पूरे जोर शोर से ये शुरू कर दूंगा..

lovely kumari said...

lijiye hum bhi aa gye hme bhi shisy swikaren..

funtoosh said...

masti ki paathshaala shuru ho gayee...badhai..
jitna padha aasaan aur interesting laga....haanji voh compiler vagerah to aap bata hi denge..
lagta hai is tutorial ke end tak mujhe bhi c programming ka nasha ho jayega!!

निशान्त said...

मज़ा किरकिरा करने के लिए माफ़ी - पर #include stdio.h शायद छुट गया.

PD said...

पता है निशान्त जी, आपने मजा किरकिरा नहीं किया है बल्कि बढा दिया.. मैंने जब से ये पोस्ट किया है तभी से इस प्रश्न का इंतजार कर रहा था.. :)

'C' भाषा में इस लाईन की कोई आवश्यकता नहीं है.. असल में होता ये है की अधिकतर लोग 'C' को 'C++' के कंपाईलर पर रन कराते हैं और वहीं से ये Confusion शुरू होता है.. चूंकि मैंने 'C' और 'C++' दोनों को अलग-अलग पढा है और दोनों के अपने कंपाईलर में ही उसके प्रोग्राम रन कराता था सो अंतर पता चला नहीं तो मैं भी ऐसा ही कुछ सोचता..

ये प्रोग्राम 'C' भाषा के कंपाईलर पर शत-प्रतिशत रन करेगा.. अगर आप 'Turbo C++' का कंपाईलर प्रयोग करते हैं तो आप उसमें इस प्रोग्राम को .C(.CPP नहीं) एक्सटेंसन से सेव करें और रन करायें, आपको परिणाम दिख जायेगा..

राज भाटिय़ा said...

प्रशांत अगर आप को 'CSS' Language के बारे कुछ पता हो तो मुझे इस बारे बताना मुझे थोडी मदद चाहिये इस मे,धन्यवाद

निशान्त said...

ऐसा नही है कि C भाषा में इस लाइन कि आवश्यकता नही है. क्योंकि, अगर printf एक फंक्सन है तो उसको कहीं न कहीं से हमको दिखाना होगा.आप math.h या कोई और लाइब्रेरी का कोई फंक्सन ट्राई कीजिये. उसके लिए भी जरूरत नही है #include की.

आपके कम्पाईलर में एक फाइल होगी TURBOC.CFG उसमें एक लाइन है -IC:\TC\INCLUDE इसलिए आपको लगता है इसमें #include की जरूरत नही है. -IC एक कम्पाईल टाइम ओप्शन है. वैसे एक सुझाव था - अगर हम इसको सीरीज़ को कम्पाईलर सापेक्ष न रखें तो बेहतर होगा. अगर आपको यह बात बहती है तो कम्पाईलर और include पर हो जाए एक पोस्ट.

निशान्त said...
This post has been removed by the author.
PD said...

@Raj Bhatiya : सर, मुझे CSS की जानकारी तो है मगर अपने प्रैक्टिकल जीवन में कभी उस पर काम करने का मौका नहीं मिला है सो अनुभव की कमी है.. वैसे आप प्रश्न पूछें.. मैं यथासंभव उसका उत्तर देने की कोशिश करूंगा..

@Nishant ji : जी हां मैं आपसे सहमत हूं.. हर फंक्सन के लिये कोई ना कोई हेडर फ़ाईल की आवश्यकता तो होती ही है.. मगर मेरे पिछले कमेंट में लिखे हुये वाक्य को शायद आपने गलत तरीके से ले लिया था.. वैसे भी कंपाईलर की चर्चा हुये बगैर C के ऊपर किये हुये सारे पोस्ट बेकार हो जायेंगे.. और include के ऊपर भी चर्चा होगी मगर समय आने पर, मतलब Pre-processor के समय..

वैसे आपसे एक अनुरोध है.. आप कृपया मेरे इन सारे पोस्टों को ध्यान से पढ़े और मेरा मार्गदर्शन भी करते रहें.. जहां कहीं मैं गलत लिख जाऊं वहां मुझे सही भी करते जायें.. :)

हरिमोहन सिंह said...

गुरूजी नाराज न हो वास्‍तव में अनाडी हू
ये सी भाषा को कहॉं पर लिखते मतलब एडीटर
दूसरा सवाल कम्‍पाइलर क्‍या होता है

दीपान्शु गोयल said...

पीडी भाई अब आप टिप्पणी कर सकते हैं मैने वर्ड वैरिफिकेशन हटा दिया है।

महामंत्री-तस्लीम said...

अच्छी जानकारी दी है।

Online Guide said...

Waiting for further progress :)

सतीश सक्सेना said...

very interesting

आशीष खण्डेलवाल (Ashish Khandelwal) said...

प्रशांत जी, काफी अच्छा ब्लॉग है आपका.. नियमित लिखें तो हमें बहुत कुछ सीखने को मिलेगा..

Dev said...

C ki class achchhi lagi ...keep continue...
Regards

COMMON MAN said...

कम्प्यूटर चीज ही ऐसी है, कभी मुझे भी बड़ा शौक था, जब फ़ाक्स पर काम करता था. मजा आ गया. चालू रखें.

Science Bloggers Association of India said...

एक अच्छी शुरूआत है, हार्दिक शुभकामनाएँ।