প্রথম সি প্রোগ্রাম

প্রোগ্রামিং করার জন্য দরকার একটা কম্পিউটার আর একটা কম্পাইলার। প্রথম প্রোগ্রাম লেখার আগে আমরা কয়েকটি বিষয় সম্পর্কে জেনে নেই। যেমন কম্পাইলার, টেক্সট এডিটর ইত্যাদি।

কম্পাইলার

 

সি হচ্ছে জেনারেল পারপাস, স্ট্রাকচারড প্রোগ্রামিং ল্যাঙ্গুয়েজ। কম্পিউটার বা যে কোন মেশিন শুধু 0 বা 1 বুঝতে পারে। যাকে আমরা বলি বাইনারি নাম্বার সিস্টেম। আমাদের যদি বাইনারিতে প্রোগ্রাম লিখতে বলে, আমরা সহজে লিখতে পারব না। আমরা প্রোগ্রাম লিখব আমারা নিজেরা বুঝতে পারি, এমন ভাবে। সি প্রোগ্রামিং এ আমরা বুঝতে পারি, এমন কোড লিখি, যেমন printf, if, else, for, 1+2 ইত্যাদি ব্যবহার করে। এগুলো মেশিন ল্যাঙ্গুয়েজে পরিনত করার জন্য আমাদের একটা প্রোগ্রাম লাগে, যাকে আমরা বলি কম্পাইলার। কম্পাইলার আমাদের লেখা কোড গুলোকে মেশিন কোডে পরিনত করে দেয়। এরপর মেশিন সহজেই ঐ কোড গুলো এক্সিকিউট করতে পারে।

 

সি প্রোগ্রামিং এর একটা সুবিধে হচ্ছে এর কোড গুলোকে সরাসরি মেশিন কোডে কম্পাইল করা যায়।  আর তাই এটি দিয়ে খুব সহজেই মেশিনের জন্য কোড লেখা, অপারেটিং সিস্টেম তৈরি করা যায়।

 

টেক্সট এডিটর

 

কোড গুলো আমরা সাধারণত লিখি একটা টেক্সট এডিটরে। তোমরা অনেকেই হয়তো মাইক্রোসফট ওয়ার্ড বা এমন ওয়ার্ড প্রসেসর ব্যবহার করে থাকবে। ওয়ার্ড প্রসেসর আর টেক্সট এডিটরের পার্থক্য হচ্ছে টেক্সট এডিটরে আমরা যাই লিখি, তার সোর্স কোড তাই থাকবে। ওয়ার্ড প্রসেসরে আমরা যা লিখি, তা সে নিজের মত করে এনকোড করে রাখে। তোমার কম্পিউটারে ডিফল্ট টেক্সট এডিটর রয়েছে। যেমন উইন্ডোজে textpad.

 

আমরা আমাদের কোড যে কোন টেক্সট ইডিটরে লিখতে পারি। সি প্রোগ্রামিং এর এক্সটেনশন হচ্ছে .c। এরপর আমাদের কোড টি .c ফাইল হিসেবে যেমন hello.c নামে সেভ করে কম্পাইলারের মাধ্যমে রান করতে পারি।

IDE or Intergraded Development Environment

 

IDE হচ্ছে মাইক্রোসফট ওয়ার্ড প্রসেসরের মত একটি সফটওয়ার। এটির মধ্যে এক সাথে অনেক গুলো কাজ করা যায়। যেমন কোড লেখা যায়। এটির সাথে কম্পাইলার ইন্টিগ্রেটেড থাকে। কোড লিখে সরাসরি IDE থেকে রান করা যায়। আবার আমরা যদি কোন ভুল কোড লিখি IDE ভুল গুলো ধরতে পারে এবং কম্পাইল করার আগেই আমাদের জানাতে পারে। একটি প্রোগ্রাম লেখার পর যদি কোন ভুল হয়, কেন ভুল হয়েছে তাও IDE বলে দিতে পারে।

টেক্সট এডিটরে কোড লিখে এরপর আবার কম্পাইলারে প্রোগ্রাম রান করা নতুন যারার প্রোগ্রাম শিখবে, তাদের কাছে কঠিন মনে হতে পারে। তাই আমরা আমাদের প্রোগ্রাম লেখার সময় একটা IDE ব্যবহার করব।

 

প্রতিটা প্রোগ্রামিং ল্যাঙ্গুয়েজের জন্য আলাদা আলাদা IDE রয়েছে। আবার একটা IDE তে একাধিক প্রোগ্রামিং ল্যাঙ্গুয়েজে কোড লেখা যায়। সি প্রোগ্রাম লেখার জন্য একটা দারুণ IDE হচ্ছে CodeBlocks. আমরা সি কোড লেখা ও কম্পাইল করার জন্য CodeBlocks IDE ব্যবহার করব। CodeBlocks ডাউনলোড করতে চাইলে http://www.codeblocks.org/downloads   ওয়েব সাইটে গিয়ে ডাউনলোড করে নেওয়া যাবে।

 

কোডব্লকস ওয়েব সাইটের ডাউনলোড সেকশনে গিয়ে Download the binary release সেকশনে যেতে হবে। তুমি যে অপারেটিং সিস্টেম ব্যবহার কর, সে অনুযায়ী ডাউনলোড করতে হবে। ঐখানে প্রতিটা অপারেটিং সিস্টেমের জন্য আলাদা ডাউনলোড সেকশন রয়েছে।

ডাউনলোড করার সময় খেয়াল রাখতে হবে যেন তুমি mingw সহ ডাউনলোড কর। mingw হচ্ছে কম্পাইলার। কমপ্লাইলার সহ CodeBlocks ডাউনলোড না করলে তুমি তোমার প্রোগ্রাম রান করতে পারবে না। codeblocks-xx.0xmingw-setup.exe এরকম ফাইলটা ডাউনলোড করতে হবে। এখানে xx হচ্ছে যে  কোন সংখ্যা।  codeblocks নিয়মিত নতুন নতুন ভার্সন রিলিজ দেয়, তাই এই সংখ্যা পরিবর্তন হবে।

 

ডাউনলোড করার পর ইন্সটল করে নিতে হবে। যে কোন সাধারণ সফটওয়ার যেভাবে ইন্সটল দেওয়া হয়, সেভাবেই ইন্সটল করে নেওয়া যাবে।

 

CodeBlocks ছাড়াও আরো অনেক IDE রয়েছে সি প্রোগ্রাম লেখার জন্য যেমন Visual Studio, Xcode [ম্যাকের জন্য], Eclipse with CDT ইত্যাদি।

 

 

 

অ্যান্ড্রয়েড ফোন বা ট্যাবে সি প্রোগ্রাম লেখা

 

তোমার যদি একটা অ্যান্ড্রয়েড ডিভাইস থাকে, সেখানেও তুমি সি প্রোগ্রাম লিখে রান করে দেখতে পারো। গুগলের প্লে স্টোরে গিয়ে CppDroid – C/C++ IDE অ্যাপটা ইন্সটল করে এই অ্যাপে সি প্রোগ্রাম লিখতে পারবে। লিখে রান করে আউটপুট দেখতে পারবে। এই অ্যাপে অনেক গুলো প্রোগ্রামের উদাহরণ ও রয়েছে। সে গুলো দেখে দেখেও তুমি অনেক কিছু শিখতে পারবে।

 

প্রথম সি প্রোগ্রাম

 

আমরা সি কোড লেখা ও কম্পাইল করার জন্য CodeBlocks IDE ব্যবহার করব । CodeBlocks ডাউনলোড করতে চাইলে নিচের লিঙ্ক এ গিয়ে codeblocks-12.11mingw-setup_user.exe টি ডাউনলোড করে নিন।

http://www.codeblocks.org/downloads/binaries

তারপর ইন্সটল করুন। ইন্সটল হলে আপনি কোড লেখার জন্য প্রস্তুত। ওপেন করুন। তাহলে নিচের মত দেখতে পারেবন।

codeblocks

এখান থেকে Create New Project এ ক্লি করুন।

 এখান থেকে Console Application সিলেক্ট করে Go তে ক্লি করুন।

select programming

এবার C সিলেক্ট করে Next এ ক্লিক করুন। Project Title বক্স এ আপনার প্রজেক্ট এর নাম দিন। যেমন hello. Folder to create project in বক্স থেকে আপনার প্রজেক্টটি কোন ফোল্ডারে সেভ করতে চান তা সিলেক্ট করুন। Next এ ক্লি করুন। এবার Finish এ ক্লি করুন।

এবার ডান পাশে আপনার workspace দেখতে পাবেন। ঐখানে আপনার প্রোজেক্ট গুলো দেখাবে। hello এর + চিহ্নতে ক্লিক করুন। তারপর Source এর + চিহ্নতে ক্লিক করুন এবং main.c এর উপর ক্লিক করুন। CodeBlocks একটা  সিম্পল একটা কোড  টেম্পলেট  তৈরি করে প্রতি প্রজেক্টের জন্য, তা দেখাবে। যার মধ্যে লেখা থাকবেঃ

#include<stdio.h>
int main()
{
    printf("Hello world!");
    return 0;
}

আমাদের কোডটি কম্পাইল এবং রান করতে হবে তার জন্য ফাইল মেনু থেকে Build এ ক্লিক করুন এবং Build and Run এ ক্লিক করুন। তাহলে আপনার সি প্রোগ্রামটি কম্পাইল হবে এবং রান হবে। এবং নিচের মত আউটপুট দিবেঃ

c++ program

আপনি যদি উপরের প্রোগ্রামটি রান করাতে পারেন, তাহলে আপনাকে অভিনন্দন এবং স্বাগতম প্রোগ্রামিং এর মজার দুনিয়াতে। না করতে পারলে মন খারাপ করার দরকার নেই। আবার একটু চেষ্টা করুন প্রথম থেকে। তাহলেই হবে।

উপরের কোডে আমরা কি লিখছি তা এবার একটু ব্যাখ্যা করা যাক।

আমাদের প্রোগ্রামের প্রথম লাইন হচ্ছে  #include<stdio.h> । include মানে হচ্ছে কোন কিছু যুক্ত করা। stdio এর পূর্ণরূপ হচ্ছে standard input output. stdio.h এর .h দিয়ে বুঝানো হয় এটা একটা header ফাইল। আর পুরো লাইন দিয়ে বুঝানো হয় যে standard input output কে যুক্ত কর।  standard input output সম্পর্কে আরেকটু পরে বলব।

এর পরের লাইন হচ্ছে  int main(), এটিকে বলা হয় মেইন ফাংশন। আমরা যখন প্রোগ্রামটি রান করাবো তখন এ মেইন ফাংশন থেকে কাজ করা শুরু করবে।  তাই সব প্রোগ্রামে একটি (এবং কেবল একটি) মেইন ফাংশন থাকতে হয়। মেইন ফাংশনের শুরুতে দ্বিতীয় বন্ধনী দিয়ে শুরু করতে হয়।  মেইন ফাংশন শেষও করতে হয় একটি দ্বিতীয় বন্ধনী দিয়ে।
মেইন ফাংশন এর দ্বিতীয় বন্ধনী এর ভেতর প্রথম লাইন লিখছি আমরা printf(“Hello world!”);
এখানে printf() হচ্ছে একটি ফাংশন। printf এর মানে হচ্ছে print formatted। এটি একটি লাইব্রেরী ফাংশন যাকে স্ট্যান্ডার্ড আউপুট ফাংশন বলে।   printf()    এর কাজ হচ্ছে কনসোলে/স্ক্রিনে কিছু প্রিন্ট করা। ডবল কোটেশন চিহ্নের ভেতরে আমরা যা লিখব তা-ই স্ক্রিনে সে প্রিন্ট করবে। আমরা প্রথমেই যে একটি লাইন লিখছি #include<stdio.h> । printf() ফাংশনটি কিভাবে কোন কিছু প্রিন্ট করে তা লেখা রয়েছে এই stdio.h ফাইলে।

এর পর আমরা আরেকটি লাইন লিখছি return 0; আমরা বলছি যে main হচ্ছে একটা ফাংশন। প্রত্যক ফাংশন এর একটা return মান থাকতে হয়। যা ফাংশন এর কাজ শেষে কিছু একটা রিটার্ন করে। return 0 মানে শূন্য রিটার্ন করা। এ সম্পর্কে পরে আরো বিস্তারিত জানা যাবে যখন আমরা ফাংশন নিয়ে পড়ব।

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

এবার এ প্রোগ্রামটি নিজে নিজে লিখতে চেষ্টা করুন। Hello world! এর পরিবর্তে আপনার নাম বা ইচ্ছে মত কিছু দিয়ে রান করার চেষ্টা করুন।

 

সমস্যা এবং সমাধানঃ

কোড ব্লক একটা IDE. এটার সাথে আমাদের কম্পাইলার লাগে। যেটা আমাদের সি প্রোগ্রাম গুলোকে কম্পাইল করবে। যদি কম্পাইলার ইন্সটল না থাকে, তাহলে নিচের মত ইরর দেখাবে।

Environment Error Can’t fild compiler executable in your configurd search path for “GNU GCC” compiler

 

এ জন্য আমাদের Codeblocks with Mingw সহ ডাউনলোড করে ইন্সটল করতে হবে। ডাউনলোড পেইজে গিয়ে codeblocks-x.x.x mingw-setup.exe টা ডাউনলোড করে ইন্সটল করে নিলেই এ সমস্যার সমাধান হবে।

One thought on “প্রথম সি প্রোগ্রাম

Leave a Reply