استفاده از متغیرها

در مثال زیر نحوه تعریف و مقدار دهی متغیرها نمایش داده شده است :

#include <iostream>
using namespace std;

int main()
{
	//Declare variables                    
	int num1;      
	int num2;      
	double num3;   
	double num4;   
	bool boolVal;  
	char myChar;   
	string message;

	//Assign values to variables           
	num1 = 1;                
	num2 = 2;                
	num3 = 3.54;             
	num4 = 4.12;             
	boolVal = true;          
	myChar = 'R';            
	message = "Hello World!";

	//Show the values of the variables           
	cout << "num1 = " << num1 << endl;      
	cout << "num2 = " << num2 << endl;      
	cout << "num3 = " << num3 << endl;      
	cout << "num4 = " << num4 << endl;      
	cout << "boolVal = " << boolVal << endl;
	cout << "myChar = " << myChar << endl;  
	cout << "message = " << message << endl;
}

تعریف متغیر

در کد بالا متغیرهایی با نوع و نام متفاوت تعریف شده‌اند. ابتدا باید نوع داده‌هایی را که این متغیرها قرار است در خود ذخیره کنند را مشخص کنیم و سپس یک نام برای آنها در نظر بگیریم و در آخر سیمیکولن بگذاریم. همیشه به یاد داشته باشید که قبل از مقدار دهی و استفاده از متغیر باید آن را تعریف کرد. شاید برایتان این سؤال پیش آمده باشد که کاربرد endl چیست؟ endl برای ایجاد خط جدید مورد استفاده قرار گرفته است. یعنی نشانگر ماوس را همانند کاراکتر کنترلی n\ به خط بعد می‌برد، در نتیجه خروجی کد بالا در خطوط جداگانه چاپ می‌شود.

int num1;
int num2;
double num3;
double num4;
bool boolVal;
char myChar;
string message;

نحوه تعریف متغیر به صورت زیر است :

data_type identifier;

date_type همان نوع داده است مانند int ،double و…. .
Identifier نیز نام متغیر است که به ما امکان استفاده و دسترسی به مقدار متغیر را می‌دهد.
برای تعریف چند متغیر از یک نوع می‌توان به صورت زیر عمل کرد :

data_type identifier1, identifier2, ... indentifierN;

مثال

int num1, num2, num3, num4, num5;
string message1, message2, message3;

در مثال بالا 5 متغیر از نوع صحیح و 3 متغیر از نوع رشته تعریف شده است. توجه داشته باشید که بین متغیرها باید علامت کاما (,) باشد.

نامگذاری متغیرها

  • نام متغیر باید با یک حرف یا زیرخط و به دنبال آن حرف یا عدد شروع شود.
  • نمی‌توان از کاراکترهای خاص مانند #, %, & یا عدد برای شروع نام متغیر استفاده کرد مانند 2numbers.
  • نام متغیر نباید دارای فاصله باشد. برای نام‌های چند حرفی می‌توان به جای فاصله از علامت زیرخط یا _ استفاده کرد.

نامهای مجاز :

num1  myNumber  studentCount  total       first_name    _minimum
num2  myChar    average       amountDue   last_name     _maximum
name  counter   sum           isLeapYear  color_of_car  _age

نامهای غیر مجاز :

123        #numbers#  #ofstudents  1abc2
123abc     $money     first name   ty.np  
my number  this&that  last name    1:00

اگر به نامهای مجاز در مثال بالا توجه کنید متوجه قراردادهای به کار رفته در نامگذاری آن‌ها خواهید شد. یکی از روشهای نامگذاری، نامگذاری کوهان شتری است. در این روش که برای متغیرهای دو کلمه‌ای به کار می‌رود، اولین حرف اولین کلمه با حرف کوچک و اولین حرف دومین کلمه با حرف بزرگ نمایش داده می‌شود مانند : myNumber توجه کنید که اولین حرف کلمه Number با حرف بزرگ شروع شده است. مثال دیگر کلمه numberOfStudents است. اگز توجه کنید بعد از اولین کلمه حرف اول سایر کلمات با حروف بزرگ نمایش داده شده است.

محدوده متغیر

متغیرهای ابتدای درس در داخل متد main() تعریف شده‌اند. در نتیجه این متغیرها فقط در داخل متد main() قابل دسترسی هستند. محدوده یک متغیر مشخص می‌کند که متغیر در کجای کد قابل دسترسی است. هنگامیکه برنامه به پایان متد main() می‌رسد متغیرها از محدوده خارج و بدون استفاده می‌شوند تا زمانی که برنامه در حال اجراست. محدوده متغیرها انواعی دارد که در درسهای بعدی با آنها آشنا می‌شوید. تشخیص محدوده متغیر بسیار مهم است چون به وسیله آن می‌فهمید که در کجای کد می‌توان از متغیر استفاده کرد. باید یاد آور شد که دو متغیر در یک محدوده نمی‌توانند دارای نام یکسان باشند. مثلاً کد زیر در برنامه ایجاد خطا می‌کند :

int num1;
int num1;

از آنجاییکه ++C به بزرگی و کوچک بودن حروف حساس است می‌توان از این خاصیت برای تعریف چند متغیر هم نام ولی با حروف متفاوت (از لحاظ بزرگی و کوچکی) برای تعریف چند متغیر از یک نوع استفاده کرد مانند :

int num1;
int Num1;
int NUM1;

مقداردهی متغیرها

می‌توان فوراً بعد از تعریف متغیرها مقادیری را به آنها اختصاص داد. این عمل را مقداردهی می‌نامند. در زیر نحوه مقدار دهی متغیرها نشان داده شده است :

data_type identifier = value;

به عنوان مثال :

int myNumber = 7;

همچنین می‌توان چندین متغیر را فقط با گذاشتن کاما بین آنها به سادگی مقدار دهی کرد :

data_type variable1 = value1, varaible2 = value2, ... variableN, valueN;
int num1 = 1, num2 = 2, num3 = 3;

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

اختصاص مقدار به متغیر

در زیر نحوه اختصاص مقادیر به متغیرها نشان داده شده است:

num1 = 1; 
num2 = 2; 
num3 = 3.54; 
num4 = 4.12; 
boolVal = true; 
myChar = 'R'; 
message = "Hello World!";

به این نکته توجه کنید که شما به متغیری که هنوز تعریف نشده نمی‌توانید مقدار بدهید. شما فقط می‌توانید از متغیرهایی استفاده کنید که هم تعریف و هم مقدار دهی شده باشند. مثلاً متغیرهای بالا همه قابل استفاده هستند. در این مثال num1 و num2 هر دو تعریف شده‌اند و مقادیری از نوع صحیح به آنها اختصاص داده شده است. اگر نوع داده با نوع متغیر یکی نباشد برنامه پیغام خطا می‌دهد.