কিছু সাংকেতিক শব্দ


সি প্রোগ্রামিং এ কিছু শব্দ ব্যবহৃত হয় যেগুলোর বিশেষ অর্থ আছে।এখন এমন কিছু শব্দ নিয়ে আলোচনা করব। তবে এইসব শব্দগুলো আপনার মুখস্থ করতে হবে না, শব্দগুলোর সাথে শুধু পরিচিত হলেই চলবে। গল্পের বই যেভাবে পড়েন সেভাবে পড়ে যান। সি প্রোগ্রামিং এ ব্যবহৃত কিছু গুরুত্বপূর্ন শব্দঃ
টোকেন, স্ট্যাটমেন্ট এবং এক্সপ্রেশনঃ আপনাকে যদি প্রশ্ন করি – বাক্য কাকে বলে? আপনার উত্তর হবেঃ “কতগুলো শব্দ পাশাপাষি বসে যদি মনের ভাব প্রকাশ করে তবে তাকে বাক্য বলে।” এখন যদি বলি- শব্দ কাকে বলে? আপনার উত্তর হবেঃ “কত গুলো বর্ন পাশাপাশি বসে কোন অর্থ প্রকাশ করলে তাকে শব্দ বলে।” এখন যদি আবার প্রশ্ন করি- “বর্ন কাকে বলে?” আপনার উত্তর হবেঃ “ভাষায় ব্যবহৃত সবচেয়ে ক্ষুদ্রতম একক কে বর্ন বলে” সি প্রোগ্রামিং ও যেহেতু একটা ভাষা সেহেতু এভাষারও একটা ক্ষুদ্রতম একক আছে। সি প্রোগ্রামিং ভাষার সবচেয়ে ক্ষুদ্রতম একক কে টোকেন বলে।আবার কতগুলো টোকেন মিলে যখন প্রোগ্রামের একটা একক কাজ (unit task) সম্পন্ন করে তখন সেই টোকেনগুলোকে একসাথে স্ট্যাটমেন্ট বলে।কোন স্ট্যাটমেন্ট এ যখন কোন গানিতিক টার্ম থাকে তখন তাকে স্ট্যাটমেন্ট না বলে এক্সপ্রেশন বলতে হয়। যেমনঃ printf(“Hello world”); একটা স্ট্যাটমেন্ট। a+52; এটাও একটা স্ট্যাটমেন্ট কিন্তু এই স্ট্যাটমেন্ট এ গানিতিক টার্ম ‘+’ ব্যবহৃত হয়েছে। তাই a+52; কে স্ট্যাটমেন্ট না বলে এক্সপ্রেশন বলতে হবে।এভাবে বর্নের সাথে টোকেন, শব্দের সাথে স্ট্যাটমেন্ট এর তুলনা করে মনে রাখতে পারেন। বিঃদ্রঃ প্রতিটা স্ট্যাটমেন্টের শেষে একটা সেমিকোলন থাকে। তাই যেখানে যেখানে সেমিকোলন দেয়া দরকার সেখানে সেমিকোলন না দিলে কম্পাইলার “statement missing” এরর দেখায়। কমেন্টঃ আপনি এ পর্যন্ত যতগুলো প্রোগ্রাম দেখেছেন সেগুলো খুবই ছোট। আপনি যদি অনেক বড় প্রোগ্রাম লিখেন তাহলে একমাস পরে আপনার নিজের লেখা কোড আপনি নিজেই বুঝবেন না। তাই প্রোগ্রামের গরুত্বপূর্ন জায়গায় আপনি কমেন্ট লিখে রাখতে পারেন। কিন্তু আপনি কমেন্ট লিখলে কম্পাইলার কে কিভাবে বুঝাবেন এটা কমেন্ট এবং এটা প্রগ্রামের স্ট্যাটমেন্ট না? সেজন্য যেই লেখাটিকে আপনি কমেন্ট হিসাবে লিখতে চান সেটিকে /* এবং */ এর ভিতরে লিখতে হয়। যেমনঃ this is a comment লিখাটি আপনি কমেন্ট হিসাবে লিখতে চান নিচের মত লিখতে হবেঃ /* this is a comment */ কমেন্ট কে আপনি অন্যভাবেও লিখতে পারেন। // এর পরে যেই লাইনটি লিখবেন সেটি কম্পাইলার কমেন্ট হিসাবে বুঝবে। যেমনঃ // this a commentকমেন্ট লিখার এই দুটি স্টাইলের মাঝে পার্থক্য কি? পার্থক্য হলঃ /* এবং */ এর মাঝে যতগুলো লাইনই লিখেন সবগুলোই কমেন্ট হিসাবে গন্য হবে। যেমনঃ /* this is comment line1 this is comment line2 */ এখানে this is comment line1 this is comment line2 কমেন্ট। কিন্তু // এর সাথের লাইনটিই শুধু কমেন্ট। যেমনঃ // this is comment line1 this is comment line2 এখানে this is comment line1 হল কমেন্ট কিন্তু this is comment line2 কে কম্পাইলার স্ট্যাটমেন্ট হিসাবে বুঝবে এবং যেহেতু this is comment line2 কোন সি প্রোগ্রামের সঠিক স্ট্যাটমেন্ট না তাই এরর দেখাবে। যেমন নিচের প্রোগ্রামটি রান করলে এরর দেখাবেঃ
এখন এই প্রোগ্রামটিকে নিচের মত যেকোন একভাবে করলে কোন এরর না দেখিয়ে রান করবেঃ
অথবাঃ
কীওয়ার্ডঃ আপনাকে যদি প্রশ্ন করি পানির ইংরেজী কি? আপনার উত্তর হবেঃ Water. এখন যদি প্রশ্ন করি পানির রাসায়নিক সংকেত কি? আপনার উত্তর হবেঃ H2O এখানে একটি ব্যাপার লক্ষ্য করুন Water কে আপনি Water বা WATER লিখলে বোঝাবে এর অর্থ পানি কিন্তু আপনি যদি পানির রাসায়নিক সংকেত H2O কে h2o বা H2O অর্থাৎ H2O ছাড়া অন্যকোনভাবে লিখেন তখন সেটি আর পানির রাসায়নিক সংকেত থাকে না। পানির রাসায়নিক সংকেত H2O এটি ছাড়া h2o বা H2O অর্থহীন। একইভাবে সি প্রোগ্রামিং করার জন্য কম্পাইলারে সংরক্ষিত কিছু সাংকেতিক শব্দ আছে। এ সাংকেতিক শব্দগুলো কে যেভাবে লিখার কথা সেভাবে লিখতে হবে, অন্য কোনভাবে লিখা যাবে না। যেমনঃ পূর্নসংখ্যা বুঝাতে কম্পাইলারে int শব্দটি সংরক্ষিত আছে। int কে INT বা Int বা inT লিখা যাবে না। প্রগ্রামে ব্যবহৃত এ সাংকেতিক শব্দগুলো কে কীওয়ার্ড বলে। কীওয়ার্ডকে আপনি রাসায়নিক সংকেতের সাথে তুলনা করে অনেক দিন মনে রাখতে পারেন। নিচে কিছু কীওয়ার্ড এবং তাদের ব্যাখ্যা দেওয়া হলঃ
কীওয়ার্ড ব্যাখ্যা
int integer বা পূর্ন সংখ্যা বুঝাতে
float fraction বা দশমিক সংখ্যা বুঝাতে
char character বা বর্ন বুঝাতে
বিঃদ্রঃ সি প্রোগ্রামে মোট ৩২ টি কীওওার্ড আছে। সবগুলো কীওয়ার্ড একসাথে মুখস্ত রাখতে হবে এটা ভাবলে বোকামি করছেন। প্রোগ্রাম করতে করতে এসব কীওয়ার্ড আপনার পরিচিত হয়ে যাবে। ৪/৫ বছরের অভিজ্ঞতা সম্পন্ন কোন প্রোগ্রামারও ৩২ টী কীওয়ার্ড মুখস্ত বলতে পারবে না- এইটাই স্বাভাবিক। শুরুতে যে কথাটি বলেছি আবারও বলছি- প্রগ্রামিং এ মুখস্ত করার কিছু নাই। সবই বুঝার সবই মজার।