ডাটা টাইপ, ইনপুট ও আউটপুট
C ল্যাংগুয়েজে আমরা যেসব primitive ডাটা টাইপ ব্যবহার করি সেগুলো হলঃ
Type | Storage size | Value range |
---|---|---|
char | 1 byte | -128 to 127 or 0 to 255 |
unsigned char | 1 byte | 0 to 255 |
signed char | 1 byte | -128 to 127 |
int | 2 or 4 bytes | -32,768 to 32,767 or -2,147,483,648 to 2,147,483,647 |
unsigned int | 2 or 4 bytes | 0 to 65,535 or 0 to 4,294,967,295 |
short | 2 bytes | -32,768 to 32,767 |
unsigned short | 2 bytes | 0 to 65,535 |
long | 4 bytes | -2,147,483,648 to 2,147,483,647 |
unsigned long | 4 bytes | 0 to 4,294,967,295 |
আর এক ধরণের ডাটা টাইপকে আমরা বলি boolean (বুলিয়ান) বা সংক্ষেপে bool। এটাতে শুধুমাত্র True বা False এই দুইটা মান রাখা যায়।
এরপর আছে String (স্ট্রিং). এক বা একাধিক বর্ণ বা সংখ্যা বা চিহ্ন ব্যবহার করে কোন তথ্য উপস্থাপন করতে হরে আমরা String ব্যবহার করি।
নিচে কিছু String এর উদাহরণ দেয়া হলঃ
“সি প্রোগ্রামিং”
“বাংলাদেশ”
"45879"
“আমার সোনার বাংলা আমি তোমায় ভালবাসি”
String বোঝানোর জন্য আমরা কোটেশন মার্ক (“) ব্যবহার করি। যেমন 12367 একটা নাম্বার কিন্তু “12367″ একটা String।
ভেরিয়েবল:
আমরা কোন একটা ভেরিয়েবলের মধ্যে যে কোন সময় একটা মান রাখতে পারি বা assign করতে পারি।
সি ল্যাংগুয়েজে ভেরিয়েবল ব্যবহার করার জন্য প্রথমে সেটা declare করে নিতে হয়। Declare করা মানে হচ্ছে ভেরিয়েবলের নাম এবং এটার টাইপ প্রথমে লিখে নিতে হবে। কোন কোন ল্যাংগুয়েজে সেটা করকার হয় না।
যেমন:
int num;
এভাবে আমরা একটা পূর্ণ সংখ্যা বা ইন্টেজার ভেরিয়েবল declare করে নিলাম যেটার নাম হচ্ছে num।
we are now assigning 7 into num.
num=7 ;
এক্সপ্রেশন (Expression):
কম্পিউটার প্রোগ্রামিং এর জন্য আমরা বিভিন্ন এক্সপ্রেশন ব্যবহার করি।
Example:
4+3
5>9
এক্সপ্রেশনগুলোর সবসময় একটা মান থাকে। যেমন প্রথম এক্সপ্রেশনের মান 7.
দ্বিতীয় এক্সপ্রেশনটা একটা Boolean Expression. যে ধরণের এক্সপ্রেশনের মান হয় TRUE অথবা FALSE হবে। আমাদের দ্বিতীয় এক্সপ্রেশনের মান FALSE.
আমরা যদি 13 > 6 লিখি তাহলে সেটাও একটা Boolean Expression হবে যার মান TRUE.
Input &Output:
আউটপুটের জন্য সি ল্যাংগুয়েজে আমরা printf ফাংশন ব্যবহার করি।
printf এর ফরম্যাট হলঃ
printf(" write what you want to print");
এখানে ডাবল কোটেশনের মধ্যে আমরা যা প্রিন্ট করতে চাই তা লিখতে হবে। এর ভিতর যা লেখা হবে আমাদের আউটপূট হিসাবে সেটাই প্রিন্ট হবে। আর একটা জিনিস মাথায় রাখা দরকার। যে কোন প্রোগ্রামিং ল্যাঙ্গুয়েজ এ প্রতিটা লাইন সেমিকোলন দিয়ে শেষ হয়। তাই printf এর শেষে ও সেমিকোলন ব্যবহার করা হয়েছে।
যেমনঃ
আমরা যদি নিচের মত লিখিঃ
printf("I love Bangladesh");
তাহলে আমরা আউটপুট হিসাবে স্ক্রিনে I love Bangladesh দেখতে পাব। সেমিকোলন কিন্তু প্রিন্ট হবে না।
এবার আসি ইনপুট ফাংশন নিয়েঃ
সি প্রোগ্রামিং এ ইনপুট ফাংশন হিসাবে scanf ব্যবহার করা হয়ঃ এটার বিভিন্ন ফরম্যাট আছে । যেমনঃ
আমরা যদি Int value ইনপুট নিতে চাইঃ scanf("%d",&var_name);
যদি floating point value ইনপুট নিতে চাইঃ scanf("%f",&var_name);
যদি character ইনপুট দিতে চাইঃ scanf("%c",&var_name);
যদি string ইনপুট নিতে চাইঃ scanf("%s",&var_name);
এখানে একটা বিষয় খেয়াল রাখতে হবে যে আমরা যখন ইনপুট নিব তখন সেই ভ্যালুকে একটা ভ্যারিয়েবল এর ভিতর রাখতে হবে। এখানে var_name দিয়ে variable name বোঝানো হয়েছে। আর একটা জিনিস variable name এর আগে অবশ্যই & চিহ্ন ব্যবহার করতে হবে তা না করলে প্রোগ্রামে এরর দেখা দিবে।
ঠিক একই ভাবে আমরা যদি কোন variable এর ভালু প্রিন্ট ক্রতে চাই তাহলে নিচের মত করে প্রিন্ট করতে পারব।
printf("type_specifier",var_name);
এখানেঃ
type_specifier: %d(for int), %f(for float),%c(for char),%s(for string)
var_name= variable name
Reserved Word/Built in Keyword:
C ল্যাংগুয়েজে আমরা কিছু word আমাদের নিজেদের identifier হিসাবে ব্যবার করতে পারি না। যেগুলোকে রিজার্ভ ওয়ার্ড বলে। রিজার্ভ ওয়ার্ডগুলো শুধু তাদের জন্য নির্ধারিত নির্দিষ্ট কাজে ব্যবহার করা যায়। ভ্যারিএবল এর আম হিসাবে এগুলো ব্যবহার করা যায় না। এইরকম কিছু ওয়ার্ড হলঃ
auto, if,break , int, case , long , char , register , continue ,return , default , short , do , sizeof , double , static, else, struct, entry, switch, extern, typedef ,float ,union ,for ,unsigned ,goto ,while ,enum ,void ,const, signed, volatile
আজ এই পর্যন্ত ই। আমি আপনাদের হালকা একটু ধারনা দিলাম মাত্র। আসল কাজ আপনাদের বাসায় করতে হবে। যে বই এর কথা বলেছিলাম সেখান থেকে এই টপিকগুলো ভালো করে পড়তে হবে। না হলে আপনি পুরোপুরি ধারনা পাবেন না।
আর পরের দিন আমরা একটি পূর্ণাংগ প্রোগ্রাম দেখব এবং নিজেরা কিভাবে প্রোগ্রাম লিখতে পারবেন সেই বিষয়ে আলোচনা করব। আপনারা নিয়ম করে আমাকে ফলো করেন। আশা করি আপনাদের লাভ হবে।
**কোন কিছু ভুল হলে ক্ষমাসুন্দর দৃষ্টিতে দেখার অনুরোধ রইল।
আমি Knight। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 12 বছর 1 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 25 টি টিউন ও 24 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 0 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।
ভাল । চালিয়ে যান