PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : آموزش مقدماتي ++c



TAHA
09-22-2009, 01:05 PM
تاریخچه ++C :

زبان C در سال 1972 توسط دنیس ریچی طراحی شد.این زبان تکامل یافته زبان BCPL است که طرح آن از کن تامپسون می یاشد.علت نامگذاری C این است که بعد از زبان B طراحی شد.زبان ++C از زبان C ناشی شده است.++C علاوه بر ویژگی های C ، ویژگی هایی دارد که در C موجود نیست.

ویژگی های زبان ++C :

- ++C زبان برنامه نویسی سیستم است.

- دارای ویژگی Case Sensitive است ، یعنی نسبت به حروف کوچک و بزرگ حساس است.

- ++C دارای ویژگی Object-Oriented است،یعنی شی گراست.

- ++C قابل حمل است.یعنی در کامپیوتر های نوع های مختلف بدون انجام تغییرات یا تغییرات اندک قابل اجراست.

- ++C زبان قابل انعطاف و قدرتمندی است و دارای کلمات کلیدی نسبتا کمی است.

- ++C یک زبان میانی است.

- در ++C هر دستور به ; ختم می شود و یک دستور می تواند در چند خط ادامه ادامه داشته باشد اما طول آن دستور نباید از 255 کاراکتر بیشتر شود.در ضمن برای اینکه در بین برنامه بتوانید توضیحاتی را بنویسید باید از // قبل از پیام و یا */ و /* به ترتیب در ابتدا و انتهای پیام استفاده می کنیم.

مثال:

Comment//

/*comment*/

خوب ، برای ادامه کار باید کامپایلر ++C را روی دستگاه خود نصب کنید.بعد از نصب آن را اجرا کنید.محیطی که در آن قرار دارید ادیتور ++C است.برای اجرای برنامه هایی که در این محیط می نویسید باید کلید Ctrl+F9 را فشار بدهید.بعد از این کار کامپایلر شروع به ترجمه برنامه می کند.اما چون الان هیچ برنامه ای درون ادیتور ننوشته ایم کامپایلر Error می دهد.

داده ها در ++C :

همانند همه زبان های برنامه نویسی در زبان ++C هم انواع مختلف داده ای را داریم.تعداد این داده ها و نوع آنها در زبان های مختلف فرق می کند.مثلا در زبان VBScript فقط یک نوع داده به نام Variant داریم.اما در زبان ++C هفت نوع داده وجود دارد.wchar_t , bool , void , double , float , char , int این هفت نوع داده هستند.در ضمن چهار کلمه کلیدی signed (با علامت) و unsigned (بدون علامت) و short (کوتاه) و long (بلند) نیز وجود دارند که با ترکیب آن با انواع داده ای می توان انواع جدیدی را ایجاد کرد.جدول زیر انواع داده ها در ++C و مقادیر قابل قبول آنها را به همراه اندازه آنها به بیت نشان می دهد.

نکته مهم : در نوشتن انواع داده توجه داشته باشید که این کلمات همانطور که اینجا ذکر شده اند نوشته شوند ، چون همانطور که گفتیم در ++C حروف کوچک و بزرگ با هم تفاوت دارند.مثلا ما در ++C نوع داده ای char داریم نه Char یا chaR و ...

TAHA
09-22-2009, 01:06 PM
قسمت دوم

ساختار برنامه در ++C:

هر برنامه ++C از تعدادي كلاس و تابع تشكيل شده است.هر تابع وظيفه دارد قسمتي از برنامه را انجام دهد.در ++C خود برنامه اصلي يك تابع است.در واقع هيچ برنامه اي وجود ندارد كه فاقد اين تابع باشد.نام اين تابع اصلي ()main است.اما كلاس(class)،نوعي است كه داده ها و فعاليت هايي را كه بر روي آن داده ها عمل ميكنند را در يك بسته به نام شيء بسته بندي ميكند.در ++C توابع زيادي وجود دارند كه از پيش نوشته شده اند و ما به وفور از آنها استفاده خواهيم كرد.به عنوان مثال براي ورود داده ها از صفحه كليد و چاپ آن روي صفحه نمايش به توابع و كلاس هاي خاصي نياز داريم كه البته همانطور كه گفتيم جاي نگراني نيست! اين توابع و كلاس ها از پيش نوشته شده اند و همراه با كامپايلر وجود دارد.سوالي كه در اينجا مطرح ميشود اين است كه اين توابع كجا هستند و چگونه بايد از آنها استفاده كنيم؟

اين كلاس ها و توابع به همراه ديگر اطلاعات لازم براي اجراي برنامه در تعدادي فايل به نام فايل هاي Header قرار دارند.پسوند اين فايل ها h. است.و معمولا بر روي فهرستي از ديسك به نام INCLUDE قرار گرفته اند.براي اتصال اين فايل ها به برنامه از دستوري با ساختار زير در ابتداي برنامه استفاده مي كنيم:

#include <header نام فايل>

دستور include# از دستورات پيش پردازنده يا ماكرو مي باشد كه در ادامه به توضيح آن خواهيم پرداخت.فقط همين حد بدانيد كه پيش پردازنده بخشي از كامپايلر است كه در صورت مشاهده دستوراتي كه با # شروع ميشوند اجرا ميشود.نكته ديگري كه بايد به آن توجه داشته باشيم اين است كه اينگونه دستورات به ; ختم نميشود.

به عنوان مثال براي استفاده از فايل iostream.h كه براي استفاده از دستورات خروجي و ورودي از آن استفاده خواهيم كرد به صورت زير وارد برنامه ميشود:

#include <iostream.h>

در مورد دستور include# بين # و include نبايد فاصله اي باشد.همچنين بين نام فايل و >و<.

نكته ديگري كه بايد به آن توجه داشته باشيم اين است كه سيستم عاملي كه اجرا كننده تابع ()main است ، مي خواهد بداند كه تابع ()main با موفقيت انجام شده يا نه.براي حل اين مشكل از دستور ;return 0 استفاده مي كنيم.اين تابع باعث ميشود كه اگر برنامه تا خط آخر با موفقيت اجرا شد مقدار 0 به سيستم عامل برگردد.مقداري كه به سيستم عامل بر مي گردد(0) مقداري صحيح يا int است.لذا بايد تابع ()main كه گفتيم از تابع اصلي برنامه است از نوع int تعريف شود.در زير ساختار كلي يك برنامه سي را مي بينيد:

#include <header نام فايل>

int main()

{

تعريف متغيير ها

دستورات اجرايي

return 0;

}

در بعضي از برنامه ها نياز ميشود كه از چند فايل include# استفاده كنيم.براي اين كار بايد چند بار دستور include را استفاده كنيم.

ورودي و خروجي داده ها:

1-خواندن اطلاعات:

در زبان ++C براي خواندن اطلاعات از دستور cin استفاده خواهيم كرد.ساختار كلي اين دستور به صورت زير است:

cin >> متغيير2 << متغيير1 >> ... ;

به عنوان مثال فرض كنيد مي خواهيم داخل متغيير X را كه قبلا تعريف كرده ايم با اطلاعاتي كه كاربر از صفحه كليد وارد ميكند پر كنيم:

cin >> x ;

پس از اجراي برنامه بايد داده توسط كاربر وارد شود و سپس دكمه Enter فشار داده شود.اما اگر چند قلم اطلاعات را توسط دستور cin خوانديم كاربر بايد بعد از وارد كردن هر يك از آنها يك فاصله بگذارد و داده آخر را كه وارد كرد دكمه Enter را فشار دهد.

2-چاپ اطلاعات:

براي چاپ اطلاعات روي صفحه نمايش از دستور cout استفاده ميكنيم:

cout << عبارت2 >> عبارت1 << ... ;

عبارت i ميتواند شامل يك رشته كه در آن صورت بايد آن را بين كوتيشن قرارداد باشد ، يا شامل يك متغيير كه ميتواند محتوياتش هر چيزي باشد.مثلا دستور زير رشته Computer را به همراه متغيير X چاپ ميكند.

cout<<"Computer"<<"\n"<<x;

احتمالا از خود مي پرسيد كه اين "n\" اينجا چكاره است."n\" جزو كاراكترهاي كنترلي است.مشابه اينها را در JavaScript هم داريم كه در آموزش JavaScript توضيح داده خواهد شد.در واقع اين نوع كاراكتر ها براي شكل دهي به خروجي بكار ميروند.كاراكتر"n\" باعث ميشود تا سطر جاري رد شود و به سطر بعدي برويم.البته ميتوانيم يه جاي استفاده از "n\" از endl كه مخفف end line بصورت زير استفاده كنيم.

cout<<"Computer"<<endl<<x;

كاراكتر هاي كنترلي ديگري هم وجود دارد كه در اينجا به توضيح آنها مي پردازيم:

"t\" : كنترل خروجي را 8 كاراكتر به جلو ميبرد.

"\\" : چاپ كاراكتر \.

""\" : چاپ كاراكتر ".

"v\" : كنترل خروجي را به ابتداي 8 سطر بعدي ميبرد.

"b\" : كاراكتر قبل خود را حذف ميكند.

"r\" : كليد Enter را مشخص ميكند.

"a\" : بوق سيستم را به صدا در مي آورد.

":\" : چاپ كاراكتر :.

"?\" : چاپ كاراكتر ?.

نكته آخر در رابطه با دستورات ورودي-خروجي اين است كه براي استفاده از آنها بايد از فايل <iostream.h> استفاده كرد.

مثال: برنامه اي بنويسيد كه رشته ": Your age is" و سن كاربر را كه يك عدد صحيح است با خروجي مناسب چاپ كند.

حل:

\\ this is first program

#include <iostream.h>

#include <conio.h>

int main()

{

int x;

cout<<"What Is Your Age ? ";

cin>>x;

clrscr();

cout<<"Your age is : "<<x;

getch();

return 0;

}

توضيح:

دستور ;()clrscr باعث ميشود كه كل صفحه نمايش پاك شود.همچنين اگر از دستور ;()getch استفاده نكنيد برنامه بعد از گرفت X از كاربر خيلي سريع نتايج را چاپ خواهد كرد و به محيط editor بر خواهد گشت.دستور ;()getch در انتهاي برنامه باعث خواهد شد تا برنامه پس از نمايش كليه خروجي ها منتظر بماند تا شما يك كليد را فشار دهيد(به عبارتي يك كاراكتر وارد كنيد).بنابراين خواهيد توانست اطلاعات چاپ شده روي صفحه نمايش را با دل سير ببينيد !!!

البته براي استفاده از هر دوي اين دستورات بايد از فايل <conio.h> استفاده كنيد.

تمرين يك : برنامه اي بنويسيد كه با دريافت نمرات 5 درس يك دانشجو معدل وي را حساب و با فرمت مناسب در خروجي چاپ كند.(حتما اين تمرين را تا جلسه آينده حل و اجرا كنيد.) http://pnu-club.com/./images/smilies/wink.gif