[ সি প্রোগ্রামিং :- অধ্যায় এক ] প্রথম প্রোগ্রাম ।

10 295

প্রোগ্রামিংয়ের জগতে স্বাগতম ।

আমরা এখন একটি প্রোগ্রাম লিখে ফেলব যা আপনার কম্পিউটারের স্কিনে Hello World দেখাবে বা প্রিন্ট করবে । এটি হচ্ছে প্রোগ্রামিং এর একটি ঐতিহ্য । পৃথিবীর অধিকাংশ প্রোগ্রামারই জীবনের প্রথম প্রোগ্রাম হিসেবে এটি লেখে ।
আমি প্রোগ্রামগুলো চালানোর জন্য Codeblocks সফটওয়্যার ব্যবহার করব । তবে আপনার অন্য কিছু ব্যবহার করলে ও সমস্যা নেই, সবগুলোতে কাজের ধারা মোটামুটি একই রকম । কম্পিউটারে Codeblocks সফটওয়্যার ইনস্টল করে ফেলুন । নিজে নিজে ইনস্টল করতে না পারলে নিচের লিঙ্কে ক্লিক দিন এবং ইনস্টল এর নিয়মাবলী পড়ে নিন এবং যাদের Codeblocks সফটওয়্যার টি নেই তারা নিচের দ্বিতীয় লিঙ্কে ক্লিক দিন এবং ডাউনলোড করে তারপরে ইনস্টল করে ব্যবহার করা শুরু করুন ।

(১) এই লিঙ্কে ক্লিক দিয়ে, যাদের Codeblocks সফটওয়্যার টি নেই তারা ডাউনলোড করে তারপর ইনস্টল দিয়ে, প্রোগ্রামিং শুরু করতে পারেন http://www.codeblocks.org/downloads

ইনস্টল হয়ে গেলে । এখন উইন্ডোজ এর Start মেনুতে Programs-এ গিয়ে Codeblocks চালু করুন । উবুন্টুতে এটি থাকবে Applications > Programming এর ভিতরে ।

odeblocks চালু হবার পর এখানে আপনারা Show tips at startup চেক বক্সের টিক চিন্হটি উঠিয়ে দিতে পারেন ।

এবার প্রোগ্রামিং করার জন্য প্রথমে আপনি Codeblocks এর মেনুবার হতে File এ যান (ক্লিক দিন) তারপর New এ যান (ক্লিক দিন) এরপরে Empty file এ ক্লিক দিন । আপনি ইচ্ছা করলে এভাবে না করে সরাসরি key-board থেকে Ctrl+Shift+N একসাথে এই তিনটি key চাপুন । তাহলে File থেকে New থেকে Empty file এ যেতে হবে না ।

এখন আপনারা প্রোগ্রামগুলো রাখার জন্য হার্ডডিস্কের ভিতরে একটি ফোল্ডার তৈরী করে নিন । এবং ঐ ফোল্ডারে প্রোগ্রামিং করা সব ফাইলগুলো সেভ(save) করবেন । ফাইলের যে কোন একটি নাম দিতে পারেন । আর Save as type হবে, C/C++ files ।

এবারে আমরা কোড বা প্রোগ্রাম লিখব । নিচের কোডটি টাইপ করে ফেলুন এবং ফাইল টি সেভ করে নিন (প্রোগ্রাম লিখার পর যে কোন ফাইল সেভ করার জন্য Ctrl+S চাপুন) ।

#include
int main ()
{
printf(“Hello World”);
return 0;
}
প্রোগ্রাম: ১.১

আপনারা হয়তো চিন্তা করছেন আমি এই হিজিবিজি কী লিখলাম ? আস্তে ধীরে সব ব্যাখ্যা করব, চিন্তা নেই । আপাতত আমার কথা মত কাজ করে যান । এবার Build মেনুতে গিয়ে Compile current file –এ ক্লিক করেন ।

আপনি যদি প্রোগ্রামটি ঠিক ভাবে টাইপ করে থাকেন তাহলে কম্পাইলার আপনাকে বলবে যে 0 errors, 0 warnings, মানে প্রোগ্রামে syntax ঠিক আছে ।

এখন আবার Build মেনুতে গিয়ে Run এ ক্লিক করেন ।

এখন আপনি নিচের ছবির মতো স্ক্রিন দেখতে পাবেন ।

এখন দেখুন আপনার স্ক্রিনে Hello World প্রিন্ট করেছে ।

Hello World এর পরের লাইনে বলা আছে Process returned 0 (0x0) (এটির অর্থ নিয়ে আমাদের এখন মাথা না ঘামালে ও চলবে) আর execution time : 0.047 s মানে প্রোগ্রামটি চলতে 0.047 সেকেন্ড সময় লেগেছে । তারপরের লাইন হচ্ছে, Press any key to continue. তার মানে (keyboard) কী-র্বোডের যে কোন কী চাপলেই হবে ।

আপনি যদি প্রোগ্রামটি ঠিকঠাক ভাবে রান করাতে পারেন এবং Hello World লেখাটি দেখে থাকেন তাহলে আপনাকে অভিন্দন । আপনি বেশ গুরুত্বপূর্ণ একটি কাজ করে ফেলেছেন ।

আর ঠিকঠাক ভাবে রান না করাতে না পারলে আবার শুরু থেকে চেষ্টা করুন । প্রয়োজনে অভিজ্ঞ কারও সাহায্য নিন । কারণ এই প্রোগ্রাম চালাতে না পারলে পরের অধ্যায় গুলো পড়ে লাভ হবে না ।

এবারে দেখা যাক আমি কি লিখেছি কোডে ।

প্রথম লাইনে ছিল: #include এটি কেন লিখেছি একটু পরে বলছি । দ্বিতীয় লাইন ফাঁকা দেখতে সুন্দর লাগে তাই ।

তৃতীয় লাইন: int main() এটিকে বলে মেইন ফাংশন । সি প্রোগ্রামগুলো মেইন ফাংশন থেকে কাজ করা শুরু করে, তাই সব প্রোগ্রামে একটি (এবং কেবল একটি) মেইন ফাংশন থাকতে হয় । মেইন ফাংশনের শুরুতে দ্বিতীয় বন্ধনী দিয়ে শুরু করতে হয় আর শেষ ও করতে হয় একটি দ্বিতীয় বন্ধনী দিয়ে । শেষ করার আগে আমি return 0; লিখেছি, সেটি কেন তা এখন ব্যাখ্যা না করলেই ভালো হয়, ফাংশন নিয়ে যখন আলোচনা করব তখন বলব । তাই আপাতত আপনারা যে কোন প্রোগ্রামে নিচের অংশটুকু লিখে ফেলবেন :

int main()
{
এখানে কোড থাকবে ।
return 0;
}

প্রোগ্রামের পরের লাইন খেয়াল করুন: printf(“Hello World”); এটি একটি স্টেটমেন্ট । এখানে printf() হচ্ছে একটি ফাংশন যার কাজ হচ্ছে স্ক্রিনে কিছু প্রিন্ট করা । ডবল কোটেশনের ভিতর যা লিখবে তা-ই সে স্ক্রিনে সে প্রিন্ট করবে । এই ফাংশনটি স্ক্রিনে কিভাবে প্রিন্ট করবে সেটি আসলে বলা আছে stdio.h নামে একটি ফাইলে । এই ফাইলগুলোকে বলে হেডার (header) ফাইল (.h হচ্ছে হেডার ফাইলের এক্সটেনশন)। stdio.h ফাইলে স্টান্ডর্ড ইনপুট আর আউটপুট-সংক্রান্ত যাবতীয় ফাংশন লেখা আছে, আমরা কেবল সেগুলো ব্যবহার করব, ফাংশনগুলো কিভাবে কাজ করছে সেটি এখন আমাদের জানার দরকার নেই । আর যেহেতু printf() ফাংশন ব্যবহার করেছি, তাই প্রোগ্রামের শুরুতে #include লিখতে হয়েছে । এই রকম আরও অনেক প্রয়োজনীয় হেডার ফাইল রয়েছে, যার কিছু আমরা পরবর্তী সময়ে কাজের প্রয়োজনে দেখব ।

এখন একটি ব্যাপার খেয়াল করেন printf(“Hello World”); এর শেষে একটি সেমিকোলন রয়েছে । সি ল্যাঙ্গুয়েজে প্রতিটি স্টেটমেন্টের পরেই একটি সেমিকোলন থাকে । একটি স্টেটমেন্টের কাজ শেষ হলে পরের স্টেটমেন্টের কাজ শুরু হয় । return 0; ও একটি স্টেটমেন্ট, তাই এটিও সেমিকোলন দিয়ে শেষ করতে হয়েছে । শুরুর দিকে অনেকে সেমিকোলন দিতে ভুলে যায়, তখন কম্পাইলার এরর (compile error) হয় । আপনারা একটি সেমিকোলন মুছে দিয়ে কম্পাইল করার চেষ্টা করে দেখতে পারেন ।

এবারে একটি খুব গুরুত্বপূর্ণ কথা বলে রাখি । আপনারা কোডটি খেয়াল করলে দেখবেন যে আমি #include , int main(), {ও} যেই লাইনে আছে সেটি এডিটরের একেবারে বাঁ দিক থেকে শুরু করেছি । আর printf এবং return 0 –এর আগে চারটি স্পেস (ফাঁকা জায়গা) দিয়েছি । এটিকে বলে ইনডেন্টেশন (Indentation)। এরকম না করলে ও প্রোগ্রাম চলত এবং তাই অনেকেই ইনডেন্টেশনের ব্যাপারটিতে গুরুত্ব দেয় না এবং ঠিক মত ইনডেন্টেশন করে না । যেকোন ভালো অভ্যাসের মত ইনডেন্টেশনের অভ্যাস তৈরী করা একটু কঠিন, তবে বিষয়টি একটু দাঁত মাজার মতই গুরুত্বপূর্ণ । ইনডেন্টেশন করার অভ্যাস ঠিকমত তৈরী না হলে প্রোগ্রামারদের সহকর্মী বা বসের বকা শুনতে হয়, অনেক জায়গাতে তো ইন্টারভিউতে বাদ পড়ে যেতে হয় । আশা করছি আপনারা ব্যাপারটি বেশ গুরুত্ব সহকারে নিবেন । এই ব্লগের লিখাগুলোতে সমস্ত উদাহরণেই যথাযথভাবে ইনডেন্টেশন করার চেষ্টা করব । তবে মাঝে মধ্যে এদিক-সেদিক হতে পারে তবে সেই বিষয় গুলো আপনারা বুঝে নিবেন । ইনডেন্টেশনের জন্য সাধারণত চারটি স্পেস দেওয়াটাই এখন স্টান্ডার্ড । আপনারা এডিটর অপশন সেট করতে পারেন, যাতে Tab চাপলে সেটি চারটি স্পেস এর সমান হয় । Codeblocks এর Settings মেনুতে Editor –এ ক্লিক করে Tab Options এ Tab indents চেক করো এবং Tab size in spaces 4 দিন ।

এবার আপনার জন্য একটি কাজ । একটি প্রোগ্রাম লিখুন যেটি স্ক্রিনে প্রিন্ট করবে: I Love My Country Bangladesh. প্রোগ্রামটি টাইপ করার পরে অব্যশই কম্পাইলার এ Build এবং Run করবেন এবং সেভ করতে ভুলবেন না । (নিজে চেষ্টা করুন এবং না পারলে যেকোন সমস্যায় comment এর বক্সে আপনার প্রশ্ন, উত্তর অথবা মতামত জানান ।)

লেখাটি http://www.grandhelper.blogspot.com এর সি প্রোগ্রামিং বিভাগ থেকে copy and paste করা হয়েছে ।
শেষ কথা : আমার ফেইসবুক পেজে লাইক দিতে এখানে ক্লিক দিন http://www.facebook.com/grandhelper
আমার ব্লগ থেকে ঘুরে আসতে চাইলে এখানে ক্লিক দিন http://www.grandhelper.blogspot.com

Series Navigation<< [ সি প্রোগ্রামিং :- অধ্যায় শূন্য ] শুরুর আগে[ সি প্রোগ্রামিং :- অধ্যায় দুই ] ডাটা টাইপ, ইনপুট ও আউটপুট । >>
10 মন্তব্য
  1. Shohag Abdullah বলেছেন

    খুব সুন্দর। শেয়ার করার জন্য অনেক ধন্যবাদ।

  2. নাঈম প্রধান বলেছেন

    ভাল একটি পোস্ট 🙄 শেয়ার করার জন্য ধন্যবাদ।

  3. মোহাম্মদ জাকারিয়া বলেছেন

    আপনাকে ধন্যবাদ সবুজ ভাই সুন্দর একটি পোস্ট করার জন্য

    1. sabuj4u বলেছেন
  4. B Islam বলেছেন

    অনেক ধন্যবাদ শেয়ার করার জন্য …।

    1. sabuj4u বলেছেন

      @B Islam: স্বাগতম ।

  5. basar ansary বলেছেন

    thank you very much

    1. sabuj4u বলেছেন

      @basar ansary: You are welcome

  6. লিটন হাফিজুর বলেছেন

    thanks for share

    1. sabuj4u বলেছেন

উত্তর দিন