5.7.2 হ্যালো ওয়ার্ল্ড (Hello world)

এখন আমরা একটি সি প্রোগ্রাম দেখব।

#include <stdio.h>

int main ()
{
    printf ("Hello World!");
	
    return 0;
}

প্রোগ্রামঃ 5.1

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

প্রোগ্রামটি রান করলে আউটপুট আসবে এরকম-

সি ভাষার তৈরি প্রোগ্রামে একটি নির্দিষ্ট কাজ করার জন্য একটি ফাংশন তৈরি করা হয়। ফাংশনের ভেতরে ওই কাজটি সম্পন্ন করার জন্য প্রয়োজনীয় কোড লেখা থাকে।

উপরের প্রোগ্রামের তৃতীয় লাইনে রয়েছে, int main()। একে বলা হয় main() ফাংশন। চতুর্থ এবং অষ্টম লাইনে দুটি ব্র্যাকেট (দ্বিতীয় বন্ধনী) চিহ্ন দিয়ে বোঝানো হচ্ছে main() ফাংশনটি চতুর্থ লাইনে শুরু হয়েছে এবং অষ্টম লাইনে শেষ হয়েছে। পঞ্চম ও সপ্তম লাইনে দুটি নির্দেশ দেওয়া হয়েছে। আর ষষ্ঠ লাইনটি ফাঁকা রাখা হয়েছে।

সি ভাষায় লেখা যে কোনো প্রোগ্রাম চলা শুরু হয় main() ফাংশন থেকে। যেমন- উপরের কোডে তৃতীয় লাইনে main() ফাংশন থেকে এই প্রোগ্রামটি চলতে আরম্ভ করবে। একটি প্রোগ্রামে কেবল একটি main() ফাংশনই লেখা হয়।

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

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

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

নিজে করি ১ঃ একটি প্রোগ্রাম লিখ যেটি স্ক্রিনে I love Bangladesh. কথাটি প্রিন্ট করবে।

#include <stdio.h>

int main ()
{
    printf ("I love Bangladesh.");
	
    return 0;
}