آموزشگاه برنامه نویسی سی پلاس پلاس C++ training
زبان برنامه نویسی سی پلاس پلاس چیست؟
زبان برنامه نویسی سی پلاس پلاس C++ Programming یکی از پایه های مهم برنامه نویسی است. این زبان سطح بالا و شیء گرا Object Oriented Programming ، با حفظ خصوصیات زبان برنامه نویسی سی C programming (به عنوان قوی ترین زبان برنامه نویسی سیستم) ، امکانات قدرتمندی را برای طراحی و توسعه برنامه ها در اختیار برنامه نویسان قرار میدهد.
لازم به ذکر است که در کل فرقی نمیکند که شما در نهایت قصد داشته باشید که در کدام زبان برنامه نویسی متخصص شوید. یادگیری و آموزش زبان ++C به شما کمک میکند در هر جایی بتوانید به عنوان یک برنامه نویس، اشکالات به وجود آمده را برطرف کنید و راه کارهایی ارائه دهید. به همین دلیل است که اکثر برنامه نویسان خبره، با این زبان نیز آشنایی دارند.
تفاوت زبان برنامه نویسی C با ++C چیست؟
بطور کلی زبان C زبان برنامه نویسی ساخت یافته یا Structured است. اما زبان ++C زبان برنامه نویسی شی گرایی یا OOP میباشد.
از لحاظ دستوری فرق زیادی با هم ندارند، اما تفاوت عمده این است که زبان سی پلاس پلاس ++C از شی گرایی پشتیبانی می کند ولی زبان سی C این قابلیت را ندارد... امروزه دیگر بدون شی گرایی اصلا نمی توان نرم افزار های بزرگ نوشت. اکثر زبان های برنامه نویسی رایج و قوی دنیا شی گرا هستند.
تفاوت زبان سی شارپ #C با ++C چیست؟
- زبان برنامه نویسی #C یک زبان برنامه نویسی سطح بالا ست و برنامه های تحت دات نت NET. میشه نوشت (در واقع #C برای NET. درست شده) ، اما با زبان ++C هم برنامه های تحت داتNET و هم برنامه های native میشه نوشت.
- هنوز برای کارهای سطح پایین (مثل Device Driver) و سنگین (مثل بازی های سه بعدی) ++C انتخاب اول و آخر محسوب میشه.
- زبان برنامه نویسی سی شارپ دات نت خیلی راحتتر ، تمیزتر و خوش ساخت تر از ++C طراحی شده و از نظر شی گرایی هم پشتیبانی بهتری نسبت به ++C دارد.
- زبان #C کاملا شی گراست و اصلا نمیتونید برنامۀ غیر شی گرا در اون بنویسید ، در صورتی که با ++C میتونین هم شی گرا و هم غیر شی گرا ، برنامه بنویسید.
کاربردهای زبان سی پلاس پلاس در کجاست؟
میتوان گفت زبان سی پلاس پلاس در همه جا کاربرد دارد و مورد استفاده قرار میگیرد. بهمین دلیل، دانش آموزان، دانشجویان و مهندسان رشته های مختلف این زبان را فرا می گیرند. بعضی از این موارد شامل:
*** سیستم عامل هایی که با سی پلاس پلاس نوشته شده اند:
- سیستم عامل ویندوز
- سیستم عامل لینوکس ابونتو
*** نرم افزارهای نوشته شده با سی پلاس پلاس مانند:
- مرورگر اینترنت گوگل کروم
- مرورگر اینترنت اوپرا
- مرورگر اینترنت موزیلا فایرفاکس
- نرم افزار تری دی مکس ۳D Max در سه بعدی سازی
- نرم افزار PDF خوان ادوب اکروبات
- نرم افزار فتوشاپ
- نرم افزار ریموت دسکتاپ تیم ویور
- نرم افزار چت تصویری اسکایپ
*** انواع نرم افزاهای ویندوزی با سی پلاس پلاس:
- کاربرد ++C در رباتیک و سخت افزار های رباتیک و سیستم های رباتیک
- کاربرد ++C در تراشه های سخت افزاری
- کاربرد ++C در برنامه های هک و امنیت
- کاربرد ++C در برنامه های ویروس یابی ساخت ویروس
- کاربرد سی پلاس پلاس در وب مانند سایت های فیسبوک و گوگل، کامپایلر PHP و..
*** استفاده از سی پلاس پلاس در مهندسی و انواع صنایع:
- کاربرد زبان C++ در صنعت بازی سازی و گیم ها و کنسول های بازی
- کاربرد زبان C++ در صنعت خودرو سازی
- کاربرد زبان C++ در صنعت فضایی
- کاربرد زبان C++ در سیستم های معماری
- کاربرد زبان C++ در سیستم های بانکی
- کاربرد زبان C++ در تجهیزات مدرن در انواع صنابع
- کاربرد زبان C++ در سیستم های کامپیوتری و سیستم های خانگی
- کاربرد زبان C++ در هوش مصنوعی و علم پزشکی
- کاربرد زبان C++ در تجهیزات مجهز به انواع حسگر ها
- کاربرد زبان C++ در نرم افزار های مهندسی
سرفصل کلی دوره آموزشی سی پلاس پلاس C++ programming
- نصب و راه اندازی کامپایلر در سیستم عامل
- آشنایی با اصول طراحی اولیه یک پروژه برنامه نویسی
- آموزش اصطلاحات متداول زبان برنامه نویسی ++C
- آشنایی با متغیرها و توابع پرکاربرد
- تعریف آرایه ها و رشته های عددی و متنی
- آموزش حلقه ها و شرط ها
- آشنایی با عملگر های زبان C
- تعریف مفهوم ارث بری در برنامه نویسی
- طراحی شیء گرا (Object Oriented)
- استفاده از قالب ها
- آشنایی با استاندارد ها در کتابخانه توابع آماده (DLL)
- و ...

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

 | |
شهریه عادی: | 920,000 تومان | |
شهریه برای شما: | 850,000 تومان | تخفيف: 70٫000 تومان |
| | |
  |
 |
تاریخ شروع | زمستان ۱۳۹۸ |
ظرفیت مانده | محدود |
روزهای برگزاری | یکشنبه - سه شنبه |
ساعت برگزاری | 16 تا 18 |
طول دوره | 1/5 ماه |
توضیحات | نیمه خصوصی |
|
 |
1- اجرای دوره بصورت 100% عملی و کاربردی میباشد. |
2- ارائه نرم افزار ها و جزوات و بازآموزی (بصورت رایگان) |
3- پذیرایی رایگان در طول دوره و.... |
|
|

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

 | |
شهریه عادی: | 920,000 تومان | |
شهریه برای شما: | 850,000 تومان | تخفیف: 70000 تومان |
| | |
  |
 |
تاریخ شروع | زمستان ۱۳۹۸ |
ظرفیت مانده | محدود |
روزهای برگزاری | یکشنبه - سه شنبه |
ساعت برگزاری | 16 تا 18 |
طول دوره | 1/5 ماه |
توضیحات | گروهی |
|
 |
1- اجرای دوره بصورت 100% عملی و کاربردی میباشد. |
2- ارائه نرم افزار ها و جزوات و بازآموزی (بصورت رایگان) |
3- پذیرایی رایگان در طول دوره و.... |
|
|
|
سرکار خانم حسینمردی (1396/11/10) : |
کلاس بسیار خوب برگزار شد و مطالبی که استاد ارائه می کردن کاملا کاربردی و مفید بود. |
|
|
جناب آقای شریف نیا (1394/7/23) : |
از بابت دوره آموزشی بسیار خوبی که داشتم تشکر می کنم. در کلاس پیشرفته هم خدمتتون هستم |
|
|
سرکار خانم موذن زاده (1398/8/16) : |
از طرف یکی از همکارانم که قبلا در آموزشگاه کامپیوتر پایا دوره گذرانده بود با این آموزشگاه آشنا شدم. بسیار از خدمات و آموزشی که گرفتم راضی هستم. انعطاف ساعت و روزهای برگزاری کلاس بسیار کارآمد بود. استاد هم بسیار بر مباحث آموزشی تسلط داشتن و واقعا دوره مفیدی بود. |
|
|
سرکار خانم مژگان بلالیان (1393/08/19) : |
با سلام و خسته نباشید.استاد مربوطه مسلط بودند و از کادر موسسه هم راضی بودم. با تشکر |
|
|
جناب آقای سموات (1395/03/18) : |
واقعا همونطور که در قسمت نظرات سایتتون دانشجویان نوشته بودند، همه امکانات عالی بود. برای دوره بعدی هم ثبت نام کردم. ممنونم |
|
|
سرکار خانم زهرا آریان (1393/04/30) : |
از کلیه همکاران آموزشگاه تشکر می کنم و عملکرد موسسه رو عالی بیان می کنم. |
|
|
سرکار خانم ذکی پور (1397/5/30) : |
کلاس خیلی عالی و مطالب خوبی گفته شد. خیلی ممنون از استاد بابت تمام مطالب گفته شده و از همکاران آموزشگاه کامپیوتر پایا. |
|
|
جناب آقای محسن امانی (1392/07/28) : |
از طریق سایت دوره طراحی وب کامل را خوندم و بعد مشاوره اولیه در دوره ثبت نام کردم. میزان شهریه نسبت به دوره ارائه شده بسیار خوب بود. دوره بسیار خوب و کامل بود و واقعا به چیزی که می خواستم رسیدم. |
|
|
جناب آقای میرقربانی (1397/5/30) : |
چندمین دوره ای بود که در آموزشگاه پایا می گذروندم. بسیار مفید و آموزنده بود. |
|
|
سرکار خانم سخاوند (1393/07/03) : |
دوره کاربردی و مفید بود و با تلاش و پیگیری تونستم اولین وب سایتی که میخواستم رو راه بندازم و باهاش کار کنم و از این دوره چیزهای زیادی یاد بگیرم. |
|
|
سرکار خانم احدپور (1397/8/10) : |
استاد بسیار عالی بودن و کاملا به صورت حرفه ای و مسلط کلاس رو اداره کردن. با سپاس |
|
|
سرکار خانم طالبی (1395/9/24) : |
با سلام و تشکر فراوان از زحمات همکاران آموزشگاه پایا و استاد زحمتکش و دلسوز |
|
|
جناب آقای محمدی (1394/07/23) : |
کلاس خیلی خوب و مفید بود و با مهارت بالایی گفته شد. فضای آموزشی هم مطلوب بود |
|
|
جناب آقای قادری (1398/4/15) : |
همه موارد از هماهنگی تا نحوه برگزاری دوره بسیار عالی بود. با تشکر |
|
|
جناب آقای بحیرائی (1397/5/30) : |
کلاس سطح استانداری داشت و بسیار آموزنده و راضی کننده بود. خوشحالم که در آموزشگاه پایا ثبت نام کردم. ممنون از بابت دوره |
|
|
جناب آقای حاجی حبیبی (1398/4/15) : |
همه چیز عالی و فوق العاده بود. دوره بسیار کامل و عملی برگزار شد. استاد دوره واقعا مطالب رو به صورت کامل و تخصصی می گفتن. ممنونم از آموزشگاه کامپیوتر پایا |
|
|
سرکار خانم منصوری (1394/7/23) : |
دوره بسیار آموزنده و مفید بود. در دوره پیشرفته هم شرکت می کنم. |
|
|
سركار خانم الميرا ناجی (1390/06/01) : |
از اينكه حق انتخاب ساعت و روز مورد نظرم را براي تشكيل كلاس داشتم خيلي راضي ام. از نظر تدريس استاد و تعاريف سرفصل هاي مهم و كاربردي و دوري از اتلاف وقت در مورد مباحث كم اهميت بسيار ممنونم |
|
|
جناب آقای کامیان فر (1394/7/23) : |
خیلی دوره مفیدی بود. من قبلا در کلاس طراحی وب سایت کامل آموزشگاه پایا شرکت کرده بودم و از کیفیت آموزشی بسیار خوبشون اطلاع داشتم. ممنون |
|
|
جناب آقاي نيكجو (1391/6/26) : |
نحوه مشاوره اوليه بسيار عالي بود ، رقتار مسئولين آموزشگاه بسيار صميمانه بود ، تمامي موارد مدنظر در طول دوره ارائه شد و به اهداف خود دسترسي كامل پيدا كردم. |
|
|
جناب آقاي مسعود نامي صابر - از دانمارك (1391/9/14) : |
از محل اقامتم در کپنهاگ با آموزشگاه پایا شنا شدم و قبل از سفر به ايران هماهنگي كلاس ها را انجام دادم تا در مدت زمان 1 ماهه حضورم در ايران دوره تمام بشود. فضا و امكانات آموزشگاه بسيار خوب بود و همكاران موسسه بسيار برخورد مناسب و گرمي داشتند. دوست دارم باز هم از طريق اينترنت در تماس باشم و شايد در دوره هاي مجازي هم شركت كنم. |
|
|
سركار خانم فاطمه محمودصالحي (1391/12/13) : |
دوره دومي بود كه پس از طراحي وب استاتيك در اين موسسه مي گذرانم.علت حضورم در دوره ها رضايت دوستان از كلاس و مشاوره خوب مديريت آموزشگاه بود. نحوه برخورد پرسنل بسيار خوب و كيفيت آموزشي بسيار عالي است.از پرسنل و استاد محترم كه در رسيدن به هدفمان به خوبي ما را ياري كردند كمال تشكر را دارم و اميدوارم اين روند ادامه داشته باشد. سال خوبي برايتان آرزومندم. |
|
|
سرکار خانم وثوقی (1394/05/15) : |
با سپاس فراوان از آموزشگاه پایا. سومین دوره ای بود که در پایا آموزش دیدم. دوره PHP بسیار عالی بود. از اساتید محترم هم سپاسگزارم. |
|
|
جناب آقای سموات (1395/04/27) : |
باز هم مثل دوره قبلم همه موارد از نظر زمان بندی دوره، کیفیت آموزشی و بار علمی و مهارت استاد، نحوه برخورد همکاران موسسه پایا در سطح بسیار عالی بود. برای دوره بعد هم در همین آموزشگاه ثبت نام کردم. |
|
|
سرکار خانم جلالوند (1393/07/03) : |
دوره خیلی خوبی بود. ممنون از زحمات شما. |
|
|
جناب آقای صفری (1398/6/30) : |
استاد خیلی خوب بودن و قشنگ مباحث رو به صورت کاربردی یاد میدادن. کلاس بسیار قابل فهم بود. با تشکر از آموزشگاه کامپیوتر پایا |
|
|
سركار خانم زهرا عباسي (1391/10/28) : |
مشاوره اوليه فوق العاده بود و همين باعث جذب من شد. استاد واقعا حرفه اي، با اخلاق و دلسوز بود. امكانات آموزشگاه نيز كامل بود و همكاران موسسه برخورد مناسبي داشتند. موسسه را به ديگران معرفي كردم. كلا آموزشگاه خيلي خوبي است و وافعا خاطره خوبي در ذهنم موند. |
|
|
جناب آقاي عليرضا حيات داودي (1391/12/13) : |
از طريق سايت آموزشگاه با موسسه آشنا شدم. نحوه مشاوره اوليه خوب بود و به علت زمان دوره و مناسب بودن دوره ثبت نام كردم. استاد و كيفيت آموزشي بسيار خوب بود.از پرسنل موسسه به جهت برخورد مناسب و در شان آموزشگاه تشكر مي كنم. |
|
|
جناب آقای شیرازی (1397/5/31) : |
کلاس آموزشی قوی برگزار شد و زمان کلاس برای مباحث کافی بود. استاد خیلی خوب بودن و امکانات آموزشگاه پایا هم مناسب بود. با تشکر |
|
|
جناب آقای وکیلی فرد (1398/2/22) : |
دومین دوره تخصصی بود که در آموزشگاه پایا شرکت می کردم. استاد بسیار عالی بودن و تمامی مطالب رو قابل فهم بیان می کردن. خیلی ممنونم. |
|
|
|
معرفی زبان برنامه نویسی سی پلاس پلاس ++C
زبان برنامه نویسی ++C (سی پلاس پلاس) یک زبان برنامه نویسی کامپیوتری همه منظوره، شیءگرا، سطح بالا و چندرگه (که از برنامه نویسی رویه ای، تجرید داده ها و برنامه نویسی شیءگرا پشتیبانی می کند)، عمومی و با قابلیت های سطح بالا و سطح پایین می باشد.
زبان سی پلاس پلاس دارای قابلیت های انواع داده ایستا، نوشتار آزاد، چند مدلی، معمولا زبان ترجمه شده با پشتیبانی از برنامه نویسی ساخت یافته ، برنامه نویسی شی گرا ، برنامه نویسی جنریک است. ++C به همراه جد خود C از پرطرفدارترین زبان های برنامه نویسی تجاری هستند.
زبان ++c یک زبان سطح میانی در نظر گرفته می شود. این زبان دارای قابلیت زبانهای سطح بالا و پایین به صورت هم زمان است. زبان ++C توسط بییارنه استراستروپ دانمارکی در سال ۱۹۷۹ در آزمایشگاههای بل (Bell Labs)، برای بهبود زبان سی و بر مبنای آن ساخته شد. و آن را "C با کلاس" (C With Classes) نامگذاری نمودند. و در سال ۱۹۸۳ به ++c تغییر نام داد. توسعه با اضافه نمودن کلاس ها و ویژگی های دیگری مانند توابع مجازی ، سربارگزاری عملگرها ، وراثت چندگانه ، قالب توابع ، و پردازش استثنا انجام شد. این زبان برنامهنویسی در سال ۱۹۹۸ تحت نام ISO/IEC ۱۴۸۸۲:۱۹۹۸ استاندارد شد. نسخه فعلی استاندارد این زبان ISO/IEC ۱۴۸۸۲:۲۰۰۳ است. نسخه جدیدی از استاندارد (که به صورت غیررسمی C++۰x نامیده میشود) در دست تهیه است.
تاریخچه زبان برنامه نویسی ++C
استراستروپ کار بر روی زبان «c با کلاس» را در سال ۱۹۷۹ آغاز کرد. ایده ساخت این زبان جدید در زمان کار بر روی تز دکترای خود به ذهن استراستروپ خطور نمود. او متوجه شد که سیمولا دارای ویژگیهایی مناسب برای ساخت برنامههای بسیار بزرگ است اما برای استفاده عملی بسیار کند است. اما BCPL با وجود سرعت بسیار زیاد برای ساخت برنامههای بزرگ بسیار سطح پایین است. زمانی که استراستروپ کار خود را در آزمایشگاههای بل (Bell Labs) آغاز نمود با مشکل تحلیل هسته یونیکس Unix با توجه به محاسبات توزیع شده روبرو شده بود. با یادآوری تجربیات خود در دوران دکترا، او زبان C را با استفاده از ویژگیهای سیمولا گسترش داد. C به این دلیل انتخاب شد که یک زبان عمومی، سریع، قابل حمل، و بصورت گسترده در حال استفاده بود. علاوه بر زبان C و سیمولا زبانهای دیگری مانندALGOL ۶۸ ، ADA ، CLU، ML نیز بر ساختار این زبان جدید اثر گذاشت. در ابتدا ویژگیهای کلاس، کلاسهای مشتق شده ، کنترل نوع قوی، توابع درونخطی، و آرگومانهای پیشفرض از طریق Cfront به C اضافه شد. اولین نسخه تجاری در سال ۱۹۸۵ ارائه شد. در سال ۱۹۸۳ نام زبان از «C با کلاس» به ++C تغییر یافت.
ویژگیهای دیگر شامل توابع مجازی، سربارگزاری عملگر و نام تابع، ارجاعات، ثوابت، کنترل حافظه توسط کاربر بصورت آزاد، کنترل نوع بهتر، و توضیحات یک خطی به صورت BCPL با استفاده از «//» نیز به آن اضافه شد. در سال ۱۹۸۵ اولین نسخه زبان برنامهنویسی ++C انتشار یافت و مرجع مهمی برای این زبان فراهم شد در حالی که هیچ استاندارد رسمیای وجود نداشت. در سال ۱۹۸۹ ویرایش ۲٫۰ از زبان ++C ارائه شد. ویژگی های جدیدی مانند ارث بری چندگانه یا Multiple Inheritance ، کلاس های انتزاعی یا Abstract Class ، اعضای ایستای توابع یا Static Member Functions ، اعضای ثابت تابع و اعضای حفاظت شده یا Protected members به آن اضافه شد.
در سال ۱۹۹۰ «راهنمای مرجع ++C» منتشر شد. این کار بنیان استانداردهای بعدی شد. آخرین ویژگیهای اضافه شده شامل موارد زیر بودند:
قالب توابع ، استثناها ، فضاهای نام ، تبدیلات جدید و یک نوع داده منطقی.
در حین تکامل ++C کتابخانه استاندارد نیز بوجود آمد. اولین نسخه کتاب استاندارد شامل کتابخانه جریانات I/O بود. که جایگزین printf و scanf شد. در ادامه مهم ترین ویژگی اضافه شده Standard Template Library بودهاست.
نامگذاری زبان سی ++
ین نام منسوب به ریک ماسکیتی (اواسط ۱۹۸۳) است و برای اولین بار در دسامبر سال ۱۹۸۳ به کار برده شد. در طول مدت تحقیق این زبان بنام «C جدید» و بعدها «C با کلاس» خوانده شد. در علوم کامپیوتر هنوز هم ++C به عنوان ابرساختار C شناخته میشود. آخرین نام از عملگر ++ در زبان C (که برای افزایش مقدار متغیر به اندازه یک واحد بکار میرود) و یک عرف معمول برای نشان دادن افزایش قابلیتها توسط + ناشی گشتهاست. با توجه به نقل قولی از استراستروپ: «این نام ویژگیها تکاملی زبان در C را نشان میدهد.» +C نام زبانی غیرمرتبط به این زبان است. استراستروپ مبدا این نام را در فصل اول کتاب خود «زبان برنامهنویسی ++C» اشاره مینماید که معنی دیگر ++C را میتوان در ضمائم کتاب جرج ارول بنام ۱۹۸۴ یافت. در سه قسمت از زبان تخیلی Newspeak «کلمات C» برای اشاره به لغات فنی و حرفهای بکار میرود. «دو علامت +» برای ایجاد صفات عالی از صفات Newspeak به کار میرفت.
بنابراین ++C به معنای زبانی با بیشترین شباهت به C است. وقتی که به صورت خصوصی از ریک ماسکیتی در مورد این اسم سوال شد او در جواب گفت که این اسم بصورت خودمانی در بین آنها به کار می رفتهاست و تصور نمیکردند که این نام بصورت نام رسمی این زبان درآید.
توسعه آینده زبان ++C
++C همچنان در حال تکامل است تا نیازهای آینده را پاسخگو باشد. نسخه جدید استاندارد ++C در حال بررسی است و تحت عنوان C++۰x است که انتظار میرود در سال ۲۰۱۰ منتشر گردد. تغییرات کنونی نشان میدهد که همچنان به صورت چندمدلی ++C تاکید میگردد. توسعههای مهم پشتیبانی از چندرشتهای و مفاهیمی برای راحت نمودن کار با قالبهاست. اضافه نمودن ویژگی جمعآوری زباله به آن به شدت مورد بحث است. Boost.org گروهی برای بیشترین استفاده از ویژگیهای فعلی ++C میباشد. آنها ویژگیهای تابعی و فرابرنامهنویسی آن را گسترش میدهند و در مورد ++C به کمیته استاندارد نصیحتهایی نمودهاست که کدام ویژگیها خوب عمل نمیکنند و کدامها نیاز به توسعه دارند.
استاندارد سازی سی++ توسط یک گروه از تشکیلات ISO انجام میشود. تاکنون ۵ نسخه از استاندارد این زبان منتشر شده است؛ و استاندارد C++17 نیز برای انتشار در سال ۲۰۱۷ برنامه ریزی شده است.
کتابخانه استاندارد زبان ++C
در سال ۱۹۹۸ استاندارد ++C شامل دو بخش هسته زبان و کتابخانه استاندارد ++C است. این کتابخانه شامل بیشتر بخشهای STL و کتابخانه استاندارد C است. بیشتر کتابخانههای ++C در استاندارد وجود ندارند و یا استفاده از تعریف قابلیت پیوند کتابخانهها را میتوان در زبان هایی مانند
فرترن، C، پاسکال، بیسیک نوشته شوند.البته با توجه به ویژگیهای کامپایلر مشخص خواهد شد که کدام زبان را میتوان استفاده نمود.
کتابخانه استاندارد ++C شامل کتابخانه استاندارد C با یک سری تغییرات برای بهبود عملکرد است. بخش بزرگ بعدی این کتابخانه STL است. STL شامل ابزار بسیار قدرتمندی مانند نگهدارندهها (مانند vector و list)، تکرارکنندهها (اشارهگرهای عمومی شده) برای شبیه سازی دسترسی مانند آرایه الگوریتم هایی برای جستجو و مرتب سازی در آنها وجود دارند. نقشهها (نقشههای چندگانه) (آرایه شرکت پذیر) و مجموعه ها (مجموعه های چندگانه) واسطهای عمومی فراهم میسازند.
در نتیجه با استفاده از قالب تابع، الگوریتم های جنریک با هر نگه دارنده و دارای تکرار کننده عمل نماید. همانند C ویژگیهای کتابخانه را میتوان با استفاده از شبه دستور include# شامل یک سرآیند استاندارد اضافه نمود.
زبان C دارای ۶۹ کتابخانه استاندارد است که ۱۹ تا از آنها نامناسب تشخیص داده شدهاند. استفاده از کتابخانه استاندارد - مانند std::vector یا std::string به جای آرایههای C- موجب ایجاد برنامههای مطمئنتر شدهاست. STL در آغاز محصولی جداگانه از HP و سپس SGL پیش از ادغام در کتابخانه استاندارد ++C بودهاست. استاندارد عبارت STL را بکار نمیبرد بلکه آن را بخشی از کتابخانه میدانند. اما مردم هنوز هم آن را برای جداسازی بخش های مختلف کتابخانه با این نام بکار میبرند.(جریانهای ورودی/خروجی، جهانیسازی، تشخیص، زیرمجموعه کتابخانه C) بیشتر کامپایلرها کتابخانه استاندارد و STL را پیاده سازی مینماید. پیاده سازیهای مستقلی نیز همانند STLport نیر وجود دارند.
پروژه های دیگر نیز پیاده سازیهای خود را از STL با توجه به اهداف خود بوجود می آورند.
اشیاء یا Objects در زبان ++C
سی++ چندین ویژگی شیگرا را زبان سی معرفی نمود معرفی کلاس چهار ویژگی که در زبانهای شیگرا و بعضاً غیر شیگرا حضور دارد یعنی انتزاع، بستهبندی، وراثت، و چندریختی را فراهم کرد. اشیاء نمونههای ساخته شده از کلاس در زمان اجرا هستند. میتوان کلاس را نمونهای از قالبها دانست که چندین مورد از آنها بوجود میآید.
بسته بندی یا Encapsulation در زبان ++C
بسته بندی به معنای جمع آوری عملیات و داده در یک محل میباشد. سی++ بسته بندی را با ایجاد امکان تعریف هر کلاس به صورت عمومی یا Public ، خصوصی یا Private ، محافظت شده یا Protected پیادهسازی نموده است. اعضای private فقط توسط اعضای کلاس و یا کلاسها دقیقاً بیان شده (دوست یا friend) قابل دسترسی هستند. اعضای محافظت شده Protected توسط کلاسهای ارث برده شده و اعضای کلاس و کلاسهای دوست یا Friend قابل دسترسی هستند.
در تعاریف شیگرا باید تنها توابعی بسته بندی گردند که باید از نحوه پیاده سازی این نوع بخصوص اطلاع داشته باشد. سی++ این ویژگی را با استفاده از توابع عضو و توابع دوست فراهم نموده اما قطعی نکردهاست. در سی++ این امکان وجود دارد که تمام نوع را عمومی تعریف نمایند. اما در صورتی که نیاز باشد فقط بخشی از آن عمومی گردد. در نتیجه این زبان نه تنها شیگرا است بلکه از مدلهای ضعیفتر همانند برنامه نویسی مدولار پشتیبانی مینماید. عموماً توصیه بر این است که تمام اعضا به صورت خصوصی یا حفاظت شده تبدیل گردند. و فقط توابعی که باید توسط دیگر کلاسها به عنوان واسط استفاده شوند، عمومی باقی بمانند.
وراثت یا Inheritance در زبان ++C
وراثت این امکان را ایجاد میکند که یک نوع ویژگی دیگر انواع را داشته باشد. وراثت از یک کلاس پایه میتواند عمومی، خصوصی یا حفاظت شده باشد. این تعیین سطح دسترسی مشخص میسازد آیا کلاسهای نامربوط و یا مشتق شده میتوانند به اعضای عمومی یا حفاظت شده کلاس پایه دسترسی داشته باشند. تنها وراثت عمومی به معنای وراثت به کار رفته بصورت عموم است. دو نوع دیگر وراثت به ندرت مورد استفاده قرار میگیرند. اگر تعیینکننده سطح دسترسی حذف شود سطح دسترسی برای کلاس خصوصی و برای ساختمان به صورت عمومی تعریف میگردد. کلاسهای پایه ممکن است بصورت مجازی تعریف شوند که به آن وراثت مجازی گویند. وراثت مجازی تضمین میکند که فقط یک نمونه از کلاس پایه وجود داشته باشد و مشکلاتی همانند مشکلات وراثت چندگانه بوجود نیاید.
وراثت چندگانه یکی از ویژگیهای مورد بحث در سی++ است. وراثت چندگانه امکان اشتقاق از چند کلاس پایه را فراهم مینماید که موجب بوجود آمدن گراف رابطه وراثت بسیار پیچیدهاست. به عنوان مثال «گربه پرنده» میتواند از کلاس «گربه» و کلاس «پستانداران پرنده» ارث برد. در زبانهای دیگر مانند سی شارپ و جاوا به صورت دیگری ویژگی مشابه را پیادهسازی مینماید هر کلاس میتواند از چندین واسط اشتقاق یابد اما فقط یک کلاس پایه برای اشتقاق وجود دارد (واسطها برخلاف کلاس پایه فقط تعریف هستند و هیچگونه پیادهسازی را شامل نمیگردند).
چند ریختی یا Polymorphism در زبان ++C
چند ریختی یا Polymorphism در زبان ++C امکان استفاده از یک واسط برای چندین پیادهسازی فراهم مینماید و اشیاء در شرایط مختلف رفتار مختلفی از خود نشان میدهند.
سی++ دو نوع چندریختی در اختیار برنامهنویس قرار میدهد: چندریختی زمان کامپایل و چندریختی زمان اجرا. چندریختی زمان کامپایل امکان تصمیمگیریهای زمان اجرا را فراهم نمیسازد و چندریختی زمان اجرا اغلب موجب پایین آمدن بازدهی میگردد.
ویژگی های زبان ++C
در مقایسه با C زبان ++C ویژگی های جدیدی را معرفی نموده است مانند تعریف متغیر به عنوان عبارت، تغییر نوع های همانند تابع، new/delete، نوع داده bool، توابع درون خطی، آرگومان پیشفرض، گرانبارسازی عملگر و تابع، فضای نام و عملگر تعیین حوزه ::، کلاس ها (شامل تمام ویژگیهای مربوط به کلاس ها همانند وراثت ، اعضای تابع ، توابع مجازی ، کلاس های انتزاعی و سازنده ها) ، قالب ها ، پردازش استثنا، کنترل نوع زمان اجرا، عملگرهای سربار شده ورودی (<<) و خروجی (>>).
برخلاف باور عموم ++C نوع داده ثابت را معرفی ننموده است. کلمه const کمی پیش از استفاده از این کلمه در ++C توسط زبان C بصورت رسمی بکار گرفته شد. در بعضی حالات ++C تعداد کنترل نوع بیشتری نسبت به زبان C انجام میدهد. توضیحات با استفاده از // قبل از زبان C در زبان BCPL معرفی شده بود که مجددا در زبان ++C به کار گرفته شد.
بعضی ویژگیهای ++C بعدا توسط C به کار گرفته شد مانند نحوه تعریف for، توضیحات به شکل ++C (با استفاده از //)، و کلمه inline با وجود اینکه تعریف این کلمه در C با تعریف آن در زبان ++C هماهنگی ندارد. همچنین در C ویژگیهایی معرفی شدهاست که در ++C وجود ندارند مانند ماکروهای قابل تغییر و استفاده بهتر از آرایه ها به عنوان آرگومان. بعضی کامپایلرها این ویژگیها را پیاده نمودهاند اما در بقیه این ویژگیها موجب ناهماهنگی میگردد.
ساختار برنامه ها در زبان سی ++
ساختار برنامه ها در این زبان بدین صورت است که همانند زبان سی، هر برنامه بایستی یک تابع اصلی (main) به عنوان بدنه برنامه داشته باشد.
هر برنامه معمولاً از تعداد زیادی فایل تشکیل میشود که به هم الحاق می گردند (با دستور include) و به این فایلهای الحاقی سرآیند (Header) می گوییم. فایل های الحاقی حاوی کدها یا نسخه های اجرایی کلاسها (مجموعه متغیرها و توابع) میباشند که در بدنه اصلی برنامه از آنها استفاده میشود.
معمولاً هر کلاس (که تعریف یک نوع داده ای با متدهای مربوط به آن است) را در یک سرآیند مینویسند. هر سرآیند که معمولاً تنها تعاریف (معرفی) کلاس را در خود دارد به همراه فایل های پیاده سازی به زبان ++C یا پیاده سازیهای کامپایل شده (به صورت فایل اشیا مانند dll یا so یا ... ) می تواند به کار برده شود. به مجموعه های یکپارچه ای از کلاس های پیاده سازی شده (به صورت فایلهای سرآیند با پیاده سازیهای کد یا اشیای زبان ماشین) که برای برنامه نویسی به کار میروند، یک کتابخانه ++C گفته میشود و قدرت اصلی این زبان در امکان به کارگیری کتابخانه های آماده می باشد.
کتابخانههای بزرگ ++C مانند STL، MFC، QT و ... مجموعه قدرتمندی برای تولید برنامه در این زبان ایجاد کردهاند.
زبان برنامه نویسی ++C بر زبان های برنامه نویسی دیگر تاثیر گذاشته است مانند:
- زبان برنامه نویسی پی اچ پی PHP
- زبان برنامه نویسی سی شارپ #C
- زبان برنامه نویسی جاوا JAVA
- زبان برنامه نویسی پرل Perl
درباره زبان برنامه نویسی سی C programming
زبان برنامه نویسی سی (C programming language) به سخت افزار یا سیستم عامل خاصی وابسته نیست. این زبان خصوصیات و اجزا زبان های برنامه نویسی پیشرفته را همراه با کارآیی بالای زبان اسمبلی در بردارد و گاهی آن را یک زبان نیمه پیشرفته می دانند.
زبان سی C به گونه ای است که تطبیق نرم افزار از یک نوع کامپیوتر به نوع دیگر را آسان می کند. امروزه برنامه ریزی ریزکنترل ها و انواع سیپییوها و همچنین تولید سیستم عامل های جدید و نرم افزارهای کاربردی از طریق زبان C صورت می گیرد.
تاریخچه زبان برنامه نویسی سی C
زبان C در سال 1972 توسط دنیس ریچی در آزمایشگاه های Bell ساخته شد (بعدها این آزمایشگاه ها به AT and T Labs تبدیل شد). سیستم عامل Unix هم قبلا در همان Bell Labs توسط زبان B نوشته شده بود.
C که از زبان B حاصل شده است، به منظور پیاده سازی سیستم عامل Unix روی یک کامپیوتر PDP-11 ارائه شد. Ritchie زبان B را گسترش داد و یک سری امکانات از جمله نوع دار کردن داده ها را به آن اضافه نمود و زبان حاصل را C نامید.
البته زبان B که توسط Ken Thompson در سال 1970 ساخته شده بود نیز از زبان BCPL حاصل شده که آن را Martin Ritchard ارائه داده بود. پس از آن که Ritchie و همکارش Kernighan در سال 1978 کتابی جهت آشنایی عموم با این زبان منتشر نمودند، توجه گسترده برنامه نویسان به آن جلب شد. به گونه ای که نسخه های مختلفی از آن روی کامپیوترهای مختلف به وجود آمد. همین امر موجب شد در سال 1983 انستیتوی استانداردهای ملی آمریکا (ANSI) کمیته ای برای استاندارد کردن این زبان تشکیل دهد. بالاخره در سال 1989 استاندارد آن تثبیت شد.
ویژگی های زبان برنامه نویسی C
- زبان برنامه نویسی C تاثیر گذارترین زبان برنامه نویسی در دنیای کامپیوتر است.
- زبان سی یک زبان برنامه نویسی سطح میانی است.
- زبان سی یک زبان ساخت یافته و قابل حمل است.
- دارای سرعت، قدرت و انعطاف پذیری بالایی است و هیچ محدودیتی را برای برنامه نویس به وجود نمی آورد.
- زبان برنامه نویسی C زبان برنامه نویسی سیستم است.
- زبان برنامه نویسی C زبان کوچکی است و تعداد کلمات کلیدی آن انگشت شمار است.
- نسبت به حروف حساس است و تمام کلمات کلیدی این زبان با حروف کوچک نوشته میشوند.
- در محیط های توسعه دهنده مجتمع (Integrated Development Envoirements) صورت میگیرد.
C ، یک زبان نسبتا سطح پایین به شمار می آید، این یک توصیف تحقیرآمیز نبوده، و صرفا به این معنی است که C با همین نوع از اشیائی سروکار دارد که بیشتر کامپیوترها با آن سروکار دارند، نظیر کارکترها، اعداد و آدرس ها. این اشیا را میتوان با هم ترکیب کرد و می توان روی آنها همان عملیات محاسباتی و منطقی را انجام داد که توسط یک کامپیوتر حقیقی پیاده سازی کرد.
سیستم عامل سیمبیان (Symbian os) با زبان C نوشته شده و بهمین دلیل این زبان به عنوان زبان اولیه برای برنامه نویسی در آن انتخاب شده است.
C بیشترین امکان دسترسی به APIهای سیستم عامل سیمبیان را فراهم میکند و بهترین کارکرد در
حافظه و سرعت اجرا را داراست. برای مثال این زبان قدرتمند را میتوان در زمینه های زیر بکار گرفت:
- برنامههایی که مانند سرور عمل می کنند. برای نمونه برنامه هایی که در پشت صحنه کار میکنند و یکی از بخشهای سیستم- به عنوان مثال درگاههای COM - را مدیریت میکنند.
- PLUG in ها که محیطی را بر پایه سیستم عامل ایجاد می کنند. بطور مثال برنامه ای که فایل های HTML را به فایلهای word سیمبیان تبدیل میکند از کتابخانه مبدل سیستم عامل استفاده میکند.
- درایورهای دستگاه که با Kernel کار متعامل می کنند و...
استفاده از زبان C در سیستم عامل سیمبیان بر روی مناسب بودن کارکرد گوشیها متمرکز شده است، که بدین معناست که چند تا از عملگرهای استاندارد زبان C مانند مدیریت استثناها قابل استفاده در برنامه نویسی سیمبیان نیستند.
مفهوم تابع یا Function در برنامه نویسی چیست؟
برنامه ای است که برای حل بخشی از مسئله نوشته می شود. با استفاده از توابع می توان برنامه های ساخت یافته نوشت که وظایف این نوع برنامه ها توسط بخش های مستقلی که تشکیل دهنده برنامه اند انجام می شود. این بخش های مستقل همان توابع هستند.
امتیازهای برنامه نویسی ساخت یافته عبارتند از :
۱- نوشتن برنامه های ساخت یافته آسان است، زیرا برنامه های پیچیده به بخش های کوچک تری تقسیم می شوند و هر بخش توسط تابعی نوشته می شود. دستورالعمل ها و داده های موجود در تابع، مستقل از سایر بخش های برنامه است.
۲- همکاری بین افراد را فراهم می کند.به طوری که افراد می توانند بخش های مختلفی از برنامه را بنویسند.
۳- اشکال زدایی برنامه های ساخت یافته ساده تر است.اگر برنامه اشکالی داشته باشد، بررسی تابعی که این اشکال در آن به وجود آمده ساده است.
۴- برنامه نویسی ساخت یافته موجب صرفه جویی در وقت می شود.
مفهوم توابع کتابخانه ای در برنامه نویسی
C دارای توابعی است که از قبل نوشته شده اند، و توابع کتابخانه ای نامیده می شوند .در واقع فرایند هایی که پر کاربرد هستند و در اغلب برنامه ها مورد استفاده قرار می گیرند به صورت توابع مستقل قبلاً نوشته شده اند.
نحوه نوشتن یا کد نویسی توابع :
- برای نوشتن تابع باید اهداف مشخص باشد.
- هر تابع سه بخش دارد:فراخوانی، الگوی تابع، تعریف تابع
- تعریف تابع مجموعه ای از دستورهاست که عملکرد تابع را مشخص می کند.
- فراخوانی تابع دستوری است که تابع را فراخوانی می کند که با نام تابع انجام می شود.
- نوع تابع: "نوع تابع" یکی از چیزهایی است که توسط کاربر تعریف می شود.
نکات مهم در استفاده از توابع :
۱- الگوی تمام توابع را قبل از تابع ()main اعلان کنید.(البته می توانید در خود تابع ()main نیز اعلان کنید.)
۲- نوع توابع را تعیین نمایید.
۳- برای اجرای توابع آنها را با نامشان فراخوانی کنید.
۴- متغیرهای مورد نیاز توابع را در داخل توابع تعریف کنید.
۵- تعریف تابع در داخل تابع دیگر امکان پذیر نیست.
۶- هنگام فراخوانی تابع دقت داشته باشید که تعداد و نوع پارامترها وآرگومان ها یکسان باشد.
۷- توابع از نظر تعداد مقادیری که می توانند به تابع فراخوان برگردانند به سه دسته تقسیم می شوند الف: توابعی که هیچ مقداری برنمی گردانند. ب: توابعی که یک مقدار برمی گردانند. ج: توابعی که چندین مقدار برمی گردانند.
۸- هنگام اعلان الگوی توابع، نیاز به ذکر اسامی پارامترها نیست و ذکر نوع آن ها کفایت می کند.
۹- اگر تابعی فاقد آرگومان است به جای لیست آرگومان ها کلمه void قرار دهید.
توجه در کدنویسی توابع برنامه نویسی :
۱- ابتدا بدون پرداختن به جزئیات پیاده سازی توابع، آرگومان ها و نتیجه ای که از توابع انتظار دارید، مشخص کرده و برنامه اصلی را بنویسید.
۲- توابع را طوری طراحی وپیاده سازی کنید که هر تابع فقط به آنچه که نیاز دارد دسترسی داشته باشد و بقیه قسمت های برنامه و سایر اطلاعات توسط توابع غیر مرتبط قابل دستیابی نباشد.
۳- برای ارتباط بین توابع از آرگومان ها و پارامترها استفاده کنید.
مثال هایی از برنامه نویسی به زبان سی :
۱- تابعی بنویسید که درجه فارنهایت را به سانتیگراد تبدیل کند؟
۲- تابعی بنویسید که مقدار صحیح و غیر منفی k را دریافت کرده وk! را محاسبه و ارسال نماید.
۳- تابعی بنویسید که سه مقدار صحیح را دریافت کند و کوچک ترین آن ها را پیدا نموده و ارسال کند.
۴- تابعی بنویسید که یک مقدار صحیح و یک مقدار اعشار ساده را دریافت کند و چنانچه اختلاف دو عدد کمتر از 0.0001باشد حرف t و در غیر این صورت حرف fرا بازگرداند.
۵- تابعی بنویسید که یک عدد صحیح دریافت کند و اول بودن یا نبودن آن را مشخص کند و در صورت اول بودن 1 و در غیر این صورت 0 را ارسال کند.
۶- برنامه ای بنویسید که هریک از اعداد1 تا 10 را همراه با فاکتوریل آن ها مقابل هم چاپ کند.
۷- برنامه ای بنویسید که سه مقدار صحیح را خوانده و حداقل آن ها را چاپ کند.(با استفاده از تابع)
۸- تابعی بنویسید که مقدار π را از فرمول (...+7/1-5/1+3/1-1)4=π تا زمانی که آخرین عبارت از0.0001 بیشتر است بدست آورده و ارسال کند.
۹- برنامه ای نویسید که با استفاده از تابع مثال قبل مقدار عدد π را چاپ کند.
۱۰- تابعی بنویسید که مقدار عدد π را از فرمول (...+7/1-5/1+3/1-1)4=π تا n جمله به دست آورده و چاپ کند.
۱۱- برنامه ای بنویسید که ابتدا سری اعداد فیبوناچی را تا جمله دوازدهم چاپ کرده و سپس یک عدد از ورودی بخواند و جزء سری بودن یا نبودن آن را بررسی و اعلام کند.(با استفاده از دو تابع)
۱۲- برنامه ای بنویسید که معکوس 123 را چاپ کند.
۱۳- برنامه ای بنویسید که متنی را دریافت کند و تمام حروف a را که در متن وجود دارد را به A تبدیل کند و متن را دوباره چاپ کند. 14.برنامه ای بنویسید که دو ماتریس را از کاربر بگیرد سپس آن ها را در هم ضرب کرده و نمایش دهد.
متغییرها در برنامه نویسی
متغیرهای محلی یا Local :
متغیرهایی که در بدنه تابع معرفی می شوند، متغیرهای محلی هستند که فقط در همان تابعی که معرفی شده اند قابل استفاده هستند. پارامترهای تابع نیز که در عنوان تابع معرفی شده اند متغیرهای محلی هستند.
متغیرهای سراسری یا Global :
این متغیرها را می توان خارج از توابع مثلاً ابتدای برنامه قبل از تعریف تابع Main یا قبل از تعریف هر تابع دیگر معرفی کرد. متغیرهایی که خارج از توابع معرفی شوند، توسط کلیه توابعی که از آن به بعد تعریف شده اند، قابل استفاده اند.
پس از هر فراخوانی همین که اجرای تابع خاتمه یافت، متغیرهای محلی آن از بین می روند. ولی متغیرهای سراسری تا پایان اجرای تابع main فعال و قابل استفاده اند
حوزه دسترسی به متغیر یا Scope :
محدوده ای که هر متغیر در آن قابل دسترسی است حوزه دسترسی نامیده می شود. متغیرهایی که به صورت محلی در ابتدای تابع معرفی شده اند دارای حوزه دسترسی تابع هستند. متغیرهایی که در یک بلوک به طور محلی تعریف شده اند دارای حوزه دسترسی بلوک هستند. متغیرهایی که خارج از توابع معرفی شده اند دارای حوزه دسترسی فایل می باشند.
کلاس های حافظه دارای چهار نوع اتوماتیک، ثبات، خارجی، ایستا هستند که به ترتیب توسط کلمات auto ، register ، extern و static مشخص می شوند.
انواع متغیرها و داده ها در زبان C
زبان C قابلیت های زیادی برای کار با داده ها دارد. تمام انواع عددی و غیر عددی به صورت کارا در سی یافت می شوند. در زیر به اختصار به بعضی اشاره می شود:
نوع داده ای int :
این نوع داده از نوع عددی صحیح (integer) است. در حافظه 2 بایت اشغال می کند ولی برخی کامپایلرها برای آن 4 بایت در نظر می گیرند.
نوع داده ای float :
این نوع داده از نوع اعشاری است. معمولا در حافظه 4 بایت اشغال می کند و اعداد اعشاری مثبت و منفی را در خود جای می دهد.
نوع داده ای double :
این نوع داده برای استفاده در اعداد اعشاری است که مقدار بیش تری فضا باید اشغال کنند. این نوع داده نیز 8 بایت اشغال می کند.
نوع داده ای char :
این نوع داده برای ذخیره ی کاراکتر استفاده می شود و 1 بایت اشغال می کند.
نوع داده ای long int :
برای داده های صحیحی که در حافظه فضای بیش تری اشغال می کنندو 4 بایت اشغال می کند.
نوع داده ای short int :
برای داده های صحیح که نیاز به حافظه ی زیادی ندارند قابل استفاده است.
نوع داده ای unsigned int :
این نوع داده از نوع عددی صحیح بدون علامت است.
استفاده از آرایه ها در زبان برنامه نویسی C
بسیاری از موارد پیش می آید که برنامه نویس نیاز به استفاده از تعداد زیادی متغیر پیدا می کند. مثلا اگر بخواهیم جملات 1 تا 100 سری فیبوناچی را برای استفاده ذخیره کنیم، به صد متغیر نیاز داریم. تعریف این صد متغیر به صورت مستقل و با نام های جداگانه کاری سخت و طاقت فرساست و البته معقولانه نیست. به همین خاطر در زبان C قابلیتی پیش بینی شده تا بتواند تعداد دلخواهی متغیر از یک نوع را به راحتی ایجاد کرد.
به این متغیر ها که در حافظه پشت سر هم قرار می گیرند و همگی از یک نوع هستند آرایه (Array) می گویند. آرایه ها کاربردهای بسیار زیادی دارند و همانند دنباله ها در ریاضی عمل می کنند. همان طور که در ریاضی برای مشخص کردن یک جمله از دنباله از اندیس استفاده می کنیم، در C نیز برای مشخص کردن یک متغیر خاص از اندیس استفاده می شود.
همان طور که مشاهده می کنید خانه ی پنجم شماره ی 4 دارد و این بدین خاطر است که خانه ها از شماره ی 0 تا n-1 (که n تعداد خانه هاست) شماره گذاری می شود. پس باید به این مورد دقت کرد. مورد دیگر این که شماره ی خانه در [] قرار می گیرد. درون علامت آکلاد می توان عبارت نیز قرار داد.
همان طور که گفته شد در حافظه کامپیوتر خانه های آرایه پشت سر هم قرار می گیرند. اندازه ی هر خانه به اندازه ی نوع تعریف شده است. مثلا در مثال قبل اگر int دو بایت اشغال کند آرایه array، در کل 20 بایت از حافظه اشغال خواهد کرد. این که خانه ها پشت سر هم قرار میگیرند ویژگی کارایی است که در بحث اشاره گر ها به کار می آید.
فرق بین زبان سی C با ++C چیست؟
زبان C زبان برنامه نویسی Structured (ساخت یافته) است اما ++C زبان برنامه نویسی Object Oriented ( شی ء گرا ) می باشد.
از لحاظ دستوری فرق زیادی با هم ندارند، اماتفاوت عمده این است که ++C از شی گرایی پشتیبانی می کند که سی C این قابلیت رو ندارد...
امروزه دیگر بدون شی گرایی اصلا نمی توان نرم افزار های بزرگ نوشت.
اکثر زبان های برنامه نویسی رایج و قوی شیگرا یا OOP هستند.
فرق بین زبان سی شارپ #C با ++C چیست؟
۱- با زبان برنامه نویسی #C فقط برنامه های تحت دات نت NET. میشه نوشت (در واقع #C برای NET. درست شده) ، اما با C++ هم برنامه های تحت داتNET و هم برنامه های native میشه نوشت.
۲- هنوز برای کارهای سطح پایین (مثل Device Driver) و سنگین (مثل بازی های سه بعدی) C++ انتخاب اول و آخر محسوب میشه.
۳- زبان برنامه نویسی سی شارپ دات نت خیلی راحتتر ، تمیزتر و خوش ساخت تر از ++C طراحی شده و از نظر شی گرایی هم پشتیبانی بهتری نسبت به ++C دارد.
۴- زبان #C کاملا شی گراست و اصلا نمیتونید برنامه غیر شی گرا در اون بنویسید ، در صورتی که با C++ میتونین هم شی گرا و هم غیر شی گرا ، برنامه بنویسید.
ویژگی های زبان برنامه نویسی سی شارپ #C چیست؟
۱- مدیریت خودکار حافظه توسط CLR
۲- پشتیبانی از یک نوع String داخلی
۳- پشتیبانی از foreach
۴- پشتیبانی کامل از delegate و event و interface و Property و attribute ها
۵- XML Documentation
۶- checked / unchecked keywords
در زبان سی شارپ C# برای انجام تمام کارها از کلاس های .NET استفاده میشه، در ضمن در C# چیزی به نام فایلهای Header و #include و از این حرفا نداریم.
در واقع C# خیلی زیباتر از C++ طراحی شده، چون به هر حال در طراحی C# از زبانهایی مثل C++ و JAVA و Delphi درس گرفته شده و اشتباهات اون زبانها در C# تکرار نشده. به عنوان مثال در C++ به تعداد انگشتان دست، نوع داده String داریم. یا Multiple Inheritance که خیلی دردسر سازه، یا مثلا در JAVA ، enum و Operator Overloading و Pointer و Property ها که همگی جزو ضروریات محسوب میشن، وجود ندارن.
البته کسانی که میخوان کار سنگین یا سطح پایین در دات نت NET انجام بدهند ، معمولا همه قسمتهایی رو که امکانش هست با زبان C# می نویسن و بقیه رو با زبان C++
در C# از کلاسهای نوشته شده در C++ استفاده می کنن (WrapperClasses)
در کل زبان برنامه نویسی سی شارپ C# ، سطح بالاتر (High Level) از C++ است.
در زبان برنامه نویسی C++ حتی میتونید مستقیما از کد اسمبلی استفاده کنید.
در ضمن C# اولین زبان Component Oriented در خانواده C محسوب میشود.
بصورت خلاصه می توان گفت:
بزرگترین شباهت این دو زبان سی پلاس پلاس و سی شارپ دات نت اینه که هر دو جزو خانواده زبان C هستند.
و بزرگترین تفاوت اینکه: زبان سی شارپ C# یک زبان type-safe هست (بر خلاف C++ ) و فقط میشه باهاش برنامه های تحت دات نت .NET نوشت.
معرفی زبان های برنامه نویسی دیگر
مزایای ویژه دانشجویان آموزشگاه کامپیوتر پایا
- ارائه ضمانت رضایت مشتری از خدمات آموزشی، توسط مدیریت آموزشگاه کامپیوتر پایا
- ارائه خدمات آموزشی رایگان پس از اتمام دوره با اهدای کارت گارانتی آموزشی آموزشگاه کامپیوتر پایا
- ارائه کارت تخفیف ویژه آموزش آموزشگاه کامپیوتر پایا، قابل انتقال به غیر
- ارائه تخفیفات متنوع شهریه توسط واحد ثبت نام آموزشگاه کامپیوتر پایا
- ارائه پذیرایی رایگان در طول دوره آموزشی
- ارائه کارنامه در طول دوره، ارائه گواهینامه پایان دوره، اهدای جوایز و لوح تقدیر
- اهدای وسایل و ملزومات آموزشی و کمک آموزشی به دانشجویان آموزشگاه کامپیوتر پایا بصورت رایگان
- مجهز به امکانات و سیستمهای کمک آموزشی Smart TV, Free Internet Wi-FI, Data Projector ,Laptop و..
- امکان ارائه دوره بازآموزی رایگان یا Retraining به دانشجویان آموزشگاه کامپیوتر پایا
- امکان کارآموزی و کارورزی رایگان دوره های عملی و کاربردی در محیط آموزشگاه کامپیوتر پایا و معرفی به سازمانها
- و ...
C++ Programming Training Syllabus :
• Intro to C++
• If statements in C++
• Loops in C++
• Functions in C++
• Switch case in C++
• Pointers in C++
• Structures in C++
• Arrays in C++
• Strings in C++
• File I/O in C++
• Typecasting in C++
• Classes in C++
• Inline functions in C++
• Command line arguments in C++
• Linked Lists in C++
• Recursion in C++
• Variable argument lists
• Binary Trees in C++
• Inheritance in C++
• Inheritance continued in C++
• Initialization Lists and Inheritance in C++
• C++ Class Design
• Enumerated types in C++
• Formatted Output in C++ using iomanip
• Generating random Numbers in C++
• Using Modulus in C++
• Templates in C++
• Templated functions in C++
• Template specialization and partial specialization in C++
• Understanding the C Preprocessor, Constants, Macros, and other Tricks
آموزشگاه سی پلاس پلاس|آموزشگاه c++|آموزشگاه ++c| آموزشگاه برنامه نویسی|آموزشگاه زبان برنامه نویسی سی|آموزش برنامه نویسی c++|دوره آموزش سی پلاس پلاس|آموزش c++|آموزش زبان سی|آموزش سی پلاس|آموزش سی ++|ثبت نام آموزش برنامه نویسی سی پلاس C++|فرق زبان سی شارپ #C با ++C چیست|کلاس آموزش برنامه نویسی c++|آموزشگاه c++ در تهران|کاربردهای زبان سی پلاس|کاربرد c++|تفاوت زبان برنامه نویسی C با ++C چیست؟|معرفی زبان های برنامه نویسی|بهترین آموزشگاه برنامه نویسی در تهران| C ++ التدريب البرمجة|C++ Programming training|C++ Programming tutorial|C++ Programming iran|C++ Programming institute|C++ Programming courses|Learn C++ Programming|C++ Programming training center|C ++ Обучение программированию|C ++編程培訓|सी ++ प्रोग्रामिंग प्रशिक्षण