Transcript C++

‫مقدمات اولیه برنامه نویسی به‬
‫زبان ‪ C++‬اصول اولیه آن‬
‫مفاهیم اولیه زبان ‪C++‬‬
‫تاریخچه مختصر ‪C++‬‬
‫این زبان در اوائل دهه ‪ 1980‬توسط ‪ Bjarne stroustrup‬در آزمایشگاه‬
‫بل طراحي شيده‪ .‬ایين زبيان الميتو توسياه یازتيه زبيان برواميه وویسي ‪ C‬مي‬
‫باشد كه امكان ووشتن بروامههاي ساخت یازته شئ گرا را م دهد‪.‬‬
‫شناسه‬
‫يك شناسه‪ C‬دنبالهاي است از حروف ‪ ،‬ارقام يا عالمت زير خط که با هر‬
‫ترتيبي ميتوانند قرار گيرند‪ ،‬اما اولين کاراکتر بايد يك حرف باشد‪.‬‬
‫چند نمونه از شناسه هاي معتبر‪:‬‬
‫‪m1 , max , payam_noor , minimum‬‬
‫چند نمونه از شناسه هاي نامعتبر‪:‬‬
‫‪book-2 , 4s5 , $tax , "p" , computer science‬‬
‫‪3‬‬
‫اقنون انمگذا ري شناهساه‬
‫‪ -1‬حروف کوچك و بزرگ در نامگذاري شناسهها متفاوت ميباشند‪.‬‬
‫بنابراين ‪ xy ، xY ، XY ، Xy‬چهار شناسه متفاوت از‬
‫نظر ‪ C++‬ميباشد‪.‬‬
‫‪ )2‬در نامگذاري شناسهها از حروف الفباء‪ ،‬ارقام و زير خط (‪)underline‬‬
‫استفاده ميشود و حداکثر طول شناسه ‪ 31‬ميباشد و شناسه بايستي با‬
‫يك رقم شروع نگردد‪.‬‬
‫استفاده از شواسه ها‬
‫‪‬‬
‫شناسه نمی تواند با یک رقم شروع شود‪.‬‬
‫‪ ‬شناسه های ‪name2 ،average ، sum‬و یا ‪student_average‬‬
‫مجاز هستند‪،‬‬
‫‪ ‬شناسه های ‪name 2‬و یا ‪ student average‬مجاز نیستند‪.‬‬
‫‪‬‬
‫البته در برنامه نویسی امروزی پیشنهاد می شود بجای شناسه هایی‬
‫همانند ‪ student_average‬از ‪ StudentAverage‬استفاده‬
‫گردد‪.‬‬
‫وکته مهم‬
‫‪‬‬
‫‪‬‬
‫زبان ‪ c++‬برخالف بسیاری از زبانهای دیگر به کوچک و بزرگی‬
‫حروف حساس است ‪ (case sensitive).‬در نتیجه شناسه های زیر با‬
‫یکدیگر متفاوتند ‪:‬‬
‫‪Sum ≠ sum ≠ SUM‬‬
‫نکته‪:‬‬
‫در هنگام انتخاب شناسه نمی توانید از کلمات کلیدی که برای منظورهای خاص در زبان ‪ c++‬رزرو شده اند استفاده کنید‪.‬‬
‫زبان ‪ c++‬دارای ‪ 32‬کلمه کلیدی است که عبارتند از ‪:‬‬
‫متغير‬
‫متغير‪ ،‬مكاني در حافظه اصلي کامپيوتر ميباشد که در آنجا يك مقدار‬
‫را ميتوان ذخيره و در برنامه از آن استتفاده نمتود‪ .‬قتانون نامگتذاري‬
‫متغيرها همان قانون نامگذاري شناسهها ميباشد‪.‬‬
‫متغيرها در زبان‪ C‬شناسههايي هستند که محلهايي از حافظه را به‬
‫خود اختصاص ميدهند ‪.‬‬
‫مقدار متغير در طول اجراي برنامه مي تواند تغيير کند ‪.‬‬
‫‪8‬‬
‫انواع داده ها‬
‫حافظه الزم‬
‫مقادير‬
‫‪ 2‬بايت‬
‫‪ 32767‬تا ‪–32768‬‬
‫‪2‬بايت‬
‫‪ 65535‬تا ‪0‬‬
‫‪ 4‬بايت‬
‫‪ 2147483647‬تا ‪–2147483648‬‬
‫‪ 4‬بايت‬
‫‪ 4294967295‬تا ‪0‬‬
‫‪1‬بايت‬
‫يك كاركتر‬
‫‪ 1‬بايت‬
‫‪ 127‬تا ‪–128‬‬
‫‪ 4‬بايت‬
‫‪ 3.4e38‬تا ‪1.2e-38‬‬
‫‪ 8‬بايت‬
‫‪ 1.8e308‬تا ‪2.2e-308‬‬
‫نوع داده‬
‫‪int‬‬
‫‪unsigned int‬‬
‫‪long int‬‬
‫‪unsigned long int‬‬
‫‪char‬‬
‫‪unsigned char‬‬
‫‪float‬‬
‫‪double‬‬
‫اعالن متغیرها‬
‫قبل از آنكه در برنامه به متغيرها مقداري تخصيص داده شود و از آنها استتااده تردد‬
‫بايستي آنها را در برنامه اعالن نمود‪.‬‬
‫برای تعریف متغیرها به شکل زیر عمل می کنیم ‪:‬‬
‫;ليست متغيرها‬
‫نوع داده‬
‫چند مثال از اعالن متغیر ها ‪:‬‬
‫‪‬‬
‫براي اعالن متغير‪ x‬از نوع ‪: int‬‬
‫;‪x‬‬
‫‪‬‬
‫‪int‬‬
‫براي اعالن متغيرهاي ‪ p‬و ‪ q‬را از نوع ‪ float‬كه هر كدام چهار بايت از حافظه را‬
‫اشغال ميكنند ‪:‬‬
‫; ‪float p , q‬‬
‫‪‬‬
‫براي اعالن متغير ‪ next‬از نوع كركتر كه يك بايت را اشغال ميكند‪.‬‬
‫; ‪char next‬‬
‫نكته مهم‬
‫‪‬‬
‫‪‬‬
‫آنکه زبان ‪ c++‬به متغیرها مقدار اولیه نمی دهد (حتی ‪ )0‬و‬
‫برنامه نویس خود باید اینکار را صریحا انجام دهد‪ ،‬درغیر اینصورت‬
‫مقدار اولیه متغیر‪ ،‬نامعین خواهد بود‪.‬‬
‫تعریف متغیرها طبق اصول زبان ‪ c++‬میتواند درهرجایی از برنامه‬
‫صورت پذیرد‪ ،‬و متغیرهای تعریف شده از همان خط به بعد قابل‬
‫استفاده خواهد بود‪ .‬اما معموال توصیه می گردد که تعریف متغیرها در‬
‫همان خط ابتدایی تابع و بالفاصله پس از { صورت پذیرد ‪.‬‬
‫تخ‬
‫ص‬
‫ت‬
‫م‬
‫ي‬
‫غ‬
‫ص مقادري هب يراه‬
‫با استااده از عملگر = ميتوان به متغيرها مقدار اوليه تخصيص نمود‪.‬‬
‫مثال ‪:‬‬
‫‪‬‬
‫‪‬‬
‫در دستورالعمل‬
‫با مقدار اوليه ‪ 26‬اعالن نموده ‪.‬‬
‫در دستورالعمل‬
‫‪X‬‬
‫;‪int x=26‬‬
‫;‪a=67000 , b=260‬‬
‫را از نوع ‪int‬‬
‫‪double‬‬
‫متغيرهاي ‪ b‬و ‪ a‬را از نوع ‪double‬تعريف نموده با مقادير بترتيب‬
‫‪ 260‬و ‪.67000‬‬
‫نمايش مقادري دادهاه‬
‫برای نمایش دادهها بر روی صفحه مانتور از ‪ cout‬که بددنبال آن عملگدر در‬
‫یعنی << قید شده باشد استفاده میگردد‪ .‬بایستی توجه داشت که دوکرکتر‬
‫< پشت سر هم توسط ‪ C++‬بصورت یک کرکتر تلقی میگردد‪.‬‬
‫مثال ‪:‬‬
‫‪‬‬
‫براي نمايش پيغام ‪ good morning‬بر روي صاحه نمايش ‪:‬‬
‫;"‪cout << "good morning‬‬
‫‪‬‬
‫براي نمايش مقدار متغير ‪ X‬بر روي صاحه نمايش ‪:‬‬
‫; ‪cout << x‬‬
‫ت‬
‫م‬
‫غ‬
‫ي‬
‫ردیافت مقادري راه‬
‫به منظور دريافت مقادير براي متغيرها در ضمن اجراي برنامه از‬
‫صاحه كليد‪ ،‬از ‪ cin‬كه بدنبال آن عملگر استخراج يعني >>‬
‫قيد شده باشد ميتوان استااده نمود‪.‬‬
: ‫مثال‬
int x;
cout << "Enter a number:" ;
cin >> x;
‫عملگرها‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫عملگر‪ ،‬نمادی است که به کامپایلر می گوید تا عملیات محاسباتی یا منطقی خاصی‬
‫را برروی یک یا چند عملوند‪ ،‬انجام دهد‪.‬‬
‫به عملگرهایی که فقط یک عملوند دارند‪ ،‬عملگر يكاني می گوییم و همواره عملگر‬
‫در سمت چپ عملوند قرار می گیرد(مانند عدد ‪ .)-125‬اما عملگرهایی که برروی دو‬
‫عملوند اثر می کنند را عملگر دودويي نامیده و عملگر را بین دو عملوند قرار می‬
‫دهیم (مانند ‪.)86+23‬‬
‫هر ترکیب درستی از عملگرها و عملوندها را یک عبارت می نامیم ‪.‬‬
‫‪c++‬از نقطه نظر عملگرها یک زبان بسیار قوی است‪ .‬این عملگرها به چند دسته‬
‫اصلی تقسیم می گردند که آنها را به ترتیب بررسی می کنیم ‪..‬‬
‫الملگرهای اوتساب‬
‫در زبان ‪ c++‬برای انتساب چندین عملگر وجود دارد‪ .‬ساده ترین عملگر‬
‫انتساب‪ ،‬همان عملگر = است که در بسیاری از زبانها استفاده می شود‪.‬‬
‫بعنوان مثال ‪:‬‬
‫;‪a = 5‬‬
‫;‪b = c + 2 * d‬‬
‫الملگر اوتساب‬
‫عملگر انتساب = ميباشد كه باعث‬
‫مي ردد مقدار عبارت در طرف‬
‫راست اين عملگر ارزيابي شده و در‬
‫متغير طرف چپ آن قرار يرد‪.‬‬
‫مثال ‪:‬‬
‫;‪x=a+b‬‬
‫; ‪x=35‬‬
‫; ‪x=y=z=26‬‬
‫از عملگرهای انتساب چندگانده نیدز میتدوان اسدتفاده‬
‫نمود‪ .‬کده مقددار سده متغیدر ‪ z‬و ‪ y‬و ‪ x‬برابدر بدا ‪26‬‬
‫میشود‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫این عملگر باعث می شود که عبارت سمت راست در عبارت سمت چپ قرار‬
‫گیرد ‪.‬توجه کنید که مقدار سمت چپ باید عبارتی باشد که بتوان به آن یک مقدار‬
‫را نسبت داد(مانند یک متغیر) که به آن ‪ Lvalue‬گفته می شود‪ ،‬بنابراین یک ثابت‬
‫نمی تواند در سمت چپ قرار گیرد‪.‬‬
‫نکته دیگر اینکه اولويت عملگر = از عملگرهای ریاضی كمتر است و درنتیجه ابتدا‬
‫آن عملیات انجام شده و در پایان حاصل در عبارت سمت چپ ریخته می شود ‪.‬‬
‫الزم به ذکر است که در هنگام انتساب‪ ،‬درصورت لزوم نوع عبارت سمت راست به‬
‫نوع عبارت سمت چپ تبدیل می شود‪ .‬مثال ‪:‬‬
‫;‪int a‬‬
‫;‪a = 2.5 * 5.0‬‬
‫که دراینصورت عدد ‪ 12‬در ‪ a‬ذخیره خواهد شد ‪.‬‬
‫عملگرهای محاسباتی‬
‫این عملگرها‪ ،‬همان اعمال متداول ریاضی هستند که در زبان ‪c++‬‬
‫مورد استفاده قرار می گیرند‪ .‬این اعمال عبارتند از ‪:‬‬
‫‪‬‬
‫‪‬‬
‫عملگرهای فوق برروی همه انواع داده های ‪ c++‬عمل می کنند بجز‬
‫عملگر ‪ %‬که فقط برروی نوع داده های صحیح عمل میکند و برروی‬
‫داده های اعشاری تعریف نشده است‬
‫اما نكته مهمي که باید به آن اشاره کرد‪ ،‬نحوه کار عملگر تقسیم‬
‫برروی نوع داده های مختلف است‪ .‬درصورتیکه هردو عملوند صحیحی‬
‫باشند‪ ،‬تقسیم بصورت صحیح بر صحیح انجام خواهد شد‪ .‬اما اگر یکی‬
‫یا هر دو عملوند اعشاری باشند‪ ،‬تقسیم بصورت اعشاری انجام خواهد‬
‫پذیرفت ‪.‬‬
‫مثال ‪: 1‬‬
‫در حاالت هااه هاار دو عمعونااد عمع رهااي ‪ – ، + ، * ، / ، %‬از نااوع يااحيش باشااد‬
‫نتيجه عمل از نوع يحيش م باشد‪.‬‬
‫نتيجه‬
‫عبارت‬
‫‪7‬‬
‫‪5+2‬‬
‫‪10‬‬
‫‪5*2‬‬
‫‪3‬‬
‫‪5–2‬‬
‫‪1‬‬
‫‪5%2‬‬
‫‪2‬‬
‫‪5/2‬‬
‫مثال ‪: 2‬‬
‫در يورتيهه حداقل يه از عمعوندهاي عمع رهاي ‪ + ، – ، * ، /‬از نوع اعشاري باشد‬
‫نتيجه عمل از نوع اعشاري م باشد‪.‬‬
‫نتيجه‬
‫عبارت‬
‫‪7. 0‬‬
‫‪5. 0 +2‬‬
‫‪10.0‬‬
‫‪5* 2. 0‬‬
‫‪2.5‬‬
‫‪5. 0 / 2‬‬
‫‪3. 0‬‬
‫‪5. 0 -2‬‬
‫‪2.5‬‬
‫‪5. 0 / 2. 0‬‬
‫‪int a,b ; ‬‬
‫; ‪float c,d‬‬
‫; ‪a = 10 ; b = 4‬‬
‫;‪c = 8.2; d = 4.0‬‬
‫‪‬‬
‫اکنون به نتایج عملیات زیر دقت کنید‬
‫‪a/b=> 2 ‬‬
‫‪c / d = > 2.05‬‬
‫‪a / d = > 2.5‬‬
‫‪a/4=> 2‬‬
‫‪‬‬
‫چنانچه به آخرین مورد توجه کنید‪ ،‬متوجه می شوید که از آنجا که ‪ a‬یک متغیر صحیح است و ‪4‬‬
‫نیز یک ثابت صحیح در نظر گرفته شده‪ ،‬درنتیجه تقسیم بصورت صحیح بر صحیح انجام گرفته است‪.‬‬
‫چنانچه بخواهیم تقسیم بصورت اعشاری صورت پذیرد‪ ،‬به دو شکل می توانیم عمل کنیم‪ .‬اول اینکه‬
‫آن را بصورت ‪ a / 4.0‬بنویسیم و دوم اینکه از عملگر قالب ریزی استفاده کنیم ‪.‬‬
‫بطوركل هرگاه ثابتها و متغیرهای از اوواع مختلف در یك البارت محاسبات داشته باشیم‪ ،‬كامپایلر ‪ c++‬همه آوها را به یك‬
‫ووع یكسان كه همان بزرگترین الملوود موجود است تبدیل خواهد كرد‪ .‬باووان مثال به مورد زیر دقت كوید‪:‬‬
‫نكته‬
‫اولويت عملگرها ‪ ،‬یعنی در عبارتی که شامل چندین عملگر است‪ ،‬کدامیک در ابتدا اعمال خواهد‬
‫گردید ‪.‬اولویت عملگرهای محاسباتی از باال به پایین بشرح زیر است‪:‬‬
‫‪1‬عملگر یکانی –‬
‫‪2‬عملگرهای *و ‪/‬و ‪%‬‬
‫‪3‬عملگرهای ‪+‬و –‬
‫چنانچه اولویت دو عملگر یکسان باشد‪ ،‬این عملگرها از چپ به راست محاسبه خواهند شد ‪.‬چنانچه‬
‫بخواهیم یک عمل با اولویت پایین زودتر انجام شود‪ ،‬باید از پرانتز استفاده کنیم ‪.‬بنابراین اولویت‬
‫عملگر پرانتز از همه موارد فوق بیشتراست ‪.‬در مورد پرانتزهای متداخل‪ ،‬ابتدا پرانتز داخلی محاسبه‬
‫می شود؛ اما در مورد پرانتزهای هم سطح‪ ،‬ابتدا پرانتز سمت چپ تر محاسبه می گردد ‪.‬‬
‫ترتیب اجرای عملگرها‬
‫مثال‬
‫عبارات خاص‬
33
b = a++;
b = ++a;
b = a++ + 2;
b = ++a + 2;
if (a++ < 8)
if (++a < 8)
x = y = 4;
x = y + (z = 4*5);
‫عملگرهای جدید‬
‫‪34‬‬
‫;‪a++‬‬
‫;‪++a‬‬
‫;‪a--‬‬
‫;‪--a‬‬
‫عملگرهای افزایش و كاهش‬
‫در ‪ ،c++‬افزايش يك واحد به مقدار يك متغير از نوع صحيح را افتزايش و‬
‫بطور مشابه كاهش يك واحد از مقدار يك متغير از نوع صتحيح را كتاهش‬
‫مينامند‪..‬‬
‫عملگر كاهش را با ‪ - -‬و عملگر افزايش را با ‪ ++‬نمتايش ميدهنتد‪ .‬چتون‬
‫عملگرهاي ‪ ++‬و ‪ - -‬فقط روي يك عملوند اثر دارند اين دو عملگر نيز جزء‬
‫عملگرهاي يكتائي ميباشند‪.‬‬
‫مثال ‪:‬‬
‫سه دستور العمل ‪:‬‬
‫;‪++x‬‬
‫;‪x++‬‬
‫;‪x=x+1‬‬
‫معادل ميباشند و بطريق مشابه سه دستورالعمل زير نيز معادل مي باشند‪.‬‬
‫;‪--y‬‬
‫;‪y=y-1‬‬
‫; ‪y- -‬‬
‫از عملگرهاي ‪ ++‬و ‪ --‬ميتوان بدو صورت پيشوندي و پسوندي استااده نمود‪.‬‬
‫در دستورالعملهاي پيچيده عملگر پيشوندي قبل از انتساب ارزيابي ميشود و عملگر‬
‫پسوندي بعد از انتساب ارزيابي ميشود‪.‬‬
‫مثال ‪:‬‬
‫;‪int x=5‬‬
‫;‪y=++x * 2‬‬
‫پس از اجراي دستورالعملهاي فوق ‪:‬‬
‫‪y=12‬‬
‫;‪int x=5‬‬
‫;‪y=x++ * 2‬‬
‫پس از اجراي دستورالعملهاي فوق ‪:‬‬
‫‪Y=10‬‬
‫عملگرهای جایگزینی محاسباتی‬
‫براي سادهتر نوشتن عبارتها در ‪ ،c++‬ميتوان از عملگرهاي جايگزيني محاسبتتتاتي‬
‫استااده نمود‪.‬‬
‫=‪+‬‬
‫=‪-‬‬
‫=*‬
‫=‪/‬‬
‫=‪%‬‬
‫نکته جالب درمورد زبان ‪ c++‬آنستکه دارای یک سری عملگرهای انتساب خالصه شده است که باعث می شوند در‬
‫بعضی موارد بتوانیم عبارات کوتاهتری را بنویسیم‪ .‬این عملگرها عبارتند از ‪:‬‬
‫عملگر اول و دوم‪ ،‬عملگرهای یکانی هستند که بترتیب عملگر افزایش و عملگر کاهش نامیده می شوند‪ .‬این دو عملگر‬
‫به دوصورت مورد استفاده قرار می گیرند‪ .‬در حالتی که از دستور ;‪ a ++‬استفاده شود به آن پس افزایش می گویند و‬
‫بدین معناست که ابتدا از مقدار فعلی ‪ a‬در عبارت موردنظر استفاده کن و سپس آن را افزایش بده‪ .‬اما دستور ‪++ a‬‬
‫که به آن پیش افزایش گفته می شود‪ ،‬ابتدا ‪ a‬را افزایش داده و سپس از آن در عبارت استفاده می کند‪ .‬به برنامه زیر‬
‫دقت کنید ‪:‬‬
‫;‪int a ,b‬‬
‫;‪a=5‬‬
‫;‪b = a ++‬‬
‫;‪a=5‬‬
‫;‪b = ++ a‬‬
‫‪a=6 b=5‬‬
‫‪a=6 b=6‬‬
‫اولویت عملگرها‬
‫ارزيابي مقدار يك عبارت رياضي براساس جدول اولويت عملگرها انجام مي ردد‪ .‬در ذيل‬
‫جدول اولويت عملگرها براساس بترتيب از بيشترين اولويت به كمترين اولويت داده شده‬
‫است‪.‬‬
‫) (‬
‫‪+ -- ++‬‬
‫‪%‬‬
‫‪/‬‬
‫‬‫*‬
‫‪+‬‬
‫‪‬‬
‫=‪= += -= *= /= %‬‬
‫مثال ‪: 1‬‬
‫‪(5+2) *(6+2*2)/2‬‬
‫با توجه به جدول اولويت عملگرها داريم كه‬
‫‪7 *(6+2*2)/2‬‬
‫‪7*(6+4)/2‬‬
‫‪7* 10 /2‬‬
‫‪70 /2‬‬
‫‪35‬‬
: 2 ‫مثال‬
int a=6 , b=2, c=8, d=12;
d=a++ * b/c ++;
d
c
b
a;
: ‫خروجی‬
1
9
2
7
‫عملگرهای مقایسه ای (رابطه ای)‬
‫این عملگرها دو عبارت را بایکدیگر مقایسه کرده و نتیجه را باز می گردانند‪ .‬نتیجه می تواند درست‬
‫)‪(true‬یا غلط )‪ (false‬باشد‪ .‬نتیجه این عملگرها یک عدد صحیح است که درصورت درست بودن ‪1‬‬
‫و درصورت غلط بودن ‪ 0‬باز می گردانند‪ .‬این عملگرها عبارتند از ‪:‬‬
‫عملگرهای منطقی‬
‫انواع عملگرها‬
‫‪+ - * / %‬‬
‫محاسباتی‬
‫||‬
‫منطقی‬
‫مقايسه ای‬
‫‪47‬‬
‫=!‬
‫=>‬
‫=<‬
‫==‬
‫&&‬
‫!‬
‫>‬
‫<‬
‫چند نكته درمورد عملگرها‬
‫‪‬‬
‫شکل نامناسب‬
‫‪‬‬
‫شکل بهتر‬
‫‪‬‬
‫شکل کامال مناسب‬
‫;‪result=a-b*c/d+f*g‬‬
‫‪result = a – b * c / d + f * g‬‬
‫)‪result = a – ( b * c / d) + (f * g‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫مورد دیگری که باید به آن اشاره کرد‪ ،‬نحوه محاسبه عبارات پیچیده ای است که عملگرهای مختلفی در آنها‬
‫استفاده شده باشد‪ .‬درچنین حالتی باید از اولویت گروههای مختلف عملگرها نسبت به یکدیگر آگاه باشیم‪ .‬جدول‬
‫زیر اولویت عملگرهای گفته شده تاکنون را بترتیب از باال به پایین آ ورده است ‪:‬‬
‫توضيحات (‪)Comments‬‬
‫توضيحات در برنامه باعث خوانائي بيشتر و درك بهتر برنامه‬
‫ميشود‪ .‬بنابراين توصيه بر آن است كه حتي االمكان در برنامهها از‬
‫توضيحات استااده نمائيم‪ .‬در ‪ ،c++‬توضيحات بدو صورت انجام‬
‫مي يرد كه در اساليدهاي بعد به آن اشاره شده است‪.‬‬
‫توضيحات (‪)Comments‬‬
‫الف‪ :‬اين نوع توضيح بوسيله ‪ //‬انجام ميشود‪ .‬كه كامپيوتر هر چيزي را كه بعد از ‪ //‬قرار داده شتود‬
‫تا انتهاي آن خط اغماض مينمايد‪.‬‬
‫مثال ‪:‬‬
‫‪c=a+b;//c is equal to sum of a and b‬‬
‫ب‪:‬توضيح نوع دوم با *‪ /‬شروع شده و به ‪ */‬ختم ميشود و هر چيزي كه بتين* ‪ /‬و ‪ */‬قترار يترد‬
‫اغماض مينمايد ‪.‬‬
‫مثال ‪:‬‬
‫‪/ * this is a program‬‬
‫‪to calcufate sum of‬‬
‫‪n integer numbers */‬‬
‫توابع كتابخاهن‬
‫زبان ‪ C++‬مجهز به تعدادی توابع کتابخانه میباشد‪ .‬بعنوان مثدال تعددادی‬
‫توابع کتابخانده بدرای عملیدات ورودی و خروجدی وجدود دارندد‪ .‬معمدوال توابدع‬
‫کتابخانه مشابه ‪ ،‬بصورت برنامههای هدف (برنامه ترجمه شده بزبان ماشین) در‬
‫قالب فایلهای کتابخانه دسته بندی و مورد استفاده قرا رمیگیرند‪ .‬این فایلهدا را‬
‫فایلهای ‪ header‬مینامند و دارای پسوند ‪ .h‬میباشند‪.‬‬
‫ح‬
‫ن‬
‫ب‬
‫ب‬
‫ت‬
‫ا‬
‫ت‬
‫س‬
‫ك‬
‫وه ا فاده از و ع تا خاهن اي‬
‫براي استااده از توابع كتابخانه خاصي بايستتتتي نام فايل ‪ header‬آنرا در ابتداي‬
‫برنامه در دستور ‪ #include‬قرار دهيم‪.‬‬
‫> اسم فايل ‪< header‬‬
‫‪#include‬‬
abs(i)
int
i
stdlib.h
cos(d)
double
d
math.h
exp(d)
log(d)
log10(d)
double
double
double
math.h
math.h
math.h
sin(d)
double
ex
loge d
Log10 d
d
sqrt(d)
double
strlen(s)
int
tan(d)
double
toascii( c)
int
tolower(c )
int
stdlib.h
toupper(c )
int
stdlib.h
d
s
math.h
math.h
string.h
d
c
math.h
stdlib.h
‫ربانمه رد ‪C++‬‬
‫اكنون باتوجه به مطالب اته شده قادر خواهيم بود كه تعدادي برنامه ساده و‬
‫كوچك به زبان ‪ C++‬بنويسيم‪ .‬براي نوشتن برنامه بايستي دستورالعملها را در‬
‫تابع ) (‪ main‬قرار دهيم و براي اينكار ميتوان به يكتي از دو طريقتي كته در‬
‫اساليدهاي بعد آمده است ‪ ،‬عمل نمود‪.‬‬
‫روش اول ‪:‬‬
‫>‬
‫‪#include‬‬
‫<‬
‫) (‪int main‬‬
‫}‬
‫; دستورالعمل ‪1‬‬
‫; دستورالعمل ‪2‬‬
‫‪.‬‬
‫‪.‬‬
‫‪.‬‬
‫;دستورالعمل ‪n‬‬
‫; ‪return 0‬‬
‫}‬
‫روش دوم ‪:‬‬
‫>‬
‫<‬
‫‪#include‬‬
‫) (‪void main‬‬
‫{‬
‫; دستورالعمل ‪1‬‬
‫; دستورالعمل ‪2‬‬
‫‪.‬‬
‫‪.‬‬
‫‪.‬‬
‫;دستورالعمل ‪n‬‬
‫}‬
‫ را روی صفحه‬C++ is an object oriented language ‫برنامه ای که پیغام‬
.‫مانیتور نمايش مي دهد‬
#include
<iostream.h>
int main( )
{
cout <<"C++ is an object oriented language \n" ;
return 0 ;
}
.‫دو عدد از نوع اعشاري را رفته مجموع و حاصلضرب آنها را محاسبه و نمايش ميدهد‬
#include
<iostream.h>
int main( )
{
float
x,y,s,p ;
cin >> x >> y ;
s= x+y ;
p=x*y;
cout << s <<endl << p;
return 0 ;
}
keywords and alternative tokens.
asm
enum
protected
typedef
auto
explicit
public
typeid
bool
extern
register
typename
break
false
reinterpret_cast
union
case
float
return
unsigned
catch
for
short
using
char
friend
signed
virtual
class
goto
sizeof
void
const
if
static
volatile
const_cast
inline
static_cast
wchar_t
continue
int
struct
while
default
long
switch
xor
delete
mutable
template
xor_eq
do
namespace
this
or_eq
double
new
throw
not
dynamic_cast
operator
true
bitand
else
private
try
and_eq
bitor
not_eq
compl
And
--
or