آموزش برنامه نویسی به زبان ++C

این وبلاگ جهت آموزش برنامه نویسی به زبان ++C برای دانش آموزان دبیرستان فرزانگان ایجاد شده است.
دوشنبه, ۸ اسفند ۱۳۹۰، ۰۷:۴۹ ق.ظ

1- ورودی و خروجی

آشنایی با برنامه­ نویسی

در ابتدای کار توجه داشته باشید که زبان ++c به بزرگی و کوچکی حروف حساس است و تمام دستورهایی که در ادامه آموزش داده می­شوند با حرف کوچک نوشته می­ شوند مگر زمانی که خلاف آن عینا اعلام شود.



در ابتدای هر برنامه توابع کتابخانه­ای را که می­خواهیم در برنامه­ی خود از آن­ها استفاده ببریم معرفی خواهیم کرد. یکی از این توابع کتابخانه­ای iostream می­باشد که معرفی آن به صورت زیر می­باشد:

#include <iostream.h>

چند نمونه دیگر از توابع کتابخانه­ای math یا cmath و همینطور conio و graphics می­باشند. در ادامه با این توابع کتابخانه­ای بیشتر آشنا خواهیم شد.

پس از نوشتن توابع کتابخانه­ای یا include های مربوط به برنامه ی مورد نظرمان قسمت پراهمیت برنامه ما شروع می­شود.

صورت کلی برنامه به صورت زیر می­باشد:

 #include <iostream.h>
.
.
.
main( )
{
               دستورات برنامه;
}

بنابراین هر دستوری که بخواهیم بنویسیم باید در درون تابع main (به معنای اصلی) باشد

هر دستور را در یک خط می­نویسیم و انتهای هر دستور را با علامت ; یا سمی کالن مشخص می­کنیم.

انواع برنامه­ها بر اساس ورودی و خروجی:

1-     برنامه­هایی که فقط خروجی دارند.

2-     برنامه­هایی که فقط ورودی دارند.

3-     برنامه­هایی که نه ورودی دارند و نه خروجی.

4-     برنامه­هایی که هم ورودی دارند هم خروجی.

 

خروجی در++C

برای اعلام مقدار و یا نتیجه­ی انتهایی هر برنامه باید آن را در پنجره خروجی به کاربر اعلام کنیم. برای این کار باید از دستور cout استفاده کنیم. نحوه­ی استفاده از این دستور در زیر آمده است. برنامه زیر عبارت hello Iran! را در صفحه خروجی به کاربر نشان می­دهد.

cout << ”hello Iran!” ;

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

به برنامه­ی زیر توجه کنید:

#include <iostream>
 
main( )
{
               cout << ”7*8” ;
}


برنامه­ی بالا در خروجی عینا عبارت 7*8 را نمایش می­دهد. پس هر عبارتی را بخواهیم عینا در خروجی نمایش دهیم، مثل دو مثالی که تا حالا بیان کردیم، باید آن عبارت را بین علامت "" یا دابل کوتیشین قرار دهیم.


در خط ابتدایی برنامه دستور #include<iostream>  را مشاهده می­کنید. هردستور در زبان­های برنامه­نویسی با دستورهای مشابه خود دسته­بندی می­شود. مثلا دستورهای مربوط به ورودی و خروجی دسته­بندی مخصوص خود را دارند. این دسته­بندی مخصوص جایی است که معنی این دستورها نوشته شده است که همان تابع کتابخانه­ای می­باشد. به این منظور است که برای استفاده از این دستورها در برنامه­ی خودمان، باید آن­ها را به برنامه معرفی کنیم و برای این کار تنها کافی است تابع کتابخانه­ای مربوط به آن دستور را در بالا و قبل از نوشتن main یک بار معرفی کنیم و پس از آن اجازه داریم هر چقدر که دوست داریم از دستور مورد نظر و دستورهای هم­نوعش در برنامه­مان استفاده کنیم. در برنامه­ی بالا تابع کتابخانه­ای iostream تابع کتابخانه­ای مربوط به دستورهای ورودی و خروجی می­باشد چون که در برنامه از دستور cout که یک دستور خروجی می­باشد استفاده کرده­ایم.

 

به برنامه­ی زیر دقت کنید:

#include <iostream> 
 
main( ) {
   cout << 7*8 ;
}

خروجی این برنامه پس از اجرا عدد 56 می­باشد. پس در اینجا یاد می­گیریم که اگر بخواهیم حاصل محاسباتی را در خروجی اعلام کنیم می­توانیم آن محاسبات را در جلوی دستور cout<<  البته بدون کوتیشین بنویسیم. کامپیوتر حاصل عبارت ریاضی را محاسبه می­کند و سپس نتیجه را اعلام می­کند.

به برنامه­ی زیر توجه کنید:

#include <iostream> 
 
main( ) {
   cout << Hello ;
}

پس از سعی در اجرای این برنامه، کامپایلر به ما ارور (error) می­دهد. چرا که hello عبارت محاسباتی ریاضی نیست که کامپیوتر بتواند آن را محاسبه کند و نتیجه را نمایش دهد. تنها می­تواند آن را در خروجی نمایش دهد که در آن صورت، شکل صحیح استفاده از دستور به این صورت است:   

cout << ”Hello” ;

یعنی باید آن کلمه یا جمله­ای را که می­خواهیم در خروجی نمایش دهیم درون کوتیشین قرار دهیم.

 

اگر بخواهیم در برنامه از دستور cout به گونه­ای استفاده کنیم که هم یک کلمه را عینا در خروجی نمایش دهد و هم مقداری را محاسبه کند می­توانیم به دو شکل زیر عمل کنیم:

حالت اول : استفاده از یک دستور cout

 

cout << ”salam bache joon, khoobi? “ << 7 * 8 + 9 * (13 - 7);

خروجی این برنامه به شکل زیر خواهد بود:






در واقع پس از قسمت اول که نمایش یک جمله است دوباره از علامت << استفاده می­کنیم و قسمت دوم خروجی که یک عبارت محاسباتی است را قرار می­دهیم. پس اول جمله­ی salam bache joon, khoobi? را نمایش می­دهد و پس از آن بدون این­که به خط بعدی برود حاصل عبارت ریاضی را محاسبه می­کند و جواب را که 110 می­شود اعلام می­کند.

حالت دوم: استفاده از دو دستور cout

cout << ”salam bache joon, khoobi? “;
cout << 7 * 8 + 9 * (13 - 7);

خروجی این برنامه هم دقیقا مشابه خروجی برنامه­ی بالایی است.

 

پس اگر در خط بعدی از دستور cout دیگری استفاده کنیم به این معنی نیست که حاصل عبارت ریاضی را در خط بعدی نمایش خواهد داد. برای این­که حاصل عبارت ریاضی را در خط بعدی صفحه خروجی نمایش دهد از دستور دیگری باید استفاده کنیم.

به دستور زیر توجه کنید:

cout << ”salam bache joon  “ << endl << ”khoobi?” ;

 

پس از اجرای دستور بالا خروجی به شکل زیر ظاهر می­شود:

 




پس دستور endl به تنهایی باعث می­شود نشانگر متن به ابتدای خط بعدی برود. می­توان به جای این دستور از دستور دیگری نیز استفاده کرد که دقیقا همین کار ار انجام می­دهد. به برنامه­زیر توجه کنید:

 

cout << ”salam bache joon  “ << ”\n” << ”khoobi?” ;

 

پس از اجرای دستور بالا خروجی به شکل زیر ظاهر می­شود:



پس دستور “\n” که جزو معدود دستوراتی است که بین علامت کوتیشین قرار می­گیرد نیز همان کار endl را انجام می­دهد.

دستور “\t” در برنامه­ی زیر نشانگر متن را به اندازه­ی  یک فاصله­ی 8 تایی به جلو می­برد. به خروجی برنامه توجه کنید.

cout << ”salam bache joon  “ << ”\t” << ”khoobi?” ;

 

خروجی:



ورودی در++C

شما برای ذخیره اطلاعات خود در کامپیوتر به حافظه احتیاج دارید. برای محاسبه­ی یک عبارت ریاضی، اعداد را به حافظه کامپیوتر می­سپرید. سپس منتظر می­مانید تا کامپیوتر در کسری از ثانیه جواب را به شما اعلام کند. بنابراین در هر محاسبه­ی کوچکی از ریاضی بخشی از حافظه­ی کامپیوتر برای ذخیره اعداد استفاده می­شود.

 ممکن است این بخش از حافظه در یک محاسبه­ی ریاضی دیگر یا هر نوع عمل دیگری، اطلاعات دیگیری را ذخیره کند. پس آن­چه در حافظه­ی کامپیوتر ذخیره می­شود بسته به نیاز شما متغیر است و همواره ثابت نخواهد ماند.

تا الان یاد گرفتیم که در صفحه­ی خروجی پیغامی را نمایش دهیم، نتیجه­ی محاسبه­ای را اعلام کنیم و یا اینکه به خط بعدی برویم و مکان نشان­گر متن را عوض کنیم.

حال باید یاد بگیریم که چگونه می­توانیم با فردی که قرار است با برنامه­ی ما کار کند( که به آن کاربر می­گوئیم) ارتباط برقرار کنیم و از او اطلاعات بگیریم. برای این­که اطلاعاتی را از کاربر یا از ورودی بگیریم باید جایی از حافظه را در نظر بگیریم که آن اطلاعات را در آنجا ذخیره کنیم. یکی از مکان­هایی که می­توانیم اطلاعات را در آن ذخیره کنیم متغیر نامیده می­شود. علت انتخاب اسم متغیر برای آن این است که در هر بار اجرای برنامه امکان دارد مقدار متفاوتی را در بر بگیرد.

متغیرها می­توانند به هر مقدار که لازم دارید در برنامه استفاده شوند. برای استفاده از متغیر ابتدا باید آن­ها را تعریف کنید. برای تعریف یک متغیر باید نوع و اسم آن را در برنامه بنویسید.

;اسم متغیر      نوع متغیر

اسم متغیر می­تواند ترکیبی از حروف و اعداد باشد که البته عدد را در ابتدای اسم متغیر نمی­توان استفاده کرد. این اسامی برای متغیر مجاز هستند: a, b, abcd, a1, b123, a5b, ab21cd, abs12  اما این اسامی برای متغیر مجاز نمی­باشند: 2a, 54, a&b,a!b#n8

متغیر­ها انواع مختلفی دارند. در اینجا شما با چند نوع از متغیر آشنا خواهید شد که بیشتر از سایر انواع در برنامه­های شما استفاده خواهند شد.

1- متغیر از نوع صحیح

این متغیر اعداد صحیح (integer) را در خود جای می­دهد. محدوده­ی این متغیر از 2147483648    تا 2147483647 می­باشد. تعریف این متغیر به صورت زیر می­باشد:

int   a;

این متغیر فقط اعداد صحیح را در خود جای می­دهد. مثلا می­توان برنامه­ی زیر را نوشت:

#include <conio.h>
#include <iostream.h>
 
main()
{
    int a;
    int c, b;
    a = 23;
    b = 2;
    c = a * b;
    cout << c;
  }

در این برنامه در خط اول یک متغیر a از نوع صحیح تعریف شده است و پس از آن در خط بعدی دو متغیر b و c هم از نوع صحیح تعریف شده اند. مقدار متغیر a را برابر 23 قرار داده­ایم و مقدار متغیر b را برابر 2 قرار داده­ایم. در خط بعد از آن مقدار متغیر c را برابر حاصل­ضرب a و b قرار داده­ایم. در خط بعد هم مقدار متغیر c را در صفحه خروجی نمایش داده­ایم.

خروجی برنامه عدد 46 می­باشد.

2- متغیر از نوع ممیزی

این نوع از متغیر اعداد ممیزی را در خود جای می­دهد. به برنامه­ی زیر دقت کنید:

main()
{
    float a;
    a = 3.5;
    float b, c;
    int d = 2;
    b = 2;
    c = 2.3;
    c = c + b;
    a = a - c;
    cout << a * d; 
}

در این برنامه متغیر a و b و c از نوع ممیزی تعریف شده­اند و متغیر d هم از نوع صحیح تعریف شده است. متغیرها مقدار دهی شده­اند و پس از آن متغیر c برابر مجموع مقدار خودش و مقدار b قرار گرفته است. ( دقت کنید که c=c+b به این معناست که مقدار توی متغیر c و b را با هم جمع بزن و حاصل را در متغیر c بریز. پس از این کار متغیر b همچنان مقدار قبلی خود را دارد. این دستور را نمی­توان به اشتباه این­گونه نوشت: c+b=c   نوشتن این دستور به این صورت برنامه را دچار خطا(error) می­کند. )

خط a=a-c را نیز می­توان به صورت بالا تحلیل کرد. پس از آن در خط انتهایی مقدار a در d که یک متغیر از نوع صحیح است ضرب می­شود و جواب در صفحه خروجی نمایش داده می­شود. ( -1.6)

3- متغیر از نوع کاراکتری

این نوع از متغیر کاراکتر(character) را در خود جای می­دهد. کاراکتر به تمامی حروف و علائم و اعداد روی کیبرد گفته می­شود. چند نمونه از کاراکتر ها به این شکل می­باشند: a, b, c, @, #, $, %, 1, 2, 3, 4, …

به برنامه­ی زیر دقت کنید:

main()
{
    char a;
    a = '@';
    char b = '$';
    a = b;
    cout << a;  
}

در این برنامه­ متغیر a و b از نوع کاراکتری تعریف شده­اند. مقدار درون متغیرa  علامت @ می­باشد و مقدار درون متغیر bهم علامت $ می­باشد. در خط بعد از مقدار دهی، نوشته شده­است a=b این خط به این معنی است که مقدار متغیر b را درون متغیر a بریز( اشتباهی به این معنی تعبیر نکنید که مقدار a را توی b می­ریزد!) پس از این دستور، مقدار  درون a برابر علامت $ می­شود و مقدار متغیر b هم تغییر نمی­کند.

خروجی این برنامه هم علامت $ است.

دقت کنید که برای ریختن یک کاراکتر در یک متغیر کاراکتری باید آن کاراکتر را درون علامت ‘ ‘ یا سینگل کوتیشین قرار دهیم. پس اگر بخواهیم در متغیری کاراکتری، کاراکتر 3 را بریزیم باید به این صورت عمل کنیم:

char a = '3';

توجه داشته باشید که اعداد در نوع کاراکتری ارزش محاسباتی ندارند و نمی­توان آن­ها را در محاسبات استفاده کرد. پس در اینجا نمی­توان از این عدد 3 در محاسبات استفاده کرد. چرا که 3 فقط یک کاراکتر محسوب شده و تنها پیچشی از خط به شکل عدد 3 است و ارزش محاسباتی ندارد.

پس دستور زیر غلط است:

char a = '3';
int  b = a + 9;

در این برنامه نمی­توان متغیر از نوع صحیح b را برابر مجموع عدد 9 و کاراکتر 3 قرار داد. چرا که 3 یک عدد نیست و تنها یک کاراکتر است.

به قطعه کدهایی که در زیر نوشته شده است توجه کنید. بعضی از این کد ها اشتباه می­باشند. می­خواهیم آن­ها را با هم بررسی کنیم.

1)                          

int a;
int b;
float c;
a = 4;       
b = 2.3;       //دادن مقدار ممیزی به متغیر صحیح اشتباه است. ارور نمی­دهد. تنها ممیز را حذف می کند

c = b + a;                //به علت توضیحات بالا حاصل جمع برابر جمع عدد 4 و 2 خواهد بود که 6 می­شود

2)                          

char a, b;
int c;
a = ’4’;
b = 5;            //نمیتوان مقدار متغیر از نوع کاراکتری را برابر یک عدد قرار داد. باید عدد را در کوتیشین بگذاریم.

b = ’8’;
c = 14 + b; //     مقدار متغیر کاراکتری حتی اگر شبیه عدد باشد قابل جمع زدن با متغیر صحیح نیست! 

a = #;      //برای ریختن علامت یا کاراکتر در متغیر کاراکتری باید آن را بین سینگل کوتیشین قرار دهیم.

 

حال که با چند نوع مهم از متغیر ها آشنا شدیم می­توانیم مقداری را از ورودی و یا کاربر گرفته و آن را در یک متغیر ذخیره کنیم. برای گرفتن یک مقدار از ورودی باید از دستور زیر استفاده کنیم:

cin >> متغیر

پس در ابتدا باید متغیر خودمان را تعریف کنیم( بیان اسم و نوع متغیر) و سپس با استفاده از دستور دریافت از ورودی، با کاربر ارتباط برقرار کنیم. به برنامه­ی زیر توجه کنید:

main()
{
    int a;
    cin >> a;
    cout << a * 2;    
}

در این برنامه یک متغیر از نوع صحیح تعریف کرده­ایم و مقدار آن را از ورودی گرفته­ایم و سپس دو برابر آن را در خروجی نمایش داده­ایم. پس از اجرای آن، صفحه مشکی ورودی و خروجی باز می­شود و منتظر می­ماند تا کاربر یک عدد وارد کند. پس از این که کاربر یک عدد وارد کرد و کلید اینتر را زد برنامه عدد را از ورودی می­گیرد و در متغیر a می­ریزد و سپس ادامه برنامه را اجرا می­کند و دو برابر مقدار دریافت شده از ورودی را( که در متغیر a ریخته است) نماش می­دهد.

یک نمونه خروجی برنامه به شکل زیر می­باشد: 



اگر بخواهیم بیش از یک مقدار را از ورودی بگیریم می­توانیم به یکی از دو صورت زیر عمل کنیم:

int a, b;
char c;
cin >> a
cin >> b
cin >> c;

یا

cin >> a >> b >> c;

یعنی بین اسامی ورودی­ها در دستور cin  باید از علامت >> استفاده کنیم.

به برنامه­ی زیر توجه کنید:

main()
{
    int a, b;
    char c;
    cout << "lotfan yek adad be man bede: " << endl;
    cin >> a;
    cout << "adade digari vared kon: " << endl;
    cin >> b;
    cout << "yek character vared kon: " << endl;
    cin >> c;
    cout << "majmooe adad mishe: " << a + b << endl;
    cout << "alamate " << c << " charactere to bud!" ;
}

 

خروجی برنامه به شکل زیر است:




که کاربر دو عدد دلخواه 12 و 15 را وارد کرده است و همچنین کاراکتر & را وارد کرده اس و نتیجه را نیز مشاهده می­کنید.


کامنت گذاشتن و یا قرار دادن توضیحات در برنامه

برای کامنت گذاشتن و یا توضیح گذاشتن لابه­ لای خط­ های برنامه می­ توان از علامت // استفاده کرد. با استفاده از قرار دادن این علامت در ابتدا و نوشتن توضیح در ادامه­ ی آن علامت، خط نوشته شده در اجرای برنامه هیچ اثری نمی­ گذارد و تنها برای توضیح اضافی استفاده می شود.

مثلا می توان خط زیر را در هر جای دلخواه از برنامه قرار داد:

               //in khat baraye tozihe ezafe estefade mishavad.

اگر بخواهیم چند خط پشت سر هم کامنت بگذارید از دستور /* و */ استفاده می­ کنیم. به صورت زیر:

               /*tozihat  tozihat  tozihat  tozihat  tozihat tozihat
               tozihat tozihat tozihat  tozihat  tozihat  tozihat  tozihat  
               tozihat tozihat  tozihat  tozihat  tozihat  tozihat   */

با قرار دادن دو علامت مذکور در ابتدا و انتهای توضیحات، تمام محدوده­ ی بین این دو علامت به توضیح تبدیل خواهند شد.





نوشته شده توسط سارا نازاری
ساخت وبلاگ در بلاگ بیان، رسانه متخصصان و اهل قلم

آموزش برنامه نویسی به زبان ++C

این وبلاگ جهت آموزش برنامه نویسی به زبان ++C برای دانش آموزان دبیرستان فرزانگان ایجاد شده است.

1- ورودی و خروجی

دوشنبه, ۸ اسفند ۱۳۹۰، ۰۷:۴۹ ق.ظ

آشنایی با برنامه­ نویسی

در ابتدای کار توجه داشته باشید که زبان ++c به بزرگی و کوچکی حروف حساس است و تمام دستورهایی که در ادامه آموزش داده می­شوند با حرف کوچک نوشته می­ شوند مگر زمانی که خلاف آن عینا اعلام شود.



در ابتدای هر برنامه توابع کتابخانه­ای را که می­خواهیم در برنامه­ی خود از آن­ها استفاده ببریم معرفی خواهیم کرد. یکی از این توابع کتابخانه­ای iostream می­باشد که معرفی آن به صورت زیر می­باشد:

#include <iostream.h>

چند نمونه دیگر از توابع کتابخانه­ای math یا cmath و همینطور conio و graphics می­باشند. در ادامه با این توابع کتابخانه­ای بیشتر آشنا خواهیم شد.

پس از نوشتن توابع کتابخانه­ای یا include های مربوط به برنامه ی مورد نظرمان قسمت پراهمیت برنامه ما شروع می­شود.

صورت کلی برنامه به صورت زیر می­باشد:

 #include <iostream.h>
.
.
.
main( )
{
               دستورات برنامه;
}

بنابراین هر دستوری که بخواهیم بنویسیم باید در درون تابع main (به معنای اصلی) باشد

هر دستور را در یک خط می­نویسیم و انتهای هر دستور را با علامت ; یا سمی کالن مشخص می­کنیم.

انواع برنامه­ها بر اساس ورودی و خروجی:

1-     برنامه­هایی که فقط خروجی دارند.

2-     برنامه­هایی که فقط ورودی دارند.

3-     برنامه­هایی که نه ورودی دارند و نه خروجی.

4-     برنامه­هایی که هم ورودی دارند هم خروجی.

 

خروجی در++C

برای اعلام مقدار و یا نتیجه­ی انتهایی هر برنامه باید آن را در پنجره خروجی به کاربر اعلام کنیم. برای این کار باید از دستور cout استفاده کنیم. نحوه­ی استفاده از این دستور در زیر آمده است. برنامه زیر عبارت hello Iran! را در صفحه خروجی به کاربر نشان می­دهد.

cout << ”hello Iran!” ;

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

به برنامه­ی زیر توجه کنید:

#include <iostream>
 
main( )
{
               cout << ”7*8” ;
}


برنامه­ی بالا در خروجی عینا عبارت 7*8 را نمایش می­دهد. پس هر عبارتی را بخواهیم عینا در خروجی نمایش دهیم، مثل دو مثالی که تا حالا بیان کردیم، باید آن عبارت را بین علامت "" یا دابل کوتیشین قرار دهیم.


در خط ابتدایی برنامه دستور #include<iostream>  را مشاهده می­کنید. هردستور در زبان­های برنامه­نویسی با دستورهای مشابه خود دسته­بندی می­شود. مثلا دستورهای مربوط به ورودی و خروجی دسته­بندی مخصوص خود را دارند. این دسته­بندی مخصوص جایی است که معنی این دستورها نوشته شده است که همان تابع کتابخانه­ای می­باشد. به این منظور است که برای استفاده از این دستورها در برنامه­ی خودمان، باید آن­ها را به برنامه معرفی کنیم و برای این کار تنها کافی است تابع کتابخانه­ای مربوط به آن دستور را در بالا و قبل از نوشتن main یک بار معرفی کنیم و پس از آن اجازه داریم هر چقدر که دوست داریم از دستور مورد نظر و دستورهای هم­نوعش در برنامه­مان استفاده کنیم. در برنامه­ی بالا تابع کتابخانه­ای iostream تابع کتابخانه­ای مربوط به دستورهای ورودی و خروجی می­باشد چون که در برنامه از دستور cout که یک دستور خروجی می­باشد استفاده کرده­ایم.

 

به برنامه­ی زیر دقت کنید:

#include <iostream> 
 
main( ) {
   cout << 7*8 ;
}

خروجی این برنامه پس از اجرا عدد 56 می­باشد. پس در اینجا یاد می­گیریم که اگر بخواهیم حاصل محاسباتی را در خروجی اعلام کنیم می­توانیم آن محاسبات را در جلوی دستور cout<<  البته بدون کوتیشین بنویسیم. کامپیوتر حاصل عبارت ریاضی را محاسبه می­کند و سپس نتیجه را اعلام می­کند.

به برنامه­ی زیر توجه کنید:

#include <iostream> 
 
main( ) {
   cout << Hello ;
}

پس از سعی در اجرای این برنامه، کامپایلر به ما ارور (error) می­دهد. چرا که hello عبارت محاسباتی ریاضی نیست که کامپیوتر بتواند آن را محاسبه کند و نتیجه را نمایش دهد. تنها می­تواند آن را در خروجی نمایش دهد که در آن صورت، شکل صحیح استفاده از دستور به این صورت است:   

cout << ”Hello” ;

یعنی باید آن کلمه یا جمله­ای را که می­خواهیم در خروجی نمایش دهیم درون کوتیشین قرار دهیم.

 

اگر بخواهیم در برنامه از دستور cout به گونه­ای استفاده کنیم که هم یک کلمه را عینا در خروجی نمایش دهد و هم مقداری را محاسبه کند می­توانیم به دو شکل زیر عمل کنیم:

حالت اول : استفاده از یک دستور cout

 

cout << ”salam bache joon, khoobi? “ << 7 * 8 + 9 * (13 - 7);

خروجی این برنامه به شکل زیر خواهد بود:






در واقع پس از قسمت اول که نمایش یک جمله است دوباره از علامت << استفاده می­کنیم و قسمت دوم خروجی که یک عبارت محاسباتی است را قرار می­دهیم. پس اول جمله­ی salam bache joon, khoobi? را نمایش می­دهد و پس از آن بدون این­که به خط بعدی برود حاصل عبارت ریاضی را محاسبه می­کند و جواب را که 110 می­شود اعلام می­کند.

حالت دوم: استفاده از دو دستور cout

cout << ”salam bache joon, khoobi? “;
cout << 7 * 8 + 9 * (13 - 7);

خروجی این برنامه هم دقیقا مشابه خروجی برنامه­ی بالایی است.

 

پس اگر در خط بعدی از دستور cout دیگری استفاده کنیم به این معنی نیست که حاصل عبارت ریاضی را در خط بعدی نمایش خواهد داد. برای این­که حاصل عبارت ریاضی را در خط بعدی صفحه خروجی نمایش دهد از دستور دیگری باید استفاده کنیم.

به دستور زیر توجه کنید:

cout << ”salam bache joon  “ << endl << ”khoobi?” ;

 

پس از اجرای دستور بالا خروجی به شکل زیر ظاهر می­شود:

 




پس دستور endl به تنهایی باعث می­شود نشانگر متن به ابتدای خط بعدی برود. می­توان به جای این دستور از دستور دیگری نیز استفاده کرد که دقیقا همین کار ار انجام می­دهد. به برنامه­زیر توجه کنید:

 

cout << ”salam bache joon  “ << ”\n” << ”khoobi?” ;

 

پس از اجرای دستور بالا خروجی به شکل زیر ظاهر می­شود:



پس دستور “\n” که جزو معدود دستوراتی است که بین علامت کوتیشین قرار می­گیرد نیز همان کار endl را انجام می­دهد.

دستور “\t” در برنامه­ی زیر نشانگر متن را به اندازه­ی  یک فاصله­ی 8 تایی به جلو می­برد. به خروجی برنامه توجه کنید.

cout << ”salam bache joon  “ << ”\t” << ”khoobi?” ;

 

خروجی:



ورودی در++C

شما برای ذخیره اطلاعات خود در کامپیوتر به حافظه احتیاج دارید. برای محاسبه­ی یک عبارت ریاضی، اعداد را به حافظه کامپیوتر می­سپرید. سپس منتظر می­مانید تا کامپیوتر در کسری از ثانیه جواب را به شما اعلام کند. بنابراین در هر محاسبه­ی کوچکی از ریاضی بخشی از حافظه­ی کامپیوتر برای ذخیره اعداد استفاده می­شود.

 ممکن است این بخش از حافظه در یک محاسبه­ی ریاضی دیگر یا هر نوع عمل دیگری، اطلاعات دیگیری را ذخیره کند. پس آن­چه در حافظه­ی کامپیوتر ذخیره می­شود بسته به نیاز شما متغیر است و همواره ثابت نخواهد ماند.

تا الان یاد گرفتیم که در صفحه­ی خروجی پیغامی را نمایش دهیم، نتیجه­ی محاسبه­ای را اعلام کنیم و یا اینکه به خط بعدی برویم و مکان نشان­گر متن را عوض کنیم.

حال باید یاد بگیریم که چگونه می­توانیم با فردی که قرار است با برنامه­ی ما کار کند( که به آن کاربر می­گوئیم) ارتباط برقرار کنیم و از او اطلاعات بگیریم. برای این­که اطلاعاتی را از کاربر یا از ورودی بگیریم باید جایی از حافظه را در نظر بگیریم که آن اطلاعات را در آنجا ذخیره کنیم. یکی از مکان­هایی که می­توانیم اطلاعات را در آن ذخیره کنیم متغیر نامیده می­شود. علت انتخاب اسم متغیر برای آن این است که در هر بار اجرای برنامه امکان دارد مقدار متفاوتی را در بر بگیرد.

متغیرها می­توانند به هر مقدار که لازم دارید در برنامه استفاده شوند. برای استفاده از متغیر ابتدا باید آن­ها را تعریف کنید. برای تعریف یک متغیر باید نوع و اسم آن را در برنامه بنویسید.

;اسم متغیر      نوع متغیر

اسم متغیر می­تواند ترکیبی از حروف و اعداد باشد که البته عدد را در ابتدای اسم متغیر نمی­توان استفاده کرد. این اسامی برای متغیر مجاز هستند: a, b, abcd, a1, b123, a5b, ab21cd, abs12  اما این اسامی برای متغیر مجاز نمی­باشند: 2a, 54, a&b,a!b#n8

متغیر­ها انواع مختلفی دارند. در اینجا شما با چند نوع از متغیر آشنا خواهید شد که بیشتر از سایر انواع در برنامه­های شما استفاده خواهند شد.

1- متغیر از نوع صحیح

این متغیر اعداد صحیح (integer) را در خود جای می­دهد. محدوده­ی این متغیر از 2147483648    تا 2147483647 می­باشد. تعریف این متغیر به صورت زیر می­باشد:

int   a;

این متغیر فقط اعداد صحیح را در خود جای می­دهد. مثلا می­توان برنامه­ی زیر را نوشت:

#include <conio.h>
#include <iostream.h>
 
main()
{
    int a;
    int c, b;
    a = 23;
    b = 2;
    c = a * b;
    cout << c;
  }

در این برنامه در خط اول یک متغیر a از نوع صحیح تعریف شده است و پس از آن در خط بعدی دو متغیر b و c هم از نوع صحیح تعریف شده اند. مقدار متغیر a را برابر 23 قرار داده­ایم و مقدار متغیر b را برابر 2 قرار داده­ایم. در خط بعد از آن مقدار متغیر c را برابر حاصل­ضرب a و b قرار داده­ایم. در خط بعد هم مقدار متغیر c را در صفحه خروجی نمایش داده­ایم.

خروجی برنامه عدد 46 می­باشد.

2- متغیر از نوع ممیزی

این نوع از متغیر اعداد ممیزی را در خود جای می­دهد. به برنامه­ی زیر دقت کنید:

main()
{
    float a;
    a = 3.5;
    float b, c;
    int d = 2;
    b = 2;
    c = 2.3;
    c = c + b;
    a = a - c;
    cout << a * d; 
}

در این برنامه متغیر a و b و c از نوع ممیزی تعریف شده­اند و متغیر d هم از نوع صحیح تعریف شده است. متغیرها مقدار دهی شده­اند و پس از آن متغیر c برابر مجموع مقدار خودش و مقدار b قرار گرفته است. ( دقت کنید که c=c+b به این معناست که مقدار توی متغیر c و b را با هم جمع بزن و حاصل را در متغیر c بریز. پس از این کار متغیر b همچنان مقدار قبلی خود را دارد. این دستور را نمی­توان به اشتباه این­گونه نوشت: c+b=c   نوشتن این دستور به این صورت برنامه را دچار خطا(error) می­کند. )

خط a=a-c را نیز می­توان به صورت بالا تحلیل کرد. پس از آن در خط انتهایی مقدار a در d که یک متغیر از نوع صحیح است ضرب می­شود و جواب در صفحه خروجی نمایش داده می­شود. ( -1.6)

3- متغیر از نوع کاراکتری

این نوع از متغیر کاراکتر(character) را در خود جای می­دهد. کاراکتر به تمامی حروف و علائم و اعداد روی کیبرد گفته می­شود. چند نمونه از کاراکتر ها به این شکل می­باشند: a, b, c, @, #, $, %, 1, 2, 3, 4, …

به برنامه­ی زیر دقت کنید:

main()
{
    char a;
    a = '@';
    char b = '$';
    a = b;
    cout << a;  
}

در این برنامه­ متغیر a و b از نوع کاراکتری تعریف شده­اند. مقدار درون متغیرa  علامت @ می­باشد و مقدار درون متغیر bهم علامت $ می­باشد. در خط بعد از مقدار دهی، نوشته شده­است a=b این خط به این معنی است که مقدار متغیر b را درون متغیر a بریز( اشتباهی به این معنی تعبیر نکنید که مقدار a را توی b می­ریزد!) پس از این دستور، مقدار  درون a برابر علامت $ می­شود و مقدار متغیر b هم تغییر نمی­کند.

خروجی این برنامه هم علامت $ است.

دقت کنید که برای ریختن یک کاراکتر در یک متغیر کاراکتری باید آن کاراکتر را درون علامت ‘ ‘ یا سینگل کوتیشین قرار دهیم. پس اگر بخواهیم در متغیری کاراکتری، کاراکتر 3 را بریزیم باید به این صورت عمل کنیم:

char a = '3';

توجه داشته باشید که اعداد در نوع کاراکتری ارزش محاسباتی ندارند و نمی­توان آن­ها را در محاسبات استفاده کرد. پس در اینجا نمی­توان از این عدد 3 در محاسبات استفاده کرد. چرا که 3 فقط یک کاراکتر محسوب شده و تنها پیچشی از خط به شکل عدد 3 است و ارزش محاسباتی ندارد.

پس دستور زیر غلط است:

char a = '3';
int  b = a + 9;

در این برنامه نمی­توان متغیر از نوع صحیح b را برابر مجموع عدد 9 و کاراکتر 3 قرار داد. چرا که 3 یک عدد نیست و تنها یک کاراکتر است.

به قطعه کدهایی که در زیر نوشته شده است توجه کنید. بعضی از این کد ها اشتباه می­باشند. می­خواهیم آن­ها را با هم بررسی کنیم.

1)                          

int a;
int b;
float c;
a = 4;       
b = 2.3;       //دادن مقدار ممیزی به متغیر صحیح اشتباه است. ارور نمی­دهد. تنها ممیز را حذف می کند

c = b + a;                //به علت توضیحات بالا حاصل جمع برابر جمع عدد 4 و 2 خواهد بود که 6 می­شود

2)                          

char a, b;
int c;
a = ’4’;
b = 5;            //نمیتوان مقدار متغیر از نوع کاراکتری را برابر یک عدد قرار داد. باید عدد را در کوتیشین بگذاریم.

b = ’8’;
c = 14 + b; //     مقدار متغیر کاراکتری حتی اگر شبیه عدد باشد قابل جمع زدن با متغیر صحیح نیست! 

a = #;      //برای ریختن علامت یا کاراکتر در متغیر کاراکتری باید آن را بین سینگل کوتیشین قرار دهیم.

 

حال که با چند نوع مهم از متغیر ها آشنا شدیم می­توانیم مقداری را از ورودی و یا کاربر گرفته و آن را در یک متغیر ذخیره کنیم. برای گرفتن یک مقدار از ورودی باید از دستور زیر استفاده کنیم:

cin >> متغیر

پس در ابتدا باید متغیر خودمان را تعریف کنیم( بیان اسم و نوع متغیر) و سپس با استفاده از دستور دریافت از ورودی، با کاربر ارتباط برقرار کنیم. به برنامه­ی زیر توجه کنید:

main()
{
    int a;
    cin >> a;
    cout << a * 2;    
}

در این برنامه یک متغیر از نوع صحیح تعریف کرده­ایم و مقدار آن را از ورودی گرفته­ایم و سپس دو برابر آن را در خروجی نمایش داده­ایم. پس از اجرای آن، صفحه مشکی ورودی و خروجی باز می­شود و منتظر می­ماند تا کاربر یک عدد وارد کند. پس از این که کاربر یک عدد وارد کرد و کلید اینتر را زد برنامه عدد را از ورودی می­گیرد و در متغیر a می­ریزد و سپس ادامه برنامه را اجرا می­کند و دو برابر مقدار دریافت شده از ورودی را( که در متغیر a ریخته است) نماش می­دهد.

یک نمونه خروجی برنامه به شکل زیر می­باشد: 



اگر بخواهیم بیش از یک مقدار را از ورودی بگیریم می­توانیم به یکی از دو صورت زیر عمل کنیم:

int a, b;
char c;
cin >> a
cin >> b
cin >> c;

یا

cin >> a >> b >> c;

یعنی بین اسامی ورودی­ها در دستور cin  باید از علامت >> استفاده کنیم.

به برنامه­ی زیر توجه کنید:

main()
{
    int a, b;
    char c;
    cout << "lotfan yek adad be man bede: " << endl;
    cin >> a;
    cout << "adade digari vared kon: " << endl;
    cin >> b;
    cout << "yek character vared kon: " << endl;
    cin >> c;
    cout << "majmooe adad mishe: " << a + b << endl;
    cout << "alamate " << c << " charactere to bud!" ;
}

 

خروجی برنامه به شکل زیر است:




که کاربر دو عدد دلخواه 12 و 15 را وارد کرده است و همچنین کاراکتر & را وارد کرده اس و نتیجه را نیز مشاهده می­کنید.


کامنت گذاشتن و یا قرار دادن توضیحات در برنامه

برای کامنت گذاشتن و یا توضیح گذاشتن لابه­ لای خط­ های برنامه می­ توان از علامت // استفاده کرد. با استفاده از قرار دادن این علامت در ابتدا و نوشتن توضیح در ادامه­ ی آن علامت، خط نوشته شده در اجرای برنامه هیچ اثری نمی­ گذارد و تنها برای توضیح اضافی استفاده می شود.

مثلا می توان خط زیر را در هر جای دلخواه از برنامه قرار داد:

               //in khat baraye tozihe ezafe estefade mishavad.

اگر بخواهیم چند خط پشت سر هم کامنت بگذارید از دستور /* و */ استفاده می­ کنیم. به صورت زیر:

               /*tozihat  tozihat  tozihat  tozihat  tozihat tozihat
               tozihat tozihat tozihat  tozihat  tozihat  tozihat  tozihat  
               tozihat tozihat  tozihat  tozihat  tozihat  tozihat   */

با قرار دادن دو علامت مذکور در ابتدا و انتهای توضیحات، تمام محدوده­ ی بین این دو علامت به توضیح تبدیل خواهند شد.



موافقین ۱ مخالفین ۰ ۹۰/۱۲/۰۸
سارا نازاری

نظرات  (۱۱)

واقعا ممنونم خدا پدر و مادرتون را اگه هست سال های سال حفظ کنه و اگه نه بیامرزه و من 30 صلوات براشون میفرستم
پاسخ:
ممنون.
بد نبود
با عرض سلام
ببخشیدد برام یه سوال پیش اومد.. اگه متغیرا از نوع fhoat باشن و بخوایم بریزیم توی یه متغیر از نوع int اونوقت باز ممیزها خذف میشن و اعداد به صرت صحیح نمایش داده میشه؟؟
پاسخ:
بله حذف میشن .
merC tozihat kheyli khoob bood
slm khanoom....
ye soal dashtam:
farghe beyne iostream va conio
chiye?
yani che vaght haE faghat mitoonim az oistream estefade konim va Dg conio ro nazanim?
پاسخ:
ina ketabkhanehayi hastand ke shoma be barnamatun ezafe mikonid ta az dasturate dakhelesh estefade konid. 

iostream baraye dasturhaye console estefade mishe, mese cin ya cout..
ama conio baraye dasturhaye digei estefade mishe ke yekish getch() hastesh... 

age danesh amoozid dar hamin had kafie.
خیلی خیلی ممنون واقعا خوب بود دستتون درد نکنه خیلی وبلاگ خوبی بود
واقعا عالی دنیادنیا سپاس
سلام من متوجه این نمی شم یعنی :: یا : 
ممنونم
سلام
من میخوام یک کلمه مثل salam رو بریزم تو یه متغیر آیا امکان پذیر هست یا نه؟
ممنون
عالی خدا حفظتون کنه.... :)
سلام با تشکر از مطالب پر مغز و مفیدتون.  

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی