به سومین جلسه از آموزش برنامه نویسی ++C خوش آمدید. در این جلسه با مبحث متغیرها و ثابت ها در زبان ++C آشنا خواهیم شد.
متغیر (Variable)
هرگاه بخواهیم مقداری را در یک مکان حافظه جهت انجام یک عملیات ذخیره کنیم، از متغیر استفاده می کنیم. همانگونه که از نام آن پیداست محتوای این مکان قابل تغییر بوده و هر مقدار دلخواهی را می توان در آن قرار داد.
طبق تعریف، متغیر مکانی است در حافظه (حافظه اصلی – RAM) که چهار ویژگی دارد:
- نام (Name) : جهت دسترسی به متغیر استفاده می شود.
- نوع (Type) : مشخص می کند که این متغیر چه نوع مقادیری را می تواند در خود ذخیره کند.
- مقدار (Value) : مقداری که با توجه به نوع متغیر، درون آن ذخیره می شود.
- آدرس (Address) : مکان و موقعیت متغیر در درون حافظه را مشخص می کند.
ویژگی های متغیر
در شکل فوق متغیری به نام m از جنس int (عدد صحیح – integer) با مقدار ۲۱ مشخص شده است. این متغیر در آدرس ۰x00c9fdc3 از حافظه قرار گرفته است.
ثابت (Constant)
در نقطه مقابل متغیر، مفهوم ثابت قرار گرفته است. طبق تعریف، ثابت، متغیری است که یک بار مقداردهی شده و تغییر دادن مقدار آن در ادامه برنامه ممکن نیست.
کاربرد ثابت ها در مواردی است که می خواهیم از مقادیری استفاده کنیم که دارای مقدار ثابت و مشخصی هستند. ضمن اینکه قرار نیست در طول برنامه این مقادیر تغییر کنند. در اینگونه از مواقع از ثابت ها استفاده می کنیم. برای مثال در برنامه ای که قرار است محیط و مساحت یک دایره را حساب کند، برای ذخیره عدد پی (pi = 3.14) بهتر است که از یک ثابت استفاده کنیم (به جای استفاده از متغیر).
استفاده از متغیرها و ثابت ها در برنامه ++C
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#include<iostream> using namespace std; int main() { int m = 10; int n = 20; cout << "m = " << m << " , n = " << n << endl; return 0; } |
در برنامه بالا، در خطوط ۷ و ۸ دو متغیر صحیح به نام های m و n تعریف و به ترتیب با مقادیر ۱۰ و ۲۰ مقداردهی شده اند. در خط ۱۰ نیز هر یک از متغیرها به همراه مقادیر مربوطه در خروجی چاپ شده اند.
خروجی برنامه فوق بدین صورت است :
1 |
m = 10 , n = 20 |
دریافت مقدار متغیرها از ورودی
برنامه بالا را می توان کمی بهتر نوشت و آن هم دریافت مقادیر متغیرها از ورودی است. یعنی به جای اینکه خود برنامه نویس بصورت دستی مقدار متغیرها را مشخص کند، کاربری که قصد استفاده از برنامه را دارد، مقدار آن ها را وارد کند.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#include<iostream> using namespace std; int main() { int m , n; cout << "please enter two integer number: "; cin >> m >> n; cout << "m = " << m << " , n = " << n << endl; return 0; } |
در خط ۷ دو متغیر m و n مجددا تعریف شده اند (بدون مقداردهی). در خط ۱۱ توسط دستور cin مقادیر این متغیرها از ورودی (توسط کاربر) دریافت شده و به ترتیب درون متغیرهای m و n قرار می گیرند. در خط ۹ نیز برای راهنمایی کاربر، پیغامی مبنی بر ورود دو عدد صحیح به وی نمایش داده شده است.
این بار خروجی برنامه به شکل زیر است (با فرض ورود دو مقدار ۳۰ و ۶۰ برای m و n) :
1 2 |
please enter two integer number: 30 60 m = 30 , n = 60 |
ضرورت مقداردهی متغیر قبل از استفاده
یک نکته مهم در کار با متغیرها لزوم مقداردهی، قبل از استفاده از آنهاست. چه شما به صورت دستی این کار را انجام دهید و چه از ورودی دریافت کنید، مقداردهی متغیرها قبل از استفاده از آنها یک مسئله مهم و ضروری است. دلیل آن هم این است که متغیری که تعریف شده ولی مقداردهی نشده باشد، مقدارش غیر قابل پیش بینی است.
در برخی از IDE ها و کامپایلرها چنانچه مقداردهی متغیری را فراموش کنیم، در زمان چاپ متغیر یکی از دو اتفاق زیر ممکن است رخ دهد :
- چاپ یک عدد بزرگ چند رقمی
- چاپ یک عدد منفی
که در هر دو صورت این مقادیر غلط و یا به نوعی غیر قابل پیش بینی هستند. به این مقادیر اصطلاحا زباله (Garbage) گفته می شود. البته در نرم افزار NetBeans مقدار پیش فرضی که در اینگونه مواقع برای متغیر در نظر گرفته می شود عدد صفر است. ولی همانگونه که ذکر شد در تعداد دیگری از نرم افزارها و کامپایلرهای ++C اینگونه نیست. پس مقداردهی متغیر قبل از استفاده را فراموش نکنید.
تعریف ثابت ها در برنامه ++C
تعریف ثابت ها در برنامه ++C مشابه تعریف متغیرها است، با این تفاوت که قبل از نوع متغیر (در مثال بالا int) عبارت const را قرار می دهیم. نکته ای که در تعریف ثابت ها در مقایسه با متغیرها وجود دارد این است که تعریف و مقداردهی ثابت ها باید همزمان انجام شود. به قطعه کد زیر دقت کنید :
1 2 3 4 5 6 7 8 9 10 11 12 |
#include<iostream> using namespace std; int main() { const int m = 10; cout << "m = " << m << endl; return 0; } |
در خط ۷ ثابتی به نام m با مقدار ۱۰ تعریف شده و در خط ۹ نیز مقدار این ثابت در خروجی چاپ شده است. دقت داشته باشید که تغییر این مقدار در ادامه برنامه ممکن نیست. چنانچه سعی کنیم آن را تغییر دهیم با پیغام خطایی از سوی کامپایلر مواجه خواهیم شد.
این جلسه از آموزش برنامه نویسی به زبان ++C هم به پایان رسید. در آینده با بخش های دیگری از زبان ++C آشنا خواهیم شد. با ما همراه باشید…
10 دیدگاه. ارسال دیدگاه جدید
ببخشید من یه سوال داشتم. چطوری مقدار یک متغیر از جنس int رو که قبلا بهش مقدار دادیم رو صفر کنیم؟
مثلا قبلا مقدارش بیست بوده و الان میخوایم صفر باشه
من این راه ها رو امتحان کردم نشدن:
;a = 0
;a -= a
دوست عزیز مورد خاصی وجود نداره، راهکار اولیه شما جوابگو هست:
;int a = 20
;a = 0
مگر اینکه اتفاق دیگری در کدتون افتاده باشه.
وحشتناک عالیه این آموزش😍🌹
سلام
خیلی حرفه ای و عالی جلسات ضبط شده
خدا خیرت بده که یه همچین آموزش های با کیفیتی رو رایگان گذاشتی
{یکی از نکات عالی جلسه پرداختن به نکات ریزیه که مدرس های دیگه چون حس می کنن براشون بدیهیه درس نمی دن}
دانشجوی کامپیوتر رجایی
ممنونم دوست عزیز موفق باشید
سلام استاد. ممنون. خیلی عالی و بصورت شیوا و روان توضیح دادین. ممنون از شما.
سلام و خسته نباشین. آموزشتون خییییلی عالی و ملموس بود. متشکرم استاد
خسته نباشید استاد
من وقتی مثل شما بدون مقدار دهی اجرا کردم M = 0 و N = 1 قرار داد در ++Dev C , میخواستم بدونم این عادیه یا من جایی اشتباه کردم؟
بله دوست عزیز، احتمالا یه جای کار ایراد داره.
چون بسته به نوع کامپایلر یا باید عدد صفر رو در خروجی ببینید و یا یک عدد عجیب و غریب و معمولا چند رقمی.
دوباره تمرین رو انجام دادم و مشکل رو پیدا و حل کردم.
ممنون استاد