প্রোগ্রামিং পর্ব ১
“একটি সি প্রোগ্রামের গঠন”

Ruhul Amin
3 min readApr 3, 2020

--

src: http://geeksforgeeks.org/

#include<stdio.h>
int main()
{
int a=10;
printf(“%d”,a);
return 0;
}
প্রথমেই আমরা দেখে নেই এই সিম্পল প্রোগ্রামটার সবকিছু আমরা ভালোভাবে বুঝি কিনা।
১ . হেডার ফাইল সেকশন

#inlude<stdio.h>
এই অংশটুকুকে আমরা বলে থাকি হেডার ফাইল তাই না ? কিন্তু হেডার ফাইল বিষয়টা ভালোভাবে বুঝি তো ? আচ্ছা মনে করো তোমার কাছে একটা ফার্স্ট এইড (প্রাথমিক চিকিৎসা সেবার বক্স) আছে সেইখানে সেবলন , কাঁচি , সহ আরও অনেক কিছু থাকে । এখন তুমি যদি এই জিনিস গুলো ব্যবহার করতে চাও তাহলে কিন্তু তোমাকে এই ফাস্ট এইড বক্সটা তোমার সাথেই রাখতে হবে তাই না। ঠিক তেমনই প্রোগ্রামিং এ আমাদের কিছু ফাস্ট এইড বক্স আছে যেইখান থেকে আমরা আমাদের খুচরো জিনিস গুলো ব্যাবহার করতে পারি আর এই খুচরো জিনিস গুলো হলো আমাদের প্রোগ্রামের মাজের ফাংশন গুলো । এই যেমন আমি এই প্রোগ্রামে একটা ফাংশন ব্যাবহার করেছি Printf() আর এইটা আছে stdio.h নামক ফাস্ট এইড বক্স বা হেডার ফাইলে । stdio.h= standrad input output header file.
printf() এর মতো আরও কয়েকটা ফাংশন এর সাথে তোমারা ইতিমধ্যেই পরিচিত যেমন scanf() , getch(),clrsr(),pow(),round() ইত্যাদি আর এইগুলো ব্যবহার করতে হলে আমদেরকে এদের হেডারফাইলকে প্রোগ্রামের শুরুতে লিখতে হবে ।

2. মেইন ফাংশন সেকশন

int main()
‘()’ এই জিনিসটা যেইখানেই দেখবে তখনি বুজবে এইটা একটা ফাংশন । তারমানে main() এইটার নাম হল মেইন ফাংশন । তাহলে আমি যদি লেখি corona_virus() ? তাহলে এইটাকে আমরা বলতে পারি করোনা ভাইরাস ফাংশন । main() ফাংশন এর ভিতরে আমরা যেই কাজ গুলো করবো ওইটাই এক্সিকিউট হবে।
এখন আসি int main() আর void main() নিয়ে মারামারির বিষয়ে । আমাদের মাঝে তোঁতা পাখির মতো একটা কমন ডায়লগ আছে “ int main() দিলে return ০ দিতে হয় আর void main() দিলে return 0 দিতে হয়না “
চলো বিষয়টা একটু ক্লিয়ার করে নেই । void মানে আসলেই কিছু রিটার্ন করবে না। int main() মানে ইন্টিজার টাইপ কিছু রিটার্ন করবে এইটা যে return 0 এই হবে এমন না। return 1 বা যেকোন ইন্টিজার নাম্বার হতে পারে । ক্লিয়ার তো ?

৩ . ভ্যারিয়েবল সেকশন
int a=10;
প্রোগ্রামিং এর পঞ্চরত্ন বিষয়টা জানো তো ? ওকে না জানলেও সমস্যা নাই এইটা নিয়ে আরেকদিন কথা বলবো । আপাদত ভ্যারিয়েবল নিয়েই কথা বলা যাক । আমরা তো সন্ধি বিচ্ছেদ পারি তাই না ? তাহলে variable এর সন্ধি বিচ্ছেদটা করে ফেলি vary+able তারমানে vary মানে পরিবর্তন আর able হলো সক্ষমতা আছে এমন বা যোগ্য । সুতরাং ভ্যারিয়েবল হলো পরিবর্তন করা যায় এমন কিছু। ভ্যারিয়েবলকে আমরা একটা গ্লাসের সাথে তুলনা করতে পারি গ্লাসে যেমন আমরা পানি বা কোন তরল রাখতে পারি ঠিক তেমনি ভ্যারিয়েবলে আমরা কোন মান বা ভ্যালু রাখতে পারি । তাহলে এইখানে আছে int a = 10 মানে a একটা ভ্যারিয়েবল এইখানে আমরা 10 কে রেখেছি । এখন কথা হচ্ছে ভ্যারিয়েবলের টাইপ কি ? আসলেই তো । টাইপ কি ? এইগুলা কত প্রকার ? আচ্ছা তুমি সিম্পল একটা চিন্তা করো আমি তোমাকে ২ লিটার তেল দিলাম , ১কেজি মাংস দিলাম, ১ কেজি চাল দিলাম , কয়েকটা পেঁয়াজ দিলাম এখন তুমি আমাদেরকে বিরানি রান্না করে খাওয়াবে । এখন কথা হলো 2 লিটার তেল রাখার জন্য তুমি একটা বোতল ব্যাবহার করবে কিন্তু ১ কেজি মাংস কি বোতলে রাখতে পারবে ? অবশ্যই একটা বাটি বা ডিসে রাখবে , ১ কেজি চাল একটা কৌটায় রাখলে , পেঁয়াজ একটা ঝুড়িতে রাখলে তাই না ? তারমানে এক এক টাইপের জন্য এক এক রকম পাত্র ব্যাবহার করলে ঠিক একই ভাবে এক এক রকম ডাটাকে আমরা এক এক টাইপ ভ্যারিয়েবলে রাখতে পারি । এখন চিন্তা করো আমাদের এই ডাটা গুলো কেমন হতে পারে ?
আমি তোমাকে বললাম তোমার বয়স কত ?
তুমি বললে ২০
তারমানে এই ডাটার টাইপ হলো ইন্টিজার বা একটা নাম্বার আর এই নাম্বার গুলোকে আমরা কয়েকভাবে ভাগ করতে পারি ।
১ integer
২ floating
৩ double
তোমার নামের প্রথম অক্ষর কি ? সেটা হতে পারে ‘s’ ‘k’ ,’a’ বা অন্য যেকোন অক্ষর তারমানে এই ধরনের ডাটা টাইপ গুলোকে বলা হয় ক্যারেক্টার টাইপ ডাটা ।
যাকে প্রোগ্রামিং এ char হিসেবে আমরা নেই ।
ঠিক এইরকম আরো কিছু ডাটা টাইপ আছে যেমন string । স্ট্রিং হলো অনেকগুলো ক্যারেক্টারের সমষ্টি । যেমন man হলো একটা স্ট্রিং যেইখানে ৩টা ক্যারেক্টার আছে যথাক্রমে ‘m’ ‘a’ ’n’. আবার সত্য মিথ্যা টাইপ ডাটা আছে যেইগুলাকে বুলিয়ান বলা হয় । এইটাকে bool বলা হয় ।
তাহলে আমরা ডাটার টাইপ গুলো পেলাম
int
float
double
char
string
bool
আরো কিছু ডাটা টাইপ আছে । ওইগুলা সামনে জানতে পারবে ।

--

--

Ruhul Amin
Ruhul Amin

Written by Ruhul Amin

Software Engineer,backend developer, Love to write content on programming and technical topics

No responses yet