PDA

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



abbas141
November 22nd, 2014, 18:36
باسلام

باتوجه به درخواست برخی از دوستان تصمیم دارم در این تاپیک آموزش سی پلاس پلاس را براتون قرار بدهم

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

--- قسمت اول ---

قبل از این که به آموزش بپردازم ، لازم میدونم توضیحاتی را خدمتتون دوستان ارائه بدهم

همان طور که میدانید سی پلاس پلاس یک زبان شی گرا است : اگر بخواهم به طور خیلی خلاصه شی گرایی را توضیح دهم میتوانم شی گرایی را به این صورت تعریف کنم " به برنامه ای شی گرا میگوییم که بتوان در آن تایع یا کلاس تعریف کرد "

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

بعضی از ویژگی های زبان سی پلاس پلاس :


سی پلاس پلاس ، قابل انعطاف بوده و بسیار قدرتمند است . در این زبان هیچ محدودیتی برای برنامه نویس وجود ندارد . هر آنچه را که فکر میکنید ، در این زبان میتوانید پیاده سازی کنید
سی پلاس پلاس ، زبان برنامه نویسی سیستم است . برنامه های سیستم ، برنامه هایی هستند که امکان بهره برداری از سخت افزار و سایر نرم افزار ها را فراهم میکنند بعضی از برنامه های سیستم عبارتند از : سیستم عامل ،مفسر ، کامپایلر ، ویراستار ، واژه پرداز ها ، مدیریت بانک های اطلاعاتی و اسمبلر
ارتباط تنگاتنگی بین سی پلاس پلاس و زبان اسمبلی وجود دارد و به این ترتیب می توان از تمام قابلیت های اسملی در زبان سی پلاس پلاس استفاده کرد
سی پلاس پلاس ، زبان کوچکی است و تعداد کلمات کلیدی این زبان اندک است . البته نباشد تصور که هر چه تعداد کلمات کلیدی زبان بیشتر باشد ، آن زبان قدرتمند تر است !
سی پلاس پلاس دارای ویژگی شی گرا است که در بالا به اختصار در این رابطه صحبت کردیم
سی پلاس پلاس نسبت به حروف حساس است . یعنی در این زبان بین حروف کوچک و بزرگ تفاوت است و تمام کلمات کلیدی این زبان با حروف کوچک نوشته نمیشوند . به عنوان مثال ، while یک کلمه ی کلیدی است ولی WHILE این طور نیست . توصیه میشود که تمام برنامه های سی پلاس پلاس را با حروف کوچک بنویسید



دستور العمل های برنامه ی سی پلاس پلاس دارای ویژگی های زیر هستند :


هر دستور زبان سی پلاس پلاس به ; (سیمیکلون) ختم میشود
حداکثر طول یک دستور ، 255 کاراکتر است
هر دستور میتواند در یک یا چند سطر ادامه داشته باشد
در هر سطر میتوان چند دستور را تایپ کرد
توضیحات می توانند در بین */ و /* قرار گیرند و یا بعد از // ظاهر شوند

مثال :




/* This is a description */
// This is a description


ساختار خطوط دستور در سی پلاس پلاس :

قبل از این که به این موضوع بپردازم : ما برای اجرای دستورات میتوانیم از برنامه هایی مانند : Visual Studio , Borland , codeblocks , dev c و...استفاده کنیم ،

که باتوجه به این که من فعلا برای این اموزش از dev c استفاده میکنم ، پیشنهاد میکنم در صورتی که قصد یاد گیری سی پلاس پلاس را دارید فعلا برای اجرای دستورات از همین برنامه استفاده کنید

ساختار کلی یک برنامه در سی پلاس پلاس :



#include <iostream>
int main()
{
std::cout<<" amozesh c++ p30web \n ";
return 0;
}


در خط اول کتابخانه <iostream> را به برنامه ضمیمه می کنیم .

نکته به دستوراتی که با # شارپ شروع میشوند و در ابتدای دستورات قرار میگردند اصطلاحا پیش پردازنده می گویند

در خط بعدی عنوان تابع ()main است

در خط 4 هم amozesh c++ p30web را چاپ میکنیم

از n\ هم برای رفتن به خط بعدی استفاده میکنیم

ودر اخر هم از return 0 برای برگرداندن مقدار صفر استفاده میکنیم

در قسمت اینده انشالله با نحوه اجرای دستورات در محیط dev c اشنا خواهیم شد و دستورات بیشتری را باهم بررسی خواهیم کرد

امیدوارم از این آموزش لذت برده باشید

abbas141
January 13th, 2015, 02:58
باسلام

با قسمت دوم آموزش در خدمتتون هستم

در این قسمت قصد دارم کمی در رابطه با برنامه dev c توضیح بدهم واولین برنامه سی پلاس پلاس مون رو با استفاده از این برنامه بنویسیم

خوب ابتدا نسخه پرتابل برنامه dev c را از لینک"دانلود (http://dl30.ir/tag/%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%D9%86%D8%B3%D8%AE%D9%87-%D9%BE%D8%B1%D8%AA%D8%A7%D8%A8%D9%84-dev-c) " دانلود فرمایید

پس از دانلود ، فایل فشرده را از حالت فشرده خارج کنید و فایل devcppPortable.exe را اجرا کنید

پس از اجرا برنامه با محیطی مانند تصویر زیر روبرو خواهید شد


http://up.vbiran.ir/uploads/12559142101347823167_shot--dev-c.png

--(1)--


آموزش ایجاد فایل جدید در dev c :

برای ایجاد فایل در برنامه dev c باید به مسیر زیر مراجعه کنید


dev c => file=> new =source file


یا میتوانید از کلید ترکیبی ctr+n استفاده کنید

در تب باز شده میتوانید سورس سی پلاس پلاس خود را وارد کنید

مانند تصویر (1) سپس برای اجرای برنامه ابتدا باید این سورس را کامپایل کنید ، به این منظور به مسیر زیر بروید

execute=> compile

یا میتوانید از f9 استفاده کنید
پس از کامپایل برنامه میتوانید برنامه را اجرا کنید به این منظور میتوانید به مسیر زیر بروید

execute=> run

یا میتوانید از f10 استفاده کنید

پس از اجرای برنامه با چنین محیطی مواجه خواهید شد


http://up.vbiran.ir/uploads/393631421014371132_shot-run.PNG


امیدوارم مفید واقع شده باشد

abbas141
January 15th, 2015, 13:35
باسلام

با قسمت سوم آموزش سی پلاس پلاس در خدمتتون هستم، در این قسمت قصد دارم انواع داده ها را به طور مختصر توضیح دهم

در زبان سی پلاس پلاس شش نوع داده داریم که عبارتند از : int , float , char ,void ,bool double

نوع char برای ذخیره سازی کاراکتر مانند "a" , "b" , "c" و... به کار میرود

نوع int برای ذخیره سازی اعداد صحیح مانند "123","1234"و... به کار میرود

نوع float برای ذخیره سازی اعداد اعشاری مانند "1.2","1.5" و... به کار میرود

نوع double برای ذخیره سازی اعداد اعشاری بزرگتر از float به کار میرود

نوع bool برای ذخیره سازی حالت درست و نادرست ( true , false ) به کار میرود

نوع void برای حالت های پوچ و خالی به کار میرود که در جای مناسب به طور کامل تری در رابطه با آن توضیح خواهم داد

همچنین با استفاده از کلماتی مانند signed , unsigned , long , short میتوان داده های جدیدی ایجاد کرد

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




نوع :
بازه قابل قبول :


bool
true , false


char
127 تا 127


unsigned char
0 تا 255


signed char
127- تا 127


int
32767- تا 32767


unsigned int
0 تا 65535


signed int
32767- تا 32767


unsigned short int
0 تا 65535


signed short int
32767- تا 32767


long int
2147483647L- تا 2147483647L


signed long int
2147483647L- تا 2147483647L


unsigned long int
0 تا 4294967295


float
10-38 تا 1038


double
10-308 تا 10308


long double
10-4932 تا 104932


wchar_t
دو بایت برای ذخیره سازی کاراکتر های یونیکد



اعلان متغیر ها

البته قبل از این که به شیوه ایجاد متغیر بپردازیم ، بهتر توضیح مختصری در رابطه با متغیر داشته باشیم

متغیر چیست ؟

من متغیر رو به این صورت تعریف میکنم ، فضایی بر روی حافظه است که می توان بر روی آن داده ذخیر کنیم

نحوه ی ایجاد متغیر :

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


مثال :


int vbiran


نحوه مقدار دادن به متغیر ها :

به حالت های مختلفی میتوان به متغییر ها مقدار داد ( هنگام ایجاد متغیر ، پس از ایجاد متغیر با دستور انتساب (=) و... )

با یک مثال کلی این بخش رو به پایان می رسونیم



#include <iostream>
int main()
{
using namespace std;
int x , y , c=20 ;
cout<<" -- START PORGRAM --- "<<endl;
cout<<" Please Enter Two numer: "<<endl;
cout<<" Number one: ";
cin>>x;
cout<<" Number one: ";
cin>>y;
cout<<" Output : "<<x+y+c;
cout<<"\n"<<" -- END PORGRAM --- ";
}
توضیحات : همان طور که مشاهده میکنید ابتدا سه متغیر (x,y,c) تعریف میکنیم ، چون میخواهیم از کاربر سه عدد صحیح دریافت کنیم پس هر سه متغیر را از نوع int تعریف میکنیم

به دو متغیر اول (x,y) هیچ مقداری نمیدهیم ، اما به متغیر سوم (c) هنگام تعریف یک مقدار هم میدهیم (c=20)

سپس چند تا مقدار را چاپ میکنیم و از کاربر مقدار x و y را میگیریم

که در نهایت به عنوان خروجی جمع مقدار سه متغییر را چاپ میکنیم

توضیحات تکمیلی در رابطه با دستورات استفاده شده و کاربرد آن ها را در قسمت های بعدی ارائه خواهم داد

امیدوارم مفید واقع شده باشد

abbas141
February 24th, 2015, 11:10
باسلام

با قسمت چهارم آموزش سی پلاس پلاس در خدمتتون هستم ، در این قسمت قصد دارم به اعلام ثوابت بپردازم

برخلاف متغیر ها در هر نقطه از اجرا برنامه ، مقدار آن ها میتواند تغییر کند ، ثوابت مقادیری هستند که در برنامه وجود دارند ولی قابل تغییر نیستند ، برای اعلان ثوابت میتوان به دو روش عمل کرد



استفاده از دستور #define
استفاده از دستور const


1) برای اعلام ثوابت از طریق دستور #define به روش زیر عمل میکنیم


#define مقدار نام ثابت


نکته 1 : دقت داشته باشید در انتهای دستور #define ، سیمیکلون ( ; ) قرار نمیگرد ، چرا ؟

زیرا که این دستور از دستورات پیش پردازنده است نه دستورات زبان سی پلاس پلاس !

نکته 2 : بهتر است برای تفیکیک این گونه ثوابت از متغیر های برنامه، نام آن ها با حروف بزرگ انتخاب شود

برای اعلان ثوابت با دستور const به صورت زیر عمل میشود


const مقدار = نام ثابت نوع داده ;


توجه : اگر پس از اعلان ثوابت در ادمه برنامه سعی کنید مقادیر آن ها را عوض کنید ، کامپایلر خطایی را به شما نمایش خواهد داد

مثال از define :


# include <iostream>
#define ONE 1
#define TWO 2
#define THREE 3
#define FOUR 4
#define FIVE 5
using namespace std;
int main ()
{
cout<<"-- start Program --"<<endl<<endl;
cout<<"one = 1"<<endl<<endl;
cout<<"two = 2"<<endl<<endl;
cout<<"three = 3"<<endl<<endl;
cout<<"four = 4"<<endl<<endl;
cout<<"five = 5"<<endl<<endl;
cout<<"plus = ONE+TWO+THREE+FOUR+FIVE " <<endl<<endl;
cout<<"chap = "<<ONE+TWO+THREE+FOUR+FIVE<<endl<<endl;
cout<<"-- end Program --";
return 0 ;
}

مثال از const :




# include <iostream>
const char v = 'v';
const char b = 'b';
const char i = 'i';
const char r = 'r';
const char a = 'r';
const char n = 'n';
using namespace std;
int main ()
{
cout<<"-- start Program --"<<endl<<endl;
cout<<"chap : " <<v<<b<<i<<r<<a<<n<<endl<<endl;
cout<<"chap : " <<v<<b<<i<<r<<a<<n<<"."<<i<<r<<endl<<endl;
cout<<"-- end Program --";
return 0 ;
}


- - - Updated - - -
قسمت پنجم ( عملگر ها ) - بخش اول :

باسلام

با قسمت پنجم آموزش سی پلاس پلاس در خدمتتون هستم در این قسمت قصد دارم به عملگر ها در سی پلاس پلاس بپردازم

عملگرد ها نماد هایی هستند که اعمال خاصی را انجام می دهند . به عنوان مثال : نماد " + "عملگری است که دو مقدار را باهم جمع میکند ( عمل جمع را انجام میدهد ) به طور کلی پس از اعلان متغیرها و مقدار دهی به آن ها باید بتوانیم عملیاتی را روی آن ها انجام داد ، برای انجام این عملیات باید از عملگرها استفاده کرد

عملگر ها در زبان سی پلاس پلاس به چند دسته تقسیم میشنوند :


عملگر های محاسباتی
عملگر های رابطه ای
عملگر های منطقی
عملگر های ترکیبی
عملگر های بیتی
عملگر های متفرقه


1) عملگر های محاسباتی :



عملگر
نام

مثال


-
تفریق
x - y


+
جمع
x + y


*
ضرب
x * z


/
تقسیم
x / z


%
باقیمانده تقسیم
x % j


--
کاهش
x-- یا --x


++
افزایش
y-- یا --y





یکی از نکته های بسیار مهمی که در بحث عملگر ها میتونم به آن اشاره کنم ، تقدم عملگر های محاسباتی و شرکت پذیری عملگر ها می باشد ، بهتره با یک مثال ساده توضییح بدهم

به نظرم شما حاصل این عبارت چه خواهد بود ؟





int x=3,y=6,k=12,j;
j= x + y / 3 * k;



اگر ابتدا " x " را با " y " جمع شود و سپس تقسیم بر " 3 " شود و سپس با " k " ضرب شود حاصل 36 خواهد بود

و یا اگر ابتدا " y " بر " 3 " تقسیم شود و در " k " ضرب شود و سپس حاصل با " x " جمع شود ، حاصل 27 خواهد بود

اما کدام پاسخ درست است ؟ !!!

برای یافتن پاسخ باید به نکته زیر توجه کنیم :

نکته مهم : وقتی در عبارتی چندین عملگر با هم ترکیب میشوند ، ترتیب اجرای آن ها با دو ویژگی زبان برنامه سازی سی پلاس پلاس تغیین میشود :



تقدم عملگر ها
شرکت پذیری عملگر ها


1) تقدم عملگر ها را میتوانید در جدول زیر مشاهده کنید



بالاترین تقدم
( ++ ) و ( -- )



- (منهای یکانی)



( % ) و ( / ) و ( * )


پایین ترین تقدم
( - ) و ( + )







2) تقدم عملگر هایی که تقدم آن ها یکسان است مثل ( + ) ، ( - ) ، ( % ) ، ( / ) یا ( * ) ترتیب اجرای آن ها براساس قاعده شرکت پذیری زبان سی پلاس پلاس تعیین می شود که در سی پلاس پلاس از چپ به راست می باشد ، یعنی وقتی دو عملگر با تقدم یکسان به طور متوالی قرار گیرند عملگر سمت چپ زودتر انجام میشود

در نتیجه طبق توضیحات فوق در مثال بالا " ابتدا " y " بر " 3 " تقسیم شود و در " k " ضرب شود و سپس حاصل با " x " جمع شود ، حاصل 27 خواهد بود " صحیح می باشد


2) عملگر های رابطه ای :



عملگر ها

نام
مثال


<
بزرگتر
x > y


>
کوچکتر
y < x


=<
بزرگتر یا مساوی
x >= y


=>
کوچکتر یا مساوی
y <= x


==
متساوی
x == y


=!
نامساوی
x != y




3) عملگر های منطقی :

عملگر های منطقی به ترتیب تقدم ( ترتیب قرار گرفتن آن ها در جدول از تقدم بالا به پایین است )



عملگر
نام
مثال


!
نقیض (not)
x!


&&
و (and)
x > y && m > p


||
یا ( or )
x > y || m > p



امیدوارم از این بخش از آموزش نیز لذت برده باشید

- - - Updated - - -

قسمت پنجم ( عملگر ها ) - بخش دوم :

با سلام

با بخش دوم بحث عملگر ها در خدمتتون هستم ، در بخش اول آموزش ، سه تا از عملگر ها رو با هم بررسی کردیم اما هنوز سه عملگر دیگر باقی مانده که در این پست بررسی خواهیم کرد

4) عملگر های ترکیبی :

از ترکیب عملگر های محاسباتی و عملگر انتساب ( = ) مجموعه دیگری از عملگر های ایجاد می شود که عمل محاسباتی و انتساب را انجام میدهند ، لیست این عملگر ها را در جدول زیر میتوانید مشاهده کنید



عملگر

نام

مثال

معادل



=+
انتساب جمع
x += y
x = x + y


=-
انتساب تفریق
x -= y
x = x - y


=*
انتساب ضرب
x *= y
x = x * y


=/
انتساب تقسیم
x /= y
x = x / y


=%
انتساب باقیمانده تقسیم
x %= y
x = x % y



5) عملگر های بیتی :

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



عملگر

نام

#



&
و
(AND)


|
یا
(OR)


^
یای انحصاری
(XOR)


~
نقیض
(NOT)


<<
شیفت به راست
(RIGHT SHIFT)


>>
شیفت به چپ
(LEFT SHIFT)



6) عملگر های متفرقه »

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

این عملگر ها شامل :


عملگر های ( & و * )
عملگر علامت سئوال ( ? )
عملکر کاما ( , )
عملگر Sizeof
عملگر پردانتز باز و بسته ()


1) عملگر های ( & و * ) :

همان طور که میدانید متغیر ها نامی برای کلمات حافظه هستند و کلمات حافظه نیز دارای شماره ی ردیف می باشند که ما آن ها را آدرس می نامیم .

با استفاده از عملگر & میتوانیم به آدرس متغیر ها دسترسی داشته باشیم .

عملگر * نیز برای دسترسی غیر مستقیم به حافظه مورد استفاده قرار میگیرد .

این عملگر های مربوط به اشاره گر ها هستند که در قسمت های انتهایی سی پلاس پلاس به آن خواهیم پرداخت


2) عملگر علامت سئوال ( ? ):

این عملگر عبارتی را ارزیابی کرده ، بر اساس ارزش آن عبارت ( درستی یا نادرستی ) ، نتیجه ی عبارت دیگری را متغیری قرار می دهد :

مثال :


عبارت 3 : عبارت 2 ؟ عبارت 1 = متغیر;


توضیحات : اگر "عبارت 1 " دارای ارزش درستی باشد ، مقدار ارزیابی شده ی "عبارت 2 " در متغیر قرار خواهد گرفت و گرنه مقدار ارزیابی شده ی " عبارت 3 " در متغیر قرار خواهد گرفت

به عنوان مثال دستورات زیر را در نظر بگیرید :



int x,y;
x = 5 ;
y = x > 5 ? x * 2 : x * 5

طبق توضیحات فوق دستورات بالا را بررسی میکنیم

ابتدا " دستور اول ( x > 5 ) " بررسی میشود و با توجه به این که نادرست است از " دستور دوم ( x * 2 ) " صرف نطر میشود ،

در نتیجه " مقدار دستور سوم ( x * 5 ) " در متغییر قرار میگرد و مقدار y برابر 25 میشود


3) عملگر کاما ( , ) :

از این عملگر برای انجام چند عمل در یک دستور استفاده میشود و کاربرد آن به صورت زیر می باشد :


متغیر = (عبارت 2, عبارت 1);


4) عملگر Sizeof :

این عملگر در واقع یک عملگر زمان ترجمه است و میتواند طول یک متغیر یا نوع داده را بر حسب بایت تعیین کند ، اگر با کامپیوتری کار میکنید و نمی دانید انواع آن مثلا نوع int چند بایتی است ،

با این عملگر میتوانید به آن پی ببرید ، این عملگر به صورت زیر کار میکند


sizeof متغیر ;
sizeof (نوع داده) ;

5) عملگر پردانتز باز و بسته () :

پرانتز ها عملگر هایی هستند که تقدم عملگر های داخل خود را بالا می برند ، به عنوان مثال ، عبارت زیر را در نظر بگیرید



y = 4 * 2 / (3 + 1) + (6 + (7-2))



برای ارزیابی این عبارت باید ابتدا عبارت موجود در داخلی ترین پرانتز را ارزیابی کرد ، در عبارت فوق ترتیب انجام عملیات به صورت زیر خواهد بود

ابتدا چهار در دو ضرب میشود ، بعد از آن عملگر تقسیم قرار دارد که عملوند بعدی آن در داخل پرانتز است در نتیجه ابتدا سه و یک با هم جمع میشوند و سپس بر چهار تقسیم میشود که حاصل دو خواهد بود

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

و حاصل آن ها پنج با شش جمع میشود و در نهایت حاصل 13 خواهد شد که در y قرار میگرد

امیدوارم این قسمت از آموزش هم مفید واقع شده باشد http://www.vbiran.ir/New/heart.gif