somewhere in... blog
x
ফোনেটিক ইউনিজয় বিজয়

সি প্রোগ্রামিং: বিগিনার লেভেল - পর্ব ১.২

২৮ শে জুলাই, ২০০৯ বিকাল ৪:১৮
এই পোস্টটি শেয়ার করতে চাইলে :

পর্ব ১.২:

ডেটা টাইপ:
সি-তে বিভিন্ন ডেটা স্টোর বা ইনপুট এর জন্য বিভিন্ন ডেটা টাইপ ব্যবহার করতে হয়। যেমন কোন পূর্ণ সংখ্যার জন্য int (integer-এর সংক্ষিপ্ত রূপ), একটি অক্ষরের জন্য char (character-এর সংক্ষিপ্ত রূপ) ইত্যাদি। সি-তে যখন কোন পূর্ণসংখ্যা নিয়ে কাজ করতে হবে তখন একটি int-টাইপের ভ্যারিয়েবল ডিক্লেয়ার করতে হবে। ভ্যারিয়েবল হল একটি পাত্র বা প্লেট এর মত যা কিছু ধারন করতে পারে। ইন্টিজার হল ০, ১, ২... এরকম পূর্ণসংখ্যা (ঋণাত্বক সহ)। আপনি যখন একটি int-টাইপের ভ্যারিয়েবল ডিক্লেয়ার করবেন তখন তা মেমরী ব্লকে (অর্থাৎ RAM-এ) ২ বাইটের একটি অংশ ইন্টিজার টাইপের ডেটার জন্য সংরক্ষন করে এবং তা শুধুমাত্র একটি ইন্টিজার টাইপের ডেটাই সংরক্ষন করতে পারে।

ডেটা টাইপ আরো ভাল করে বুঝার জন্য একটি উদাহরণ বিবেচনা করা যাক। আপনার ডাইনিং টেবিলে খাওয়ার সময় বিভিন্ন ধরনের বাটি থাকে। যেমন ভাতের জন্য একটি বোল, যাকে আপনি সচরাচর ভাতের গামলা বলে থাকেন, একটি ডালের বাটি, সব্জির বাটি, তরকারীর বাটি ইত্যাদি ইত্যাদি। আপনি ভাতের গামলায় শুধুই ভাত রাখেন অন্য কিছু নয়। সে রকম আপনার কম্পিউটারের RAM হল আপনার ডাইনিং টেবিলের মত, যেখানে আপনি ভাত, ডাল, তরকারীর জন্য বিভিন্ন স্থান বা বাটি নির্দিষ্ট করে দিয়েছেন। তেমনি RAM বা মেমরি ব্লকে একটি int-টাইপের ভ্যারিয়েবল ডিক্লেয়ার করার মানে হল একটি ইন্টিজার সংরক্ষন করার জন্য স্থান নির্দিষ্ট করে দেয়া।

সি ল্যাঙ্গুয়েজে আরেকটি কোড দেখুন:

#include
#include

int main()
{
clrscr();
int a,b,c;
printf(“Please enter first number: “);
scanf(“%d”,&a);
printf(“
Please enter second number: “);
scanf(“%d”,&b);
c=a+b;
printf(“
The summation is: %d “,c);
return 0;
}

এখানে clrscr() এর পরের লাইনটি খেয়াল করুন, এখানে তিনটি ইন্টিজার ভ্যারিয়েবল ডিক্লেয়ার করা হয়েছে। আপনি চাইলে তিনটি একসাথে ডিক্লেয়ার না করে আলাদা আলাদা করেও ডিক্লেয়ার করতে পারবেন। সেক্ষেত্রে লিখতে হত - int a; int b; int c;

এরপর printf() ফাংশন ব্যবহার করে Please enter the first number: কথাটি স্ক্রীনে ছাপানো হয়েছে। এরপরের লাইনে একটি নতুন ফাংশন scanf() ব্যবহার করা হয়েছে।
scanf() এর কাজ হল ইউজারের কাছ থেকে কোন কিছু ইনপুট নেওয়া। scanf()-এর গঠন-
scanf(“কন্ট্রোল স্ট্রিং”,&মেমরি-লোকেশন)

এখানে আমারা একটি ইন্টিজার ইনপুট নিতে চাই। ইন্টিজারের জন্য কন্ট্রোল স্ট্রিং হল %d। scanf() -এর মধ্যে কম্পাইলার যখন %d পাবে তখন এটি ইউজারের কাছ থেকে একটি ইন্টিজার ভ্যালু গ্রহনের জন্য প্রস্তুত হবে। কন্ট্রোল স্ট্রিং লিখতে হয় ডাবল কোটেশন এর মধ্যে, এরপর একটি কমা(,) দিয়ে একটি ভ্যারিয়েবল নির্দিষ্ট করে দিতে হয় যেখানে কম্পাইলার ইউজারের কাছ থেকে ডেটা নিয়ে স্টোর করবে। এখানে আগেই ডিক্লেয়ার করা a নামের ইন্টিজার ভ্যারিয়েবলটিতে কনসোল(কীবোর্ড,মনিটর) থেকে ইনপুট নিয়ে সেটি স্টোর করা হয়েছে। পরবর্তি দুই লাইনের কাজ এখন আপনি নিজেই বুঝতে পারবেন। দ্বিতীয় যে scanf() এর ব্যবহার করা হয়েছে সেটিতে b ভ্যারিয়েবলটিতে ডেটা স্টোর করা হয়েছে। এখানে লক্ষ করুন, ভ্যারিয়েবলের নামের আগে & চিহ্ন ব্যবহার করা হয়েছে। এই & চিহ্নটি হল একটি পয়েন্টার যা ঐ ভ্যারিয়েবলটির এড্রেস পয়েন্ট করে। scanf() এর ক্ষেত্রে ভ্যারিয়েবলের নামের আগে এই চিহ্নটি ব্যবহার করতে হয়। কিন্তু কেন করতে হয় তা পরবর্তিতে আলোচনা করা হবে।

এর পরবর্তি লাইনটি এবার দেখুন, c=a+b। এখানে এখন a এবং b ভ্যারিয়েবল দুইটিতে দুইটি ইন্টিজার সংখ্যা আছে। এই লাইনটি এক্সিকিউট করার পর c নামের ভ্যারিয়েবলটিতে a এবং b এর ভ্যালুর সমষ্টি এসাইন হয়ে যাবে। মনে রাখবেন, = অপারেটরটির বাম পাশে যে ভ্যারিয়েবলে ডেটা এসাইন করতে চান সেটি লিখতে হবে। আর ডানপাশে লিখতে হবে যার ভ্যালু এসাইন করতে চান সেটি। অর্থাৎ এই লাইনটির অর্থ দাড়াল এই রকম, a+b এর ভ্যালু c নামক ভ্যারিয়েবলে এসাইন কর। এরপরের লাইনে c এর ভ্যালু অর্থাৎ a+b এর ভ্যালু প্রিন্ট করা হবে। এখানে ডাবল কোটেশনের মধ্যে শুরু হয়েছে
দিয়ে, এর অর্থ হল new line। printf() এর ডাবল কোটেশনের মধ্যে
দিলে তা পরবর্তি লাইনে আউটপুট প্রদর্শন করে। এখানে একটি নতুন লাইনে The summation is: এটুকু প্রিন্ট করার পর %d কন্ট্রোল স্ট্রিং পাবে, অর্থাৎ একটি ইন্টিজার ভ্যালু প্রিন্ট করার নির্দেশ পাবে। কমার পর c ভ্যারিয়েবল উল্লেখ করার কারনে এই %d এর স্থলে c এর ভ্যালু প্রিন্ট করা হবে।

ভ্যারিয়েবলের নামকরনের সময় কয়েকটি জিনিস লক্ষ রাখবেন,
ভ্যারিয়েবলের নাম অবশ্যই কোন ইংরেজি অক্ষর দিয়ে শুরু হবে (a-z, A-Z), কোন সংখ্যা দিয়ে হতে পারবে না (0-9)।
ভ্যারিয়েবলের নামে আন্ডারস্কোর ( _ ) ছাড়া অন্য কোন চিহ্ন ( , . / ; ! @ ইত্যাদি ) থাকতে পারবে না, এবং পরপর দুইটি আন্ডারস্কোর দেয়া যাবে না।
ভ্যারিয়েবলের নাম সি এর কোন সিনট্যাক্স (printf, int, char) এর মত হতে পারবে না।
A, a অথবা vari, Vari, vAri ইত্যাদি আলাদা আলাদা ভ্যারিয়েবল।

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


১.০ ১.১ ১.২
সর্বশেষ এডিট : ৩১ শে জুলাই, ২০০৯ দুপুর ১২:২২
৪টি মন্তব্য ২টি উত্তর

আপনার মন্তব্য লিখুন

ছবি সংযুক্ত করতে এখানে ড্রাগ করে আনুন অথবা কম্পিউটারের নির্ধারিত স্থান থেকে সংযুক্ত করুন (সর্বোচ্চ ইমেজ সাইজঃ ১০ মেগাবাইট)
Shore O Shore A Hrosho I Dirgho I Hrosho U Dirgho U Ri E OI O OU Ka Kha Ga Gha Uma Cha Chha Ja Jha Yon To TTho Do Dho MurdhonNo TTo Tho DDo DDho No Po Fo Bo Vo Mo Ontoshto Zo Ro Lo Talobyo Sho Murdhonyo So Dontyo So Ho Zukto Kho Doye Bindu Ro Dhoye Bindu Ro Ontosthyo Yo Khondo Tto Uniswor Bisworgo Chondro Bindu A Kar E Kar O Kar Hrosho I Kar Dirgho I Kar Hrosho U Kar Dirgho U Kar Ou Kar Oi Kar Joiner Ro Fola Zo Fola Ref Ri Kar Hoshonto Doi Bo Dari SpaceBar
এই পোস্টটি শেয়ার করতে চাইলে :
আলোচিত ব্লগ

একজন বণিক, যিনি বদলে দিয়েছিলেন সমগ্র আরবের ইতিহাস

লিখেছেন সৈয়দ কুতুব, ০৮ ই জুন, ২০২৬ রাত ২:৪৩


মরুভূমির মাঝে দাঁড়িয়ে পুরো আরবকে বদলে দেওয়ার স্বপ্ন দেতেন একজন মানুষ। শুনতে পাগলামি লাগে, তাই না? কিন্তু সেই মানুষটা যদি ছোটবেলা থেকে কাফেলায় কাজ করে থাকেন, যদি তিনি জানেন... ...বাকিটুকু পড়ুন

কৃত্তিম বুদ্ধিমত্তা যেভাবে আব্বাসীদের জন্য হুমকি হয়ে আসছে- কী হবে খালেদ মহিউদ্দিনের?

লিখেছেন হিমন, ০৮ ই জুন, ২০২৬ রাত ২:৫০

হোমো ইরেক্টাসদের প্রায় বিশ লাখ বছর আগের আগুনের ব্যবহার থেকে শুরু করে ছয় হাজার বছর আগের চাকা আবিষ্কার, ১৮৩১ সালের বিদ্যুৎ, গত শতাব্দীর অ্যান্টিবায়োটিক, আর এই সেদিনের ইন্টারনেট ও স্মার্টফোন—... ...বাকিটুকু পড়ুন

আসলে কেউ ফেরে না।

লিখেছেন রানার ব্লগ, ০৮ ই জুন, ২০২৬ সকাল ৭:০৬

মৃতরা ফিরে আসে না।
ফিরে আসে তাদের ফেলে যাওয়া শূন্যতা,
চায়ের কাপের ধোঁয়া,
অধেক বলা কোনো কথা
অথবা হঠাৎ থেমে যাওয়া কোন সুর

যে প্রেম চলে গিয়েছিল,
সে আর কোনোদিন দরজায় কড়া নাড়ে না।
শুধু একদিন আয়নায়... ...বাকিটুকু পড়ুন

দ্য ড্রাগ কিং

লিখেছেন শাম্মী নূর-এ-আলম রাজু, ০৮ ই জুন, ২০২৬ দুপুর ১২:১৫


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

খুলনা... ...বাকিটুকু পড়ুন

সামুতে আবারও লিলিপুটিয়ানদের সংখ্যা বেড়ে যাচ্ছে

লিখেছেন সত্যপথিক শাইয়্যান, ০৮ ই জুন, ২০২৬ দুপুর ১২:৫৮

আমার গত পোস্টে আলামিন১০৪ নামের এক ব্লগার মন্তব্য করেছেন যে - "এ আই দিয়ে হুমায়ূন আহমেদের মতো লেখা যায়।"
তিনি এ আই-কে প্রম্পট দিয়েছিলেন ' হুমায়ুন আহমেদের মতো গল্প লিখে... ...বাকিটুকু পড়ুন

×