সি প্রোগ্রামিং এর ভেরিয়েবল কি সিনট্যাক্স এবং প্রোগ্রাম?

সি একটি প্রসিডিউর প্রোগ্রামিং ল্যাঙ্গুয়েজ। সি প্রোগ্রামিং ভাষার আদি বৃত আগের একটি টিউনে আলোচনা করেছি। আজকে আলোচনা করবো সি ভাষার বেসিক কিছু নিয়ম বা রুল নিয়ে। বিপিয়া টিউটোরের আজকের নিবেদন সি প্রোগ্রামিং ভাষার ভেরিয়েবল (Variable) নিয়ে। এই টিউনটি বিশেষ করে একাদশ শ্রেণির ছাত্র ছাত্রীদের উদ্দেশ্য করে লেখা। আইসিটি বই খুললেই হিজিবিজি যে প্রোগ্রামিং টা দেখতে পায় তারা সেটা তাদের হাতে খড়ি না। আরো অনেক কিছুই আছে যেটা কিনা ঐ কয়েক পৃষ্ঠার বইয়ে বুঝা সম্ভন না। তাই স্টুডেন্ট যারা আছ, তোমরা লেশনটি ভালো করে খেয়াল কর। তোমাদের বোধগম্য করে লেখা হয়েছে।

সি প্রোগ্রামিং ভাষায় চারটি ভেরিয়েবল আছে। সেটা তোমরা জানো।

  • ক্যারেক্টার (Character)[char] - অক্ষর ধরে রাখে (Ex: A, b, C, d)।
  • ইন্টিজার (Integer) [int] - পূর্ণ সংখ্যা ধরে রাখে (Ex: 0, 1, 2, 3, 4)।
  • ফ্লোট (Float) [float] - দশমিক সংখ্যা ধরে রাখে (Ex: 2.33, 4.6, 1.12)।
  • ডবল (Double) [double] - অনেক বড় দশমিক সংখ্যা ধরে রাখে (Ex: 2.1211134524, 3.123124548323)।

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


উপরের চিত্রে আমরা ১ ডজন আপেল দেখতে পাচ্ছি। কি! আপেল দেখে জ্বিভে জল চলে এলো? আজ এই আপেল বক্স দিয়েই ভেরিয়েবল জিনিসটা বুঝে নেবো।
দেখতো, উপরের চিত্রে কি কি রয়েছে। দুটা জিনিস রয়েছে।
১. ১২টি আপেল এবং
২. একটি আপেল রাখার বক্স।

এই বাক্সের মধ্যে শুধু আপেল না অনেক ধরনের ফলমূল আমরা চাইলে রাখতে পারি। পারি না? অবশ্যই পারি। যেমন আঙ্গুর ফল রাখতে পারি, লিচু রাখতে পারি, জাম রাখতে পারি। আরো অনেক কিছু। মোট কথায়, বাক্সটিতে ধারণ করতে পারে এমন অনেক কিছুই এখানে রাখা সম্ভব।
এখন আমার ইচ্ছা হল আমি আরো ১২টি আপেল এক সাথে রাখতে। সেটা কিভাবে সম্ভব?
দুটি উপায়ে সেটা সম্ভব। যেমন,
১. আরেকটি একই ধরনের আপেল বক্স এনে এক সাথে বাধায় করলে
২. অথবা এই বক্সের দ্বিগুণ বড় কোন বক্স আনলে।

এই ঘটনাটা যদি বুঝতে পারো তাহলে তুমি সিউর থাক আজকে তুমি ভেরিয়েবল জিনিসটি ক্লেয়ার হয়ে যাবে। এখন নিচের কথাগুলো মন দিয়ে শুনবে,

ভেরিয়েবলঃ আপেল গুলোকে সুসজ্জিত আকারে সাজানোর জন্য আমরা উপরে চিত্রে যে বাক্সটি দেখতে পাচ্ছি সেটাকে বলা হয় ভেরিয়েবল (Variable)। অর্থাৎ, সেখানে নির্দিষ্ট পরিমাণের আপেল কিংবা অন্য কোন জিনিস রাখতে পারি। যতটুকু কন্টেইনার (Container) টিতে ধরে।

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

এখন ভেরিয়েবল ও ভেরিয়েবলের ডাটা টাইপ বুঝলাম। কিন্তু প্রোগ্রামিং ভাষায় এটাকে কিভাবে লিখবো?

প্রোগ্রামিং ভাষায় এটাকে কিভাবে লিখবো? 
প্রোগ্রামিং ভাষায় এটাকে প্রকাশ করতে হলে, কম্পাইলার যে রকম বুঝে ঠিক সে রকমি আমাদের কম্পাইলারে লিখতে হবে,
কম্পিউটার চার ধরনের ডাটা টাইপের চারটি সংক্ষিপ্ত নামে চিনে। এবং তার একটি লেখার পদ্ধতি আছে। যেটাকে প্রোগ্রামিং এর ভাষায় ভেরিয়েবল ডিক্লারেশন সিনট্যাক্স (Variable Declaration Syntax) বলা হয়। নিচে চারটা ডাটা টাইপের লেখার পদ্ধতি দেয়া হল,

ইন্টিজারঃ

1. // ইন্টিজার ব্যবহারের পদ্ধতি
2. int Variable_Name;

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

  1. #include <stdio.h>
  2. int main()
  3. {
  4. int number ;
  5. number = 500 ;
  6. printf("My int variable number : %d", number);
  7. }

এই প্রোগ্রামে আমাকে My int variable number : 500 আউটপুট দেখাবে। number  নামের একটি ভেরিয়েবল বানিয়েছি আর ৫ নাম্বার লাইনে আমি number এর ভিতর 500 সংখ্যাটি রেখেছি। আবার প্রিন্ট করেছি number ভেরিয়েবলের ভিতরে যা আছে। তাই আউটপুটতো My int variable number : 500 ই দেখাবে।

ক্যারেক্টারঃ

1. // ক্যারেক্টার ব্যবহারের পদ্ধতি
2. char Variable_Name;

অর্থাৎ, প্রথমে লিখতে হবে char (ছোট হাতের) পরে ভেরিয়েবলের নাম।
এখন একটি উদাহরণ দেখো,

  1. #include <stdio.h>
  2. int main()
  3. {
  4. char* name ;
  5. name = Nandita ;
  6. printf("Character you typed is: %s",  name);
  7. }

এই প্রোগ্রামে আমাকে "Character you typed is: Nandita" আউটপুট দেখাবে। name  নামের একটি ভেরিয়েবল বানিয়েছি আর ৫ নাম্বার লাইনে আমি name এর ভিতর Nandita লেখাটি লিখেছি। আবার প্রিন্ট করেছি name ভেরিয়েবলের ভিতরে যা আছে। তাই আউটপুটতো "Character you typed is: Nandita" ই দেখাবে।

ফ্লট নাম্বারঃ

1. // ফ্লট ব্যবহারের পদ্ধতি
2. float Variable_Name;

অর্থাৎ, প্রথমে লিখতে হবে float (ছোট হাতের) পরে ভেরিয়েবলের নাম।
একটি উদাহরণ দেখো,

  1. #include <stdio.h>
  2. int main()
  3. {
  4. float number ;
  5. number = 4.5689 ;
  6. printf("Float Number You Typed Is: %f",  number);
  7. }

এই প্রোগ্রামে আমাকে "Float Number You Typed Is: 4.5689" আউটপুট দেখাবে। number  নামের একটি ভেরিয়েবল বানিয়েছি আর ৫ নাম্বার লাইনে আমি number এর ভিতর 4.5689 সংখ্যাটি লিখেছি। আবার প্রিন্ট করেছি number ভেরিয়েবলের ভিতরে যা আছে। তাই আউটপুটতো  "Float Number You Typed Is: 4.5689" ই দেখাবে।

ডবল নাম্বারঃ

1. // ডবল ব্যবহারের পদ্ধতি
2. double Variable_Name;

অর্থাৎ, প্রথমে লিখতে হবে double (ছোট হাতের) পরে ভেরিয়েবলের নাম।
একটি উদাহরণ দেখো,

  1. #include <stdio.h>
  2. int main()
  3. {
  4. double number ;
  5. number = 41112.568787759 ;
  6. printf("Double Number You Typed Is: %lf",  number);
  7. }

এই প্রোগ্রামে আমাকে "Double Number You Typed Is: 41112.568787759" আউটপুট দেখাবে। number  নামের একটি ভেরিয়েবল বানিয়েছি আর ৫ নাম্বার লাইনে আমি number এর ভিতর 4.5689 সংখ্যাটি লিখেছি। আবার প্রিন্ট করেছি number ভেরিয়েবলের ভিতরে যা আছে। তাই আউটপুটতো "Double Number You Typed Is: 41112.568787759" ই দেখাবে।

তোমরা যারা Code::Blocks এ প্রোগ্রাম রান করতে পারো তারা দেখো উপরের কোড গুলো কাজ করে কি না?
আর নিজে নিজে অনেক অনেক প্রোগ্রাম তৈরী কর ডাটা টাইপের উপর। আর যদি কিছু তৈরী করতে পারো তবে কোডটা কপি করে নিচের টিউমেন্ট বক্সে পেস্ট করে দিবে। আর তোমার বন্ধুদের সাথে যা জেনেছো তা শেয়ার করবে।
আগামী টিউনে আর অনেক প্রোগ্রামিং নিয়ে লেখা পাবে।
-
মূল লেখা কপিরাইট:  বিপিয়া টিউটোর (এসো শিখি সহজ করে)

Level 3

আমি সুরজিত সিংহ সৌর। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 12 বছর 5 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 20 টি টিউন ও 9 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 1 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।

একজন বিজ্ঞান ও প্রযুক্তি প্রেমী... :)


টিউনস


আরও টিউনস


টিউনারের আরও টিউনস


টিউমেন্টস