آموزش سی و سی پلاس پلاس | C & C++

معرفی زبان های برنامه نویسی  C و ++C

زبان برنامه نویسی سی

زبان برنامه نویسی C کامل و جامع، ساخت یافته، دستوری و روندگرا است که به هیچ سخت افزار یا سیستم عامل خاصی وابستگی ندارد.

تاریخچه زبان سی

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

ویژگی‌های زبان برنامه نویسی سی

  • تاثیر گذارترین زبان برنامه نویسی
  • زبان برنامه نویسی سطح میانی
  • زبان ساخت یافته‌
  • سرعت، قدرت و انعطاف پذیری بالا
  • بدون هیچ محدودیتی برای برنامه نویس
  • دایره کلمات کلیدی کوچک
  • نسبت به حروف حساس
  • دسترسی به API های سیستم‌عامل سیمبیان

متغیر های سی

  • محلی (local)
  • سراسری (global)

انواع متغیرها و داده ها در سی

  • Int: عدد صحیح
  • Float: عدد اعشاری
  • Double: برای استفاده در اعداد اعشاری که نیازمند فضای بیشتر است
  • Char: ذخیرسازی کاراکتر با اشغال 1 بایت فضا
  • long int: داده‌های صحیح که نیازمند فضای بیشتر است
  • short int: داده‌های صحیح بدون نیاز به فضا

زبان برنامه نویسی سی پلاس پلاس

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

  • همه‌منظوره، شیءگرا، سطح بالا و چندرگه
  • دارای قابلیت زبان‌های سطح بالا و پایین به ‌صورت هم‌ زمان
  • دارای قابلیت‌های انواع داده ایستا، نوشتار آزاد، چندمدلی
  • زبان عمومی
  • اعطای امکان انتخاب به برنامه نویس حتی به صورت اشتباهی
  • دارای حداکثر تطابق با C

تاریخچه زبان سی پلاس پلاس

اواخر دهه 70 میلادی کار روی پروژه‌ای به نام سی همراه با کلاس‌ها آغاز شد که در نتیجه آن، در سال 1985 Bjarne Stroustup در آزمایشگاه AT&T زبان سی پلاس پلاس را تولید کرد و در همان سال آن را روانه ی بازار کرد. در سال ۱۹۹۰ راهنمای مرجع ++C نیز منتشر شد. نام سی پلاس پلاس منسوب به ریک ماسکیتی  می باشد. در حین مدت تحقیق، از این زبان بنام C جدید و بعدها C با کلاس یاد می شد.

ویژگی‌های سی پلاس پلاس

  • دارای ویژگی های جدیدتر از C
  • پرکاربرد، سطح میانه، همه منظوره، کامپایلی، وراثت، چندریختی و شیء گرا
  • امکان دستکاری سطح پایین حافظه را فراهم می کند
  • هم‌خوانی ارتباط با زبان سی
  • دارای عملگر افزایش یا Increment
  • قابلیت مدیریت استثنائات
  • امکان توسعه‌ی برنامه های دسکتاپ را فراهم می کند

تفاوت بین سی و سی پلاس پلاس

  • زبان سی، زبان برنامه نویسی ساخت یافته است اما سی پلاس پلاس زبان برنامه نویسی شیءگرا می باشد.
  • سی پلاس پلاس از شی گرایی پشتیبانی می کند اما سی خیر.
  • زبان سی قدیمی تر از زبان سی پلاس پلاس است و امروزه کمتر از آن استفاده می شود.
  • در سی پلاس پلاس استفاده مجدد از Reusable Code میسر می باشد اما در سی این امکان وجود ندارد.
  • در زبان سی قابلیت های Virtual Function، Polymorphism، Operator Overloading وجود نداشت اما در سی پلاس پلاس وجود دارند.
  • انجام مبانی برنامه نویسی در سی از بالا به پایین است اما در سی پلاس پلاس طراحی برنامه از پایین به بالا صورت می پذیرد.
  • اتصال داده ها و توابع در سی امری سخت اما در ++C این فرآیند با استفاده از Object ها به راحتی صورت می گیرد.
  • در سی در هر تابعی می توانستید تابع main را فراخوانی کنید اما در سی پلاس پلاس خیر.
  • ارث بری تنها در سی پلاس پلاس قابل پیاده سازی است.
  • مدیریت خطاها در سی بسیار سخت تر از سی پلاس پلاس است.

فریمورک های سی پلاس پلاس

  • QT
  • wxWidgets
  • آموزش الگوهای طراحی سی پلاس پلاس

آموزش الگوهای طراحی سی پلاس پلاس

سه شنبه ۱۲ تیر ۱۳۹۷ - ساعت ۱۶:۰۰
  • آموزش مبانی ++C – نسخه C++17

آموزش مبانی ++C – نسخه C++17

شنبه ۰۲ تیر ۱۳۹۷ - ساعت ۱۱:۰۰
  • آموزش الگو های طراحی در سی پلاس پلاس

آموزش الگو های طراحی در سی پلاس پلاس

پنج شنبه ۲۴ خرداد ۱۳۹۷ - ساعت ۱۶:۰۰
  • آموزش ویژگی های کاربردی C++14 و C++17

آموزش ویژگی های کاربردی C++14 و C++17

سه شنبه ۲۲ خرداد ۱۳۹۷ - ساعت ۱۶:۰۰
  • استفاده از Catch در تست واحد (Unit Testing) با سی پلاس پلاس 

استفاده از Catch در تست واحد (Unit Testing) با سی پلاس پلاس 

دوشنبه ۳۱ اردیبهشت ۱۳۹۷ - ساعت ۱۰:۰۰
  • آشنایی با کتابخانه های سی پلاس پلاس در یادگیری ماشینی

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

پنج شنبه ۲۰ اردیبهشت ۱۳۹۷ - ساعت ۰۴:۰۰
  • آموزش کامل سی پلاس پلاس در یک ویدئو

آموزش کامل سی پلاس پلاس در یک ویدئو

پنج شنبه ۳۰ فروردین ۱۳۹۷ - ساعت ۰۱:۰۰
  • آموزش Symbols و Source Servers در دات نت و سی پلاس پلاس

آموزش Symbols و Source Servers در دات نت و سی پلاس پلاس

دوشنبه ۲۷ فروردین ۱۳۹۷ - ساعت ۰۸:۰۰
  • آموزش C++ IDE

آموزش C++ IDE

چهارشنبه ۲۲ فروردین ۱۳۹۷ - ساعت ۰۶:۰۰
  • آموزش C++ Standard Template Library

آموزش C++ Standard Template Library

سه شنبه ۲۱ فروردین ۱۳۹۷ - ساعت ۲۲:۰۰
  • آموزش الگوهای طراحی سی پلاس پلاس – خلاقانه

آموزش الگوهای طراحی سی پلاس پلاس – خلاقانه

یکشنبه ۱۹ فروردین ۱۳۹۷ - ساعت ۱۸:۰۰
  • آموزش Constexpr ،Traits و Static Assertions در سی پلاس پلاس

آموزش Constexpr ،Traits و Static Assertions در سی پلاس پلاس

سه شنبه ۰۷ فروردین ۱۳۹۷ - ساعت ۱۳:۰۰
  • آموزش Reverse Engineering

آموزش Reverse Engineering

دوشنبه ۲۸ اسفند ۱۳۹۶ - ساعت ۰۸:۰۰
  • آموزش ایجاد پروژه سی پلاس پلاس و قابلیت اشکال زدایی نیتیو

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

جمعه ۲۵ اسفند ۱۳۹۶ - ساعت ۱۶:۰۰
  • آموزش اشکال زدایی در حین کدنویسی (کد نیتیو)

آموزش اشکال زدایی در حین کدنویسی (کد نیتیو)

چهارشنبه ۲۳ اسفند ۱۳۹۶ - ساعت ۱۱:۰۰
  • آموزش C++ Generics

آموزش C++ Generics

دوشنبه ۱۴ اسفند ۱۳۹۶ - ساعت ۱۸:۰۰
  • آموزش قالب های سی پلاس پلاس

آموزش قالب های سی پلاس پلاس

دوشنبه ۱۴ اسفند ۱۳۹۶ - ساعت ۱۷:۰۰
  • آموزش ++C با ساخت بازی ها توسط Unreal Engine 4 

آموزش ++C با ساخت بازی ها توسط Unreal Engine 4 

پنج شنبه ۰۳ اسفند ۱۳۹۶ - ساعت ۰۴:۰۰
  • آموزش برنامه نویسی بازی با ++C – بخش دوم

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

شنبه ۱۴ بهمن ۱۳۹۶ - ساعت ۱۰:۰۰
  • آموزش برنامه نویسی بازی با ++C – بخش اول

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

شنبه ۱۴ بهمن ۱۳۹۶ - ساعت ۰۹:۰۰
  • برنامه نویسی سی برای میتدیان

برنامه نویسی سی برای میتدیان

جمعه ۱۳ بهمن ۱۳۹۶ - ساعت ۰۶:۰۰