সি প্রোগ্রামিং এইচটিএমএল সিএসএস জাভাস্ক্রিপ্ট পিএইচপি এসকিউএল
ফোরাম
×

 সি টিউটোরিয়াল

সি প্রোগ্রামিং কি? সি এর ইতিহাস সি এর বৈশিষ্ট্যসমূহ কেন সি শিখবেন? সি ইন্সটলেশন প্রথম সি প্রোগ্রাম সি প্রোগ্রামের ফ্লো প্রোগ্রামিং শেখার সঠিক পদ্ধতি সি কীওয়ার্ড সি আইডেন্টিফায়ার সি ভ্যারিয়েবল সি কনস্ট্যান্ট সি ডাটা টাইপ সি মোডিফায়ার সি ইনপুট/আউটপুট সি অপারেটর সি কমেন্ট সি অপারেটর অগ্রাধিকার

সি কন্ট্রোল স্টেটমেন্ট

সি ইফ সি ইফ...ইলস সি ফর লুপ সি হোহাইল লুপ সি ডু...হোহাইল লুপ সি ব্রেক সি কন্টিনিউ সি সুইচ স্টেটমেন্ট সি goto স্টেটমেন্ট

 সি ফাংশন

সি ফাংশন পরিচিতি সি ইউজার কর্তৃক ফাংশন সি ফাংশন টাইপ সি রিকার্সন সি ভ্যারিয়েবল স্কোপ

 সি অ্যারে

সি অ্যারে পরিচিতি সি মালটি-ডাইমেনশনাল অ্যারে সি অ্যারে ফাংশন

 সি স্ট্রিং

সি স্ট্রিং সি স্ট্রিং ফাংশন

 সি পয়েন্টার

সি পয়েন্টার পরিচিত সি পয়েন্টার অ্যারে সি পয়েন্টার ফাংশন সি মেমোরি ম্যানেজমেন্ট

 সি ফাইল এবং স্ট্রাকচার

স্ট্রাকচার পরিচিত স্ট্রাকচার ও পয়েন্টার সি স্ট্রাকচার ও ফাংশন সি ইউনিয়ন ফাইল হ্যান্ডেলিং

 সি অতিরিক্ত টিউটোরিয়াল

সি লাইব্রেরী সি প্রিপ্রোসেসর এবং ম্যাক্রো সি ইনুমিরেশন সি এরর নিয়ন্ত্রণ সি টাইপ কাস্টিং সি বিট ফিল্ড সি ভ্যারিয়েবল আর্গুমেন্ট সি কমান্ড লাইন আর্গুমেন্ট

 

সি প্রোগ্রামিং ডেটা টাইপ


এই অধ্যায়ে আপনি সি প্রোগ্রামিং ডেটা টাইপ(data type) এবং ভ্যারিয়েবল ডিক্লেয়ারেশন(declaration) পদ্ধতি সম্মন্ধে জানবেন।


ডেটা টাইপ দ্বারা ভ্যারিয়েবলের মধ্যে সংরক্ষিত ডেটার টাইপ নির্ধারণ করা হয়।

সি প্রোগ্রামিং এ ভ্যারিয়েবল বা মেমোরি লোকেশন(location)-কে ব্যবহারের পূর্বে ডিক্লেয়ার করতে হয়। একইভাবে ফাংশনকেও ব্যবহারের পূর্বেই ডিক্লেয়ার(declare) করতে হয়।

ডেটা টাইপ যুক্ত ভ্যারিয়েবল এবং ফাংশন ডিক্লেয়ারেশন দ্বারা সাধারণত ডেটার সাইজ এবং টাইপ নির্ধারণ করা হয়।


সি ডেটা টাইপ

  1. মৌলিক(Fundamental) ডেটা টাইপ
    • ইন্টেজার টাইপ(Integer type)
    • ফ্লোটিং টাইপ(Floating type)
    • ক্যারক্টার টাইপ(Character type)
  2. প্রাপ্ত(Derived) ডেটা টাইপ

এই অধ্যায়ে আমরা মৌলিক ডেটা টাইপের প্রতি বেশী নজর দিয়েছি। আপনি ডিরাইভ ডেটা টাইপ সম্মন্ধে জানতে আমাদের ডিরাইভ(Derived) ডেটা টাইপ সম্পর্কিত অধ্যায় ভিজিট করুন।


char - ক্যারেক্টার ডেটা টাইপ

ক্যারেক্টার টাইপের ভ্যারিয়েবল ডিক্লেয়ার করার জন্য char কীওয়ার্ড ব্যবহৃত হয়। উদাহরণস্বরূপঃ

char alphabet = 'a'

এখানে alphabet হলো ক্যারেক্টার ভ্যারিয়েবল এবং alphabet এর ভ্যালু 'a'।

ক্যারেক্টার ভ্যারিয়েবলের সাইজ 1 বাইট।


int - ইন্টেজার ডেটা টাইপ

দশমিক(.) সংখ্যা ব্যতীত সকল ধনাত্মক এবং ঋণাত্মক পূর্ণ সংখ্যা এই টাইপের মধ্যে পড়ে। যেমন- 0, -10, 10 ইত্যাদি

সি প্রোগ্রামিং এ ইন্টেজার টাইপের ভ্যারিয়েবল ডিক্লেয়ার করার জন্য int কীওয়ার্ড ব্যবহৃত হয়। উদাহরণস্বরূপঃ

int roll_no;

এখানে roll_no হলো ইন্টেজার টাইপের ভ্যারিয়েবল।

সি প্রোগ্রামিং এ আপনি একটি ডিক্লেয়ারেশনের মাধ্যমে অনেক ভ্যারিয়েবলকে একই সঙ্গে ডিক্লেয়ার করতে পারেন। উদাহরনস্বরুপঃ

int roll_no, age, years;

int এর সাইজ 2 বাইট(পুরাতন কম্পিউটারে) অথবা 4 বাইট হতে পারে। আপনার ভ্যারিয়েবলের সাইজ যদি 4 বাইট হয় তাহলে ইহা 232 সংখ্যক স্বতন্ত্র ভ্যালু গ্রহণ করতে পারে। যেমন- -231,-231+1, ...,-2, -1, 0, 1, 2, ..., 231-2, 231-1

একইভাবে int ভ্যারিয়েবলের সাইজ 2 বাইট হলে ইহা -215 থেকে 215-1 এর মধ্যে 216 সংখ্যক বিভিন্ন ভ্যালু গ্রহণ করতে পারে। আপনি যদি 231-1 অর্থাৎ +2147483647 থেকে বড় নাম্বার এবং -231 অর্থাৎ -2147483648 থেকে ছোট নাবার স্টোর(store) করতে চান তাহলে প্রোগ্রাম ঠিকমত রান(run) করবে না।


float - ফ্লোটিং টাইপ

ফ্লোটিং টাইপ ভ্যারিয়েবলে যেকোনো বাস্তব সংখ্যা থাকতে পারে। যেমন- 3.1416, -5.382, 10.0 ইত্যাদি। ফ্লোট টাইপের ভ্যারিয়েবল ডিক্লেয়ার(declare) করার জন্য আপনি হয় float অথবা double কীওয়ার্ড ব্যবহার করতে পারেন। উদাহরনস্বরুপঃ

float accountBalance;
double bookPrice;

এখানে accountBalance এবং bookPrice উভয়েই ফ্লোটিং টাইপ ভ্যারিয়েবল।

সি প্রোগ্রামিং এ ফ্লোটিং ভ্যালুকে এক্সপনেনশিয়াল(exponential) ফর্মেও উপস্থাপন করা যায়। উদাহরনস্বরুপঃ

float normalizationFactor = 22.442e2;

ফ্লোট এবং ডাবলের মধ্যে পার্থক্য

float টাইপ double টাইপ
ফ্লোট(float) ভ্যারিয়েবলের সাইজ ৪ বাইট ডাবল(double) ভ্যারিয়েবলের এর সাইজ ৮ বাইট
সিঙ্গেল প্রিসিশন(single precision) এর ক্ষেত্রে ফ্লোট ডেটা টাইপ ব্যবহৃত হয় ডাবল প্রিসিশন(double precision) এর ক্ষেত্রে double ডেটা টাইপ ব্যবহৃত হয়।
ফ্লোটিং পয়েন্ট ভ্যারিয়েবলের প্রিসিশন ৬ ডিজিট ডাবলের প্রিসিশান ১৪ ডিজিট।

চলুন এক নজরে ডেটা টাইপসমূহ দেখে নিই। এখানে ৩২ বিট আর্কিটেকচারের উপর ভিত্তিকরে ডেটার সাইজ দেওয়া হোল।

ডেটা টাইপমেমোরি সাইজ রেঞ্জ
char1 বাইট−128 থেকে 127
signed char1 বাইট−128 থেকে 127
unsigned char1 বাইট0 থেকে 255
short2 বাইট−32,768 থেকে 32,767
signed short2 বাইট−32,768 থেকে 32,767
unsigned short2 বাইট0 থেকে 65,535
int2 বাইট−32,768 থেকে 32,767
signed int2 বাইট−32,768 থেকে 32,767
unsigned int2 বাইট0 থেকে 65,535
short int2 বাইট−32,768 থেকে 32,767
signed short int2 বাইট−32,768 থেকে 32,767
unsigned short int2 বাইট0 থেকে 65,535
long int4 বাইট-2,147,483,648 থেকে 2,147,483,647
signed long int4 বাইট-2,147,483,648 থেকে 2,147,483,647
unsigned long int4 বাইট0 থেকে 4,294,967,295
float4 বাইট
double8 বাইট
long double10 বাইট