سی پلاس پلاس

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

در این صفحه می خوانید :

زبان C

زبان C برای ایجاد برنامه های کاربردی سیستم که به طور مستقیم با دستگاه های سخت افزاری مانند درایورها، Kernelهاو غیره ارتباط برقرار می کند، توسعه داده شده است. برنامه نویسی C به عنوان پایه برای دیگر زبان های برنامه نویسی در نظر گرفته شده است، به همین دلیل است که به عنوان زبان مادر شناخته می شود. زبان برنامه نویسی C کامل و جامع، ساخت یافته، دستوری و روندگرا است که به هیچ سخت افزار یا سیستم عامل خاصی وابستگی ندارد.

C را می توان با روش های زیر تعریف کرد:

زبان مادری Mother language :زبان C به عنوان زبان مادری همه زبان های برنامه نویسی مدرن در نظر گرفته شده است، زیرا اکثر کامپایلرها، JVM ها، Kernelها و غیره با زبان C نوشته شده است و بیشتر زبان های برنامه نویسی از syntax  آن پیروی می کنند مانند: ++C، Java، C # ، و غیره. زبان C مفاهیم اصلی مانند آرایه، رشته ها، توابع، مدیریت فایل ها و غیره را فراهم می کند که در بسیاری از زبان ها مانند ++C، Java، C # و غیره استفاده می شود.

زبان برنامه نویسی سیستم  System programming language :یک زبان برنامه نویسی سیستم، برای ایجاد نرم افزار سیستمی استفاده می شود. زبان C یک زبان برنامه نویسی سیستم است زیرا می توان آن را برای برنامه نویسی سطح پایین (مثلا درایورها و کرنل ها) استفاده کرد. به طور کلی برای ایجاد دستگاه های سخت افزاری، سیستم عامل، درایور، کرنل و غیره استفاده می شود. به عنوان مثال، هسته لینوکس در C نوشته شده است. C را نمی توان مثل Java ، .Net، PHP و غیره برای برنامه نویسی وب استفاده کرد.

زبان برنامه نویسی روش گرا Procedure-oriented programming language : یک رویه به عنوان یک تابع، روش، روال، زیرروال و غیره شناخته می شود. یک زبان رویه ای یک سری از مراحل را برای حل مشکل مشخص می کند و برنامه را به توابع، ساختارهای داده و غیره تقسیم می کند. C زبان رویه ای است. در C متغیرها و توابع نمونه قبل از استفاده باید اعلام شوند.

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

زبان برنامه نویسی سطح متوسط Mid-level programming language :زبان سی به عنوان یک زبان سطح متوسط در نظر گرفته می شود زیرا از ویژگی های زبان های سطح پایین و سطح بالا پشتیبانی می کند. برنامه زبان C به کد اسمبلی تبدیل می شود، C از pointer arithmetic (سطح پایین) پشتیبانی می کند، اما مستقل از دستگاه است (ویژگی سطح بالا).

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

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

زبان سی پلاس پلاس ++C

++C یک زبان برنامه نویسی شی گرا و یک توسعه از زبان C است. ++C یک زبان همه منظوره، حساس به حروف، با نوشتار آزاد است که از برنامه نویسی شی گرا، رویه ای و عمومی پشتیبانی می کند. C + + یک زبان سطح متوسط است، زیرا هر کدام از ویژگی های زبان سطح بالا و پایین را پوشش می دهد.

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

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

ویژگی های زبان سی پلاس پلاس (++C)

  • ساده :++C یک زبان ساده است به این معنی که رویکرد ساختاری (برای شکستن مشکل به قطعات)، مجموعه غنی از توابع کتابخانه، انواع داده و غیره فراهم می کند.
  • مستقل از ماشین یا قابل حمل : بر خلاف زبان اسمبلی، برنامه های C را می توان در بسیاری از ماشین ها با کمی یا بدون تغییر اجرا کرد. اما مستقل از پلت فرم نیست.
  • زبان برنامه نویسی سطح متوسط : سی پلاس پلاس نیز برای انجام برنامه نویسی سطح پایین استفاده می شود. این زبان برای توسعه برنامه های کاربردی سیستم مانند کرنل، درایور و غیره استفاده می شود. همچنین از ویژگی زبان سطح بالا پشتیبانی می کند. به همین دلیل است که به عنوان زبان میان رده شناخته می شود.
  • زبان برنامه نویسی ساختاری: ++C یک زبان برنامه نویسی structured است به این معنا که ما می توانیم با استفاده از توابع برنامه را به قطعاتی بشکنیم تا آسانتر درک شود.
  • کتابخانه غنی Rich Library : سی پلاس پلاس بسیاری از توابع داخلی را ایجاد می کند که باعث توسعه سریع می شود.
  • مدیریت حافظه : سی پلاس پلاس از ویژگی تخصیص حافظه پویا پشتیبانی می کند. در زبان ++C، می توانیم حافظه اختصاص داده شده را در هر زمان با فراخوانی تابع free آزاد کنیم.
  • سرعت : زمان کامپایل و اجرای زبان ++C سریع است.
  • اشاره گرها :در C + +می توان با استفاده از اشاره گرها به طور مستقیم با حافظه ارتباط برقرار کرد و همچنین می توان اشاره گرها را برای حافظه، ساختارها، توابع، آرایه ها و غیره استفاده نمود.
  • توابع بازگشتی : در ++C، می توان تابع را درون خودش صدا زد این قابلیت استفاده مجدد را برای هر تابع فراهم می کند.
  • قابلیت گسترش :زبان ++C قابل گسترش است زیرا می تواند به راحتی ویژگی های جدیدی را به کار گیرد.
  • شیء گرا :سی پلاس پلاس زبان برنامه نویسی شی گرا OOP است که توسعه و تعمیر و نگهداری را آسان تر می کنند، در حالی که در زبان برنامه نویسی Procedure-oriented، اگر کد رشد کند، مدیریت آن سخت می شود.
  • مبتنی بر کامپایلر : ++C یک زبان برنامه نویسی مبتنی بر کامپایلر است، یعنی بدون کامپایل هیچ برنامه ++C را نمی توان اجرا کرد. ابتدا باید برنامه خود را با استفاده از کامپایلر ،کامپایل و سپس اجرا کرد.

برنامه نویسی شی گرا (OOPs):

  زبان++C برنامه نویسی شی گرا را پشتیبانی می کند، چهار ستون اصلی برنامه نویسی شی گرا در ++C عبارتند از:

  • وراثت
  • چند ریختی
  • کپسوله سازی
  • انتزاع

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

برنامه نویسی استاندارد ++C به سه بخش مهم تقسیم می شود:

  • کتابخانه هسته (Core library) شامل انواع داده ها، متغیرها و ادبیات و غیره می باشد.
  • کتابخانه استاندارد (Standard library) شامل مجموعه ای از توابع دستکاری رشته ها، فایل ها و غیره می باشد.
  • کتابخانه استاندارد قالب (Standard Template Library) STL شامل مجموعه ای از روش های دستکاری ساختار داده می باشد.

استفاده از سی پلاس پلاس :

با کمک زبان برنامه نویسی ++ C، می توانیم انواع مختلفی از برنامه های امن و قوی را توسعه دهیم:

  • Window application
  • Client-Server application
  • Device drivers
  • Embedded firmware

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

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

اولین برنامه به زبان ++C :

برای نوشتن اولین برنامه ++C، کنسول ++C را باز کرده و کد زیر را بنویسید:

#include <iostream.h>  
#include<conio.h>  
void main () {  
   clrscr();  
   cout << "Welcome to ++C Programming.";   
   getch();  
}  

  #include <iostream.h>

 شامل توابع کتابخانه استاندارد ورودی و خروجی است و متدهای cin و cout را برای خواندن از ورودی و نوشتن در خروجی به ترتیب فراهم می کند.

#include <conio.h>

 شامل توابع کتابخانه ورودی و خروجی کنسول است. تابع getch در فایل conio.h تعریف شده است.

void main ()

تابع main نقطه ورودی هر برنامه در زبان ++C است. کلمه کلیدی void مشخص می کند که هیچ مقدار بازگشت نمی دهد و خروجی ندارد.

cout << 'Welcome to ++C Programming'

دستور cout برای ارسال یک عبارت یا متغییر به خروجی کنسول استفاده می شود. در اینجا عبارت Welcome to ++C Programming در خروجی چاپ می شود.

getch ()

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

نحوه کامپایل و اجرای برنامه ++C

دو راه برای کامپایل و اجرای برنامه ++C وجود دارد : از طریق منوی compile و میانبر ctrl+f9.

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

  • QT
  • wxWidgets
آیا این نوشته را دوست داشتید؟