এর আগে আমি সি প্রোগ্রামিং ল্যাংগুয়েজের ডাটা টাইপ সম্পর্কে আলচনা করছি। আজকে আমি সি প্রোগ্রামিং ল্যাংগুয়েজের কনস্ট্যান্ট(Constant) সম্পর্কে আলচনা করব।
ডাটা টাইপ এর মত C তে প্রধানত চার প্রকারের Constant বা ধ্রুবক আছে। (যাদের মান সব সময়ের জন্য স্থির তাদের ধ্রুবক বলে। যেমন : ১ এর মান সব সময় ১ এ থাকবে |
তারা হলঃ
তারা হলঃ
- Integer constant
- Floating-point constant
- Character constant
- String constant
Integer এবং Floating-point constant সংখা প্রকাশ করে । এদেরকে সাধারনত numeric-type constant ও বলা হয়। নিচের নিয়ম গুলো সকল numeric-type constant এর ক্ষেত্রে প্রযোয্য।কমা এবং খালি স্পেস numeric-type constant এর ভিতর থাকতে পারবেনা।প্রয়োজন অনুযাই –(মাইনাস) সাইন ব্যবহার করা যাবে।numeric-type constant তাদের সর্বোচ্চ ও সর্বোচ্চ নিন্ম সীমা অতিক্রম করতে পারবেনা।
Integer constant: Integer constant বলতে integer quantity(অবিভাজ্য সংখা যেমনঃ ১, ২, ৩ ইত্যাদি) বুঝায়। Integer constant তিন প্রকারের number system( সংখা পদ্ধতি) এ লেখা হয়।
- 1. Decimal Integer Constant ০ থেকে ৯ পর্যন্ত [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] সংখ্যাগুলো নিয়ে গঠিত। এগুলোর সম্মুখে + বা – থাকতে পারে। কিন্তু এগুলোতে কোন Space, Comma ও Non-Digit Characters গ্রহণযোগ্য নয়।
- 2. Octal Integer Constant ০ থেকে ৭, এই ৮ টি সংখ্যা [0, 1, 2, 3, 4, 5, 6, 7] নিয়ে গঠিত। এ ধরনের Constant এর সামনে একটি ০ ও থাকতে পারে। যেমন, 035 । Octal 035 এর মান কিন্তু Decimal এ 35 নয়, 29 । গনিত সম্পর্কে একটু ভালো ধারনা থাকলেই এটি বুঝা যাবে।
- 3. Hexadecimal : ১ থেকে ৯ ও A—F বা a—f এই ১৬ টি সংখ্যা ও বর্ণের সমন্বয়ে Hexadecimal Integer Constant গঠিত। [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F ] বা [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f ]।
কম্পিউটার উপরের তিন সংখা পদ্ধতির এক পদ্ধতি ও পড়তে পারে না। সে এগুলোকে Binary নামক অন্য সংখা পদ্ধতিতে পরিবর্তন করে নেয়।Binary সংখা পদ্ধতির ভিত্তি হচ্ছে ২ ( ০ এবং ১) ১ দ্বারা বিদুতের উপস্থিতি এবং ০ দ্বারা বিদুতের অনউপস্থিতি প্রকাশ করে এবং কম্পিউটার এ ভাবেই কোন তথ্য পড়ে।
Floating-point constant: দশমিক যুক্ত যেকোন সংখাই হচ্ছে Floating-point constant। এগুলো সাধারনত Decimal সংখা পদ্ধতিতেই লেখা হয়। যেমনঃ ১.২। ৫৮৪.৩। ৯৫০.২১১। .০০০০৫৪ ইত্যাদি। Floating-point constant কে exponent ১০ এর power দ্বারা ও লেখা যায়।
Character constant: এক জোড়া single quotation mark দ্বারা আবদ্ধ character কে character constant বলে। যেমন, ‘Z’, ‘a’, ‘65’, ‘;’, ‘ ’ ইত্যাদি। এখানে লক্ষণীয় যে constant ‘65’ এবং number 65 এক নয়। সিঙ্গেল কোটেশন দেয়া কোন number কে আমরা Constant বলব। ‘65’ মানে A । প্রত্যেকCharacter এর একটি Integer Value থাকে, যাকে ASCII Value বলে। নীচের ছবিতে সকল Character এর ASCII Value দেয়া আছে।
এখানে decimal ও Hexadecimal দুই মান ই দেওয়া আছে।
String Constants : এক জোড়া Double quotation mark দ্বারা আবদ্ধcharacter কেই String Constant বলে। যেমন, “test”, “P”, “character”ইত্যাদি। এইখানে আরেকটি বিষয় লক্ষণীয় যে, “P” এবং ‘P’ এক নয়। ‘P’ এর একটিInteger Value আছে, কিন্তু “P” এর কোন value নেই।String Constants সাধারণত প্রোগ্রাম কে অর্থবহ করার জন্য ব্যবহৃত হয়।
Statement কি?
Statement: প্রোগ্রাম যে কাজ করে তা কত গুলো ছোট ছোট অংশের সমন্নয়ে গঠিত। এগুলোই এক একটি Statement।
C Programming language এ ৩ প্রকারের Statement আছে। এগুলো হলোঃ
- Expression Statement
- Compound Statement
- Control Statement
Expression Statement: Expression Statement হচ্ছে সে ধরনের Expression যা একটি সেমিকোলন দ্বারা শেষ হয়। যেমনঃ
a=2;
b=3;
y=a+b;
++a; - -a;
Printf(“%d”,y);
;
এখানে a=2;b=3; ও Y=a+b; হচ্ছে Assignment type Statement. যেখানে a এর মান 2,b এর মান 3 Assign হয়েছে এবং y এর মান a+b Assign হয়েছে। এগুলো (;) দ্বারা শেষ হয়েছে। ++a; দ্বারা একটি incriminate type Statement ( এর মান এক করে বাড়বে) এবং --a; Discriminate type Statement ( এর মান এক এক করে কমবে) প্রকাশ করা হয়েছে।Printf(“%d”,y); এখানে y কে প্রিন্ট করার কমান্ড দেওয়া হয়েছে এবং শেষে ; দ্বারা একটি শূন্য বা Nul Statement প্রকাশ করা হয়েছে।
Compound Statement: কত গুলো একক Statement যদি সেকেন্ড বন্ধনীর {} মধ্য আবদ্ধ হয় তাহলে Compound Statement তৈরি হয়।
Compound Statement: কত গুলো একক Statement যদি সেকেন্ড বন্ধনীর {} মধ্য আবদ্ধ হয় তাহলে Compound Statement তৈরি হয়।
{
a=2;
b=3;
y=a+b;
++a; - -a;
Printf(“%d”,y);
;
}
আমি শুধু মাত্র উপরের Expression Statement গুলো একটি সেকেন্ড বন্ধনীর {} মধ্য আবদ্ধ করলাম, ব্যস হয়ে গেল একটি Compound Statement। লক্ষনীয় যে Compound Statement এর পরে সেমিকোলন থাকে না।
Control Statement: Control Statement অনেক বিশাল জিনিশ। সকল বইতেই এ সম্পর্কে একটি অধ্যায় রয়েছে। আমি শুধু প্রাথমিক ধারনা দিব আজকে। পরে যখন প্রয়জন হবে তখন Control Statement সম্পর্কে লিখব।
স্পেশাল বৈশিষ্ট তৈরি করার জন্য Compound Statement ব্যবহার করা হয়। যেমনঃ looping, Branching, Logical test etc. উদাহরনঃ এখানে আমি একটি While loop Compound Statement ব্যবহার করেছি। ( LOOP অধ্যায় এ জানতে পারবে )
while(a<=b)
{
printf("%d\n", y);
a++;
}
While loop টা ততক্ষনই কাজ করবে যথক্ষন না a<=b না হয়। অর্থাৎ a এর মান b থেকে ছোটো অথবা সমান না হয়।
সবকিছু সুন্দর ভাবে বুঝার জন্য নিচের প্রোগ্রামটা একটু দেখিঃ
int a,b,y; দ্বারা প্রকাশ করা হয়েছে যে a, b, y হচ্ছে integer data type. a=2; b=3;y=a+b; এদের মান assign করা হয়েছে।এবং এ গুলো হচ্ছে Expression Statement।
while(a<=b)
{
printf("%d", y);
a++;
}
}
এ অংশে এটা পুরোটাই একটি control statement. এবং এর মধ্যে
{
printf("%d", y);
a++;
}
}
অংশটি হচ্ছে compound statement.
এখানে While একটা loop.
While loop টা ততক্ষনই কাজ করবে যথক্ষন না a<=b না হয়। অর্থাৎ a এর মান b থেকে ছোটো অথবা সমান না হয়। program টা Run করালে out put দিবে
5
5
কারন While একটা loop এর জন্য প্রথম বার (a<=b) অংশে এশে দেখলো a=2 এবং b=3. অর্থাৎ প্রদত্ত শর্ত মানে।এবং While loop এর ভিতরে ডুকে y এর মান প্রিন্ট করবে। এবং a++ অর্থাৎ a এর মান ১ বেড়ে ৩ হবে।
প্রথম বার এর কাজ শেষ। এবার দ্বিতীয় বার আবার (a<=b) অংশে এশে দেখলো a=৩ এবং b=3. অর্থাৎ প্রদত্ত শর্ত মানে।এবং While loop এর ভিতরে ডুকে y এর মান প্রিন্ট করবে। এবং a++ অর্থাৎ a এর মান ১ বেড়ে ৪ হবে।
দ্বিতীয় বার এর কাজ শেষ। তৃতীয় বার আবার (a<=b) অংশে এশে দেখলো a=৪ এবং b=3. অর্থাৎ প্রদত্ত শর্ত মানে না। সুতরাং program টা শেষ হবে।
No comments:
Post a Comment