যারা এর আগের পর্ব মিস করেছেন, তার নিচের লিংক থেকে পড়ে আসতে পারেন-
পর্ব ১

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

যাইহোক,

প্রথমে অ্যাপটা ওপেন করুন যেটা গত পর্বে দিয়েছিলাম।
গতকালকের Hello World ফাইল ওপেন করুন


ইনপুট এ আমার মতো লিখুন।


#include <stdio.h>
int main ()
{
printf(“Hello World”);
return 0;
}

আপ্নারা ভাবতে পারেন যে কোনো কিছু না বুঝিয়ে আগেই কেন ইনপুট লেখাচ্ছি। এটা পরে বুঝবেন। আগে লিখুন।

এবার প্রোগ্রাম টি রান করুন। রান করলে নিচের মতো আসবে।

অর্থাৎ, আমরা সফলভাবে আমাদের প্রথম প্রোগ্রাম রান করতে পেরেছি। কংগ্রাচুলেশনস!

এবার আমি বুঝাই যে আমি কী করেছি।

আমি প্রথম লাইনে লিখেছি
#include <stdio.h>

এটা আর একটুখানি পর বুঝাচ্ছি।

তারপর লিখেছি
int main()
লেখা দেখেই বুঝতে পারছেন যে এটা মুল ফাংশন।
ফাংশন কী?
– ফাংশন হলো সেই সকল শব্দ যেটা দিয়ে আমরা কম্পিউটারকে দিক-নির্দেশনা দিবো। অর্থাৎ, প্রোগ্রাম এর কোথায় কোন কাজটা করবে সেটা বলা।
মুল ফাংশন হলো সেই ফাংশন যেখান থেকে সি-প্রোগ্রাম তার কাজ করা শুরু করে।

এরপর নিচের চিহ্ন টা দিয়েছি।
{
এই ২য় ব্র‍্যাকেট চিহ্ন টার কাজ হলো int main() ফাংশন কে একটি বোধগাম্য রুপ দেয়া। এটা মুল ফাংশনেরই অংশ। মুল ফাংশন লেখার পর { চিহ্ন দিয়ে প্রোগ্রাম লেখা শুরু এবং প্রোগ্রাম শেষে } চিহ্ন দিয়ে ক্লোজ করে দিতে হয়।

এরপর লিখেছি

printf(“Hello World”);

এখানে printf() একটি ফাংশন যার কাজ হলো আমাদের ডিভাইসের স্ক্রীনে কিছু দেখানো। প্রথম ব্র‍্যাকেটের মধ্যে আমরা কোটেশন (“”) চিহ্ন এর ভেতরে যা লিখবো সেটাই আমাদেরকে স্ক্রীনে দেখানো হবে। আর সেমিকোলন চিহ্ন (;) দ্বারা বুঝায় যে স্টেটমেন্ট শেষ।
স্টেটমেন্ট কী?
– আমরা যে printf(“Hello World”); এই লাইনটা লিখলাম, এটাই একটি স্টেটমেন্ট। এর সংজ্ঞা নেই আমার জ্ঞানে। এটাকে মনে করেন একটি বাক্য এবং সেমিকোলন হলো বাক্যের দাড়ি।

ফাংশন কীভাবে কাজ করে?
– এটার উত্তর লুকিয়ে আছে প্রথম লাইনে। আমাদের প্রথম লাইন ছিল
#include
এই লাইন দিয়ে আমরা বুঝিয়েছি যে সম্পুর্ন প্রোগ্রামটি stdio.h নামক একটি হেডার ফাইলের আওতায় রয়েছে।
এই একটা ফাইলের মধ্যেই লেখা আছে কীভাবে যাবতীয় ফাংশন কাজ করবে।
এখন এইটুকুই জেনে রাখুন, ঐ হেডার ফাইল কীভাবে কাজ করে সেটা পরে বুঝাবো।

এরপর আমি লিখেছি
return 0;
এটাকে সহজ ভাষায় বললে এমন হবে যে- এই ফাংশনটি কম্পিউটার কে এটা বলে যে প্রোগ্রাম লেখা এ পর্যন্তই শেষ এবং সেটা রান করার সম্পুর্ন উপযোগী। অর্থাৎ, এই ফাংশন যদি ব্যবহার করা নাহয় তাহলে কম্পাইলার অবিরত প্রোগ্রাম রান করতে থাকবে এবং রেজাল্ট বারবার আপডেট হতে থাকবে, যেটা ডিভাইস মেমরি তে প্রভাব ফেলে।
এটার ব্যবহার ও কাজ নিয়ে আরো বিস্তারিত অনেক আছে, কিন্তু আমাদের অতসব জানার প্রয়োজন নেই আপাতত।

নিচের স্ক্রীনশট খেয়াল করুন।

আমি এবার তিনটা আলাদা আলাদা স্টেটমেন্ট দিলাম এবং শেষে একটি রিটার্ন দিয়েছি। রান করলে নিচের মতো আসলো।

কিন্তু কী হবে যদি আমরা প্রত্যেক স্টেটমেন্ট এর পরে একটা করে রিটার্ন বসাই?
আসুন দেখি।


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

এই হলো ব্যাসিক। কিন্তু এর সাথে আরেকটি গুরুত্বপূর্ণ জিনিস রয়েছে। সেটা হলো সাজ-সজ্জা।
আমার লেখা ইনপুট টা আবার খেয়াল করুন।

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

মনে করুন,
আপনি পরীক্ষার হলে। আপনাকে প্রশ্ন দেয়া হলো। আপনার কাছে একটা সাদা কাগজ আছে যেটাতে আপনি প্রশ্নের উত্তর লিখতে চান। সেজন্য আপনি খাতায় মার্জিন টানলেন এবং মার্জিন এর ভিতরে লেখা শুরু করলেন।
এখানে int main() ফাংশনটি ঐ মার্জিন। আর এরপর মার্জিনের ভেতরে আপনি আপনার উত্তর গুলো লিখলেন যেটা printf() এবং মার্জিনের বাইরে লেখার অধিকার থাকে শুধু টিচারদের, টিচার হলো কম্পাইলার এবং তাদের নিয়ম-কানুন হলো stdio.h ফাইল। এরপর লেখা শেষে আপনি সমাপ্তি চিহ্ন দিয়ে বুঝালেন যে আপনার কথা শেষ, এটা হলো return 0.
আর আপনি যে সুন্দর করে সাজিয়ে গুছিয়ে লিখবেন খাতায়, সেটা হলো ইনডেন্টেশন। আপনি নির্ভুলে সব উত্তর লিখে জমা দিলেন, ফলাফল এ সব ঠিক হলো। অর্থাৎ আপনার প্রোগ্রাম সঠিকভাবে রান হয়েছে।

আজ এ পর্যন্তই।

আমি নিজের মতো করে যতো সহজ ভাবে বুঝানো সম্ভব, চেস্টা করেছি। আশা করি বুঝতে কোথাও অসুবিধা হয়নি।
কমেন্ট বক্স আছে, প্রশ্ন থাকলে জানাবেন।

এই পর্ব ভালো ভাবে বুঝতে পারলে আগামী পর্ব বুঝতে আরো বেশি সুবিধা হবে। আগামী পর্বটা বেশ বড় হবে এবং এক ধরণের তিনটি ভিন্ন ভিন্ন লেভেলের প্রোগ্রাম শিখবো।

18 thoughts on "অ্যান্ড্রয়েড দিয়ে সি-প্রোগ্রামিং শিখুন (পর্ব-২) “Hello World”"

  1. Avatar photo Xein Ahmed Author says:
    we can have some advanced coding?
    1. Avatar photo V Author Post Creator says:
      এডভান্স কোডিং এ যেতে হলে আরো ১০০+ পর্ব শেষ করতে হবে ? তাও পৌঁছাতে পারবো কিনা সন্দেহ।
  2. Avatar photo MD Musabbir Kabir Ovi Author says:
    আশা করছি খুব জলদি পরবর্তী পর্ব পাবো।
    1. Avatar photo V Author Post Creator says:
      হ্যা, অবশ্যই। ☺️
    2. Avatar photo MD Musabbir Kabir Ovi Author says:
      অপেক্ষায় রইলাম
  3. Nayeem24 Author says:
    Apni khub sundor vabe post ti uposthapon korechen. Chaliye jan
    1. Avatar photo V Author Post Creator says:
      ধন্যবাদ ?
  4. Toaha Contributor says:
    আশা করি ধীরে ধীরে এখান থেকে অ্যাডভান্স সি ও শিখবো।তবে মেইন ফাংশণের বাইরে একটা ফাংশণ লিখে মেইন ফাংশণে কল করলেও হবে।

    #include
    #include
    #include

    void hlw()
    {

    printf(” HI\n\t”);

    }
    void main()
    {

    hlw();
    getch();

    }

  5. Avatar photo Rakib Author says:
    Sundor Post.. But Buji na?? dukko
    1. Avatar photo V Author Post Creator says:
      ?????
    2. Avatar photo Rakib Author says:
      I’m noob
  6. Avatar photo Shakib Expert Author says:
    hsc ict programming shikhaben naki vai? ?
    1. Avatar photo Ersiaa Author Post Creator says:
      HSC ict? ?? এইচএসসি তে প্রোগ্রামিং আছে? ?
  7. Avatar photo Md Mahabub Khan Author says:
    Thank your excelent post
  8. Avatar photo Md Mahabub Khan Author says:
    3rd post asa kori aro sundor hobe
    1. Avatar photo V Author Post Creator says:
      আর কিছুক্ষণ পরেই বুঝতে পারবেন। ?
  9. Avatar photo AMIT✪ Author says:
    waiting For Next PART
    1. Avatar photo V Author Post Creator says:
      আর ১০ মিনিট পর ই পাবেন।

Leave a Reply