প্রথম সি প্রোগ্রামঃ আপনি জীবনে যদি এই প্রথম প্রোগ্রামিং সম্পর্কে পড়ছেন এমনও হয় তাহলেও আপনার নিচের প্রোগ্রামের প্রতিটি লাইন বুঝতে একটুও সমস্যা হবে না।
কোন কিছু না বুঝে নিচের প্রোগ্রামটা যেকোন কম্পাইলারে লিখে রান করুনঃ
1
2
3
4
5
6
| #include<stdio.h> int main() { printf ( "Hello World" ); return 0; } |
output
Hello World
এখন উপরের প্রোগ্রামের প্রতিটি লাইনের ব্যাখ্যা বুঝতে রবিনের জন্ম দিনের কয়েক ঘন্টার কার্যকলাপ একটু মনযোগ দিয়ে পড়ুনঃ
১. রবিন একটি রেস্টুরেন্ট এ এসে বসল। ওয়েটার আসল মেনু নিয়ে। রবিন তার পছন্দের খাবারের তালিকা নির্বাচন করে ওয়েটার কে দিল।
২. ওয়েটার মেনু নিয়ে চলে গেল রাঁধুনীর কাছে। এই মেনুর খাবার তৈরিতে যেসব রন্ধন সামগ্রী লাগবে সব রাঁধুনীকে দেওয়া হল।
৩. রাঁধুনী মেনু দেখে রবিনের পছন্দের খাবার তৈরি করল।
৪. কিছুক্ষণ পর ওয়েটার খাবার নিয়ে আসল।
পছন্দের খাদ্য তালিকা তৈরি করছে
খাদ্য তালিকা অনুযায়ী রান্না হচ্ছে
উপরের প্রোগ্রামটির প্রতিটি লাইনের ব্যাখ্যাঃ
১. #include<stdio.h> : এই লাইনটি রাঁধুনীকে দেওয়া রন্ধন সামগ্রীর সাথে তুলনা করতে পারেন। সি প্রোগ্রামের কিছু কমান্ড কম্পাইলারে দেওয়া থাকে। সেই কমান্ডগুলা আপনার প্রগ্রামে সংযুক্ত করতে #include<stdio.h> লিখা হয়েছে। রাঁধুনীকে যেমন মেনু অনুযায়ী খাবার তৈরি করতে রন্ধন সামগ্রী দিতে হয়েছে, একইভাবে printf("Hello World"); লাইনটি কাজ করার জন্য যেই কমান্ডগুলা দরকার সেগুলো #include<stdio.h> লাইনটার মাধ্যমে সংযুক্ত করে দেওয়া হয়েছে।
stdio মানে হলঃ Standard Input Output. এটাকে হেডার ফাইল বলে .h দিয়ে header file বুঝানো হচ্ছে।
stdio মানে হলঃ Standard Input Output. এটাকে হেডার ফাইল বলে .h দিয়ে header file বুঝানো হচ্ছে।
২. int main() : এই লাইনটাকে আপনি ওয়েটারের সাথে তুলনা করতে পারেন। খাবার রান্না করা থেকে রবিনের কাছে খাবার আসা পর্যন্ত সম্পূর্ন প্রক্রিয়াটা শুরু করে দিয়েছে ওয়েটার, মেনুটি রাঁধুনির কাছে হস্তান্তর করে। একইভাবে int main() '{ }' এর ভেতরে যে লাইনগুলো আছে সেগুলকে কম্পাইলারের কাছে হস্তান্তর করে প্রোগ্রামটির এক্সিকিউশন শুরু করে দিয়েছে।
উল্লেখ্য যে, '{' কে বলা হয় ওপেনিং কার্লি ব্রেস এবং '}' কে বলা হয় ক্লোসিং কার্লি ব্রেস। int main() এর পর যে ওপেনিং কার্লি ব্রেস আছে সেখান থেকে এক্সিকিউশন শুরু হয় এবং ক্লোসিং কার্লি ব্রেস এ এক্সিকিউশন টার্মিনেট হয়।
৩.
উল্লেখ্য যে, '{' কে বলা হয় ওপেনিং কার্লি ব্রেস এবং '}' কে বলা হয় ক্লোসিং কার্লি ব্রেস। int main() এর পর যে ওপেনিং কার্লি ব্রেস আছে সেখান থেকে এক্সিকিউশন শুরু হয় এবং ক্লোসিং কার্লি ব্রেস এ এক্সিকিউশন টার্মিনেট হয়।
৩.
1
2
3
4
| { printf ( "Hello World" ); return 0; } |
: এই লাইনগুলোকে রবিনের পছন্দ করা মেনুর সাথে তুলনা করতে পারেন। রবিন যেমন ইচ্ছে মত খারের আইটেম নির্বাচন করে মেনু তৈরি করতে পারে, একই ভাবে একজন প্রোগ্রামার তার পছন্দের কোন কাজ করতে '{}' এর ভেতরে সি এর কোড লিখতে পারে। সেটি হতে পারে ২ লাইনের সহজ কোন প্রোগ্রাম আবার ১০০০ লাইনের জটিল কোন প্রোগ্রাম।
উল্লেখ্য যে, printf(); কে বলা হয় লাইব্রেরী ফাংশন যেটি কম্পাইলারের সাথে stdio.h ফাইলে থাকে। এই printf(); ফাংশনটি কাজ করার জন্যই শুরুতে #include লাইনটি লিখে দিতে হয়েছে। printf(); ফাংশনের ভেতরে ডাবল ইনভার্টেট কমার ভেতরে যা লিখে দেওয়া হয় তাই আউটপুটে দেখায়। আমি Hello world দেখতে চেয়েছি তাই
printf("Hello world"); লিখিছি।
উল্লেখ্য যে, printf(); কে বলা হয় লাইব্রেরী ফাংশন যেটি কম্পাইলারের সাথে stdio.h ফাইলে থাকে। এই printf(); ফাংশনটি কাজ করার জন্যই শুরুতে #include লাইনটি লিখে দিতে হয়েছে। printf(); ফাংশনের ভেতরে ডাবল ইনভার্টেট কমার ভেতরে যা লিখে দেওয়া হয় তাই আউটপুটে দেখায়। আমি Hello world দেখতে চেয়েছি তাই
printf("Hello world"); লিখিছি।
যে কোন সি প্রোগ্রাম লিখার জন্য int main() এই ফাংশন টা লিখতে হয়।এরপর যেখান থেকে “{” শুরু হয় তার পর থেকে প্রোগ্রাম টা এক্সিকিউট করা শুরু করে এবং একটি একটি করে লাইন এক্সিকিউট করার পর যেখানে “}”আছে সেখানে টার্মিনেট করবে।লক্ষ্য রাখতে হবে যে int এবং main এর মাঝে যেন কমপক্ষে একটা space থাকে।
***কোন লাইন এক্সিকিউট করা মানে হলো সেই লাইন এর যে কাজ সেই কাজটি করা।
***কোন লাইন এক্সিকিউট করা মানে হলো সেই লাইন এর যে কাজ সেই কাজটি করা।
বিঃদ্রঃ return 0; লাইনটির ব্যাখ্যা ফাংশন অধ্যায় পড়ার পর বুঝা যাবে।
0 comments:
Post a Comment