انواع داده ها و متغیرها در برنامه نویسیمتغیرها

در این مقاله سعی کرده ایم انواع داده ها (Data Types) و متغیرها (Variables) را شرح دهیم.
در C++ پر استفاده ترین نوع متغیرها از جمله int, float, double, void, char و… هستند.

چرا از متغیرها استفاده میکنیم؟

جواب این است که در برنامه نویسی گاهی نیاز داریم اعداد یا حروف را در قسمتی از حافظه کامپیوتر نگهداری کنیم تا زمانی که به آن نیاز داریم در برنامه استفاده کنیم. برای ذخیره سازی این اطلاعات در حافظه از متغیرها استفاده میکنیم.

int: این نوع از متغیرها میتوانند اعداد صحیح را در خود ذخیره کنند. منظور از اعداد صحیح یعنی بدون اعشار.

float و double: این داده ها برای تعریف متغیرهای عددی از نوع اعداد حقیقی به کار میروند که میتوانند اعشار نیز داشته باشند.

char: این نوع داده میتواند متغیر حرفی را در خود ذخیره کند.

void: معمولاً برای توابع به کار میرود که باعث میشود آن تابع هیچ مقداری را برنگرداند.


تعریف و مقداردهی متغیرها:

برای تعریف متغیر، ابتدا نوع داده را مینویسیم سپس نام متغیر را با یک فاصله جلوی آن مینویسیم. برای مقداردهی میتوانیم همانجا که متغیر را تعریف کرده ایم به آن مقدار هم بدهیم یا در خط های بعدی مقداردهی کنیم.

مثال:

int A;
char F;
float B = 5.32;
char C = ‘R’;
double D = 13.0024;
int E = 12;
A = 530;
F = ‘z’;
D = 16

*باید توجه داشته باشیم که برنامه به صورت خط به خط و از بالا به پایین اجرا میشود. بعد از اجرای تکه برنامه بالا، مقدار متغیرها در انتها به صورت زیر خواهد بود:

مقدار متغیر نوع متغیر نام متغیر
۵۳۰ عدد صحیح A
۵٫۳۲ عدد اعشاری B
R حرف C
۱۶٫۰ عدد اعشاری D
۱۲ عدد صحیح E
z حرف F

*باید توجه داشته باشیم که متغیر از نوع Char فقط میتواند یک کاراکتر را در خود ذخیره کند و در هنگام متغیردهی باید کاراکتر را داخل کوتیشن ‘ ‘ قرار دهیم.


تفاوت int و float و double:

گفتیم که تفاوت int با double و float در اعشار است. به طوری که int نمیتواند اعشار داشته باشد و float و double میتوانند اعشار داشته باشند.

اما این سوال پیش می‌آید که چرا به جای int همیشه از float یا double استفاده نکنیم؟ جواب این است که این موضوع به نیاز برنامه نویس بستگی دارد

برای مثال در زمانی که میخواهیم عمل تقسیم را انجام دهیم. اگر مثلا یک عدد صحیح از نوع int را بر ۱۰ تقسیم کنیم، یکان آن از بین میرود ولی اگر یک عدد صحیح از نوع float یا double را بر ۱۰ تقسیم کنیم یکان آن به قسمت اعشار منتقل میشود. یا زمانی که میخواهیم باقیمانده تقسیم یک عدد صحیح را بدست آوریم نمیتوانیم از float یا double استفاده کنیم زیرا اعداد اعشاری همیشه باقیمانده تقسیم آنها صفر میشود (باقیمانده هم تقسیم میشود و جواب به قسمت اعشار منتقل میشود) اما اگر باقی مانده تقسیم یک عدد صحیح از نوع int را حساب کنیم، ممکن است صفر یا هر عدد دیگری شود.

برای مثال فرض کنید میخواهیم یک عدد صحیح را از ورودی بگیریم و مشخص کنیم زوج است یا فرد. برای حل این مساله نیاز داریم که آن عدد را بر ۲ تقسیم کنیم و باقیمانده تقسیم آن را مشخص کنیم.اگر باقی مانده صفر شد متوجه میشویم که عدد زوج است و اگر باقیمانده ۱ شد یعنی عدد فرد است. حال اگر در حل این مساله به جای int از float استفاده کنیم آنگاه باقیمانده همیشه صفر خواهد شد و به جواب نمیرسیم. پس برای حل چنین مساله ای حتماً باید متغیر از نوع int تعریف شود.

تفاوت float و double:

در عمل تفاوتی با یکدیگر ندارند و هر دو برای اعدادی که دارای اعشار هستند به کار میروند با این تفاوت که double میتواند حدود دو برابر بیشتر از float اعشار داشته باشد یعنی برای اعداد با دقت اعشار زیاد به کار میرود.


مثال: برنامه ای بنویسید که عددی را از ورودی بگیرد و مجموع ارقام آن را در خروجی چاپ کند.

حل: میدانیم که برای مشخص کردن یکان یک عدد باقیمانده تقسیم آن عدد بر ۱۰ را بدست می‌آوریم.

اما برای اینکه بتوانیم دهگان، صدگان و بقیه ارقام عدد را هم بدست آوریم، یکبار آن عدد را بر ۱۰ تقسیم میکنیم تا یکان آن حذف شود، سپس دوباره باقیمانده تقسیم بر ۱۰ را میگیریم تا دهگان بدست آید.

پس در اینجا به یک حلقه تکرار نیاز داریم که تا زمانی که عدد بزرگتر از ۰ باشد، ابتدا باقیمانده تقسیم بر ۱۰ را حساب و در یک متغیر (sum) ذخیره کند سپس عدد را بر ۱۰ تقسیم میکنیم تا یکان از بین برود و مجدداً این حلقه تکرار میشود.

int A, Sum=0;
cin >> A;
while (A > 0)
{
     Sum = Sum + (A % 10);
     A = A / 10;
}
cout << Sum;

مثال: برنامه ای بنویسید که ۱۵ نمره یک دانشجو را از ورودی دریافت و معدل را حساب و در خروجی چاپ کند.

حل: در اینجا به یک متغیر به نام number نیاز داریم که بتواند ۱۵ بار اعداد را از ورودی دریافت کند (توسط یک حلقه) و یه متغیر به نام sum نیاز داریم که مجموع این نمرات را در خودش ذخیره کند

و یک متغیر به نام average که بتواند معدل را حساب کند و نمایش دهد.

باید توجه داشته باشیم که نمرات میتوانند دارای اعشار باشند پس در اینجا از float برای تعریف متغیرها استفاده میکنیم.

float number, average, sum=0;
for (int i=0; i<15; i++)
{
     cin >> number;
     sum = sum + number;
}
average = sum / 15;
cout << average;

در برنامه بالا توجه داشته باشید که ما برای sum یک مقدار اولیه صفر در نظر گرفته ایم زیرا در اولین مرتبه که حلقه اجرا میشود، sum باید با مقدار number جمع شود پس در عملیات ریاضی باید دارای مقدار اولیه باشد.


مثال: برنامه ای بنویسید که یک کلمه را از ورودی دریافت کند و مشخص کند دارای چند حرف است.

حل: به یک حلقه نیاز داریم که تک تک حروف را بگیرد و به ازای هر حرف یک واحد به شمارنده اضافه کند. شرط پایان حلقه را رسیدن به نقطه در نظر میگیریم (با فرض اینکه کاربر بعد از اتمام کلمه مورد نظر، حرف نقطه را وارد میکند)

int counter = 0;
char ch;
while (ch != ‘.’)
{
     cin >> ch;
     counter = counter + 1;
}

لینک های مفید:

آموزش الگوریتم نویسی

لینک کانال تلگرام ما: http://t.me/cproject

انواع داده و متغیرها در برنامه نویسی C++

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

سیزده − 11 =