در خدمت شما سروران عزیز هستیم با معرفی زبان برنامه نویسی سی و سی پلاس پلاس از وب سایت آموزش برنامه نویسی سورس باران. شاید برای کاربران جای سوال باشد چرا اینقدر مبتدی؟ طی صحبت هایی که با برخی کاربران داشتیم ظاهرا تعداد زیادی از این عزیزان کاملا مبتدی و در برنامه نویسی صفر کیلومتر هستند با صدها سوال مانده در ذهن. به همین خاطر تصمیم گرفتیم طی چند مطلب از وب سایت سورس باران به معرفی زبان های برنامه نویسی پر کاربرد بپردازیم. لطفا با ما همراه باشید…
زبان برنامه نویسی سي (C) چيست؟
سي C به گونه ای است که تطبیق نرم افزار از یک نوع کامپیوتر به نوع دیگر را آسان می کند. امروزه برنامه ریزی ریزکنترل ها و انواع سیپییوها و همچنین تولید سیستم عامل های جدید و نرم افزارهای کاربردی از طریق زبان C صورت می گیرد.
تاریخچه زبان برنامه نویسی سي (C)
زبان C در سال 1972 توسط دنیس ریچی در آزمایشگاه های Bell ساخته شد (بعدها این آزمایشگاه ها به AT&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
- تاثير گذارترين زبان برنامه نويسي در دنیای كامپيوتر است.
- یک زبان برنامه نویسی سطح میانی است.
- یک زبان ساخت یافته و قابل حمل است.
- دارای سرعت، قدرت و انعطاف پذیری بالایی است و هیچ محدودیتی را برای برنامه نویس به وجود نمی آورد.
- زبان برنامه نویسی سیستم است.
- زبان کوچکی است و تعداد کلمات کلیدی آن انگشت شمار است.
- نسبت به حروف حساس است و تمام کلمات کلیدی این زبان با حروف کوچک نوشته میشوند.
- در محیطهای توسعه دهنده مجتمع (Integrated Development Envoirements) صورت میگیرد.
C ، یک زبان نسبتاً سطح پایین بهشمار میآید، این یک توصیف تحقیرآمیز نبوده، و صرفاً به این معنی است که C با همین نوع از اشیائی سروکار دارد که بیشتر کامپیوترها با آن سروکار دارند، نظیر کارکترها، اعداد و آدرسها. این اشیا را میتوان با هم ترکیب کرد و میتوان روی آنها همان عملیات محاسباتی و منطقی را انجام داد که توسط یک کامپیوتر حقیقی پیاده سازی کرد. همچنین سیستمعامل سیمبیان (symbian) با زبان C نوشته شده و بهمین دلیل این زبان بهعنوان زبان اولیه برای برنامه نویسی در آن انتخاب شدهاست.
شاید برایتان جذاب باشید: دانلود رایگان کاملترین آموزش تصویری ++C از مهندس جمالی
زبان برنامه نویسی سی بیشترین امکان دسترسی به APIهای سیستمعامل سیمبیان را فراهم میکند و بهترین کارکرد در حافظه و سرعت اجرا را داراست. برای مثال این زبان قدرتمند را میتوان در زمینههای زیر بکار گرفت :
- برنامههایی که مانند سرور عمل میکنند. برای نمونه برنامههایی که در پشت صحنه کار میکنند و یکی از بخشهای سیستم- به عنوان مثال درگاههای COM – را مدیریت میکنند.
- PLUG inها که محیطی را بر پایه سیستمعامل ایجاد میکنند. بطور مثال برنامهای که فایلهای html را به فایلهای word سیمبیان تبدیل میکند از کتابخانه مبدل سیستمعامل استفاده میکند.
- درایورهای دستگاه که با Kernel کار متعامل میکنند و…
استفاده از زبان C در سیستم عامل سیمبیان بر روی مناسب بودن کارکرد گوشیها متمرکز شدهاست، که بدین معناست که چند تا از عملگرهای استاندارد زبان C مانند مدیریت استثناها قابل استفاده در برنامه نویسی سیمبیان نیستند.
تابع در برنامه نویسی سی
برنامه ای است که برای حل بخشی از مسئله نوشته می شود. با استفاده از توابع می توان برنامه های ساخت یافته نوشت که وظایف این نوع برنامه ها توسط بخش های مستقلی که تشکیل دهنده برنامه اند انجام می شود. این بخش های مستقل همان توابع هستند.
امتیازهای برنامه نویسی ساخت یافته عبارتند از :
- نوشتن برنامه های ساخت یافته آسان است، زیرا برنامه های پیچیده به بخش های کوچک تری تقسیم می شوند و هر بخش توسط تابعی نوشته می شود. دستورالعمل ها و داده های موجود در تابع، مستقل از سایر بخش های برنامه است.
- همکاری بین افراد را فراهم می کند.به طوری که افراد می توانند بخش های مختلفی از برنامه را بنویسند.
- اشکال زدایی برنامه های ساخت یافته ساده تر است.اگر برنامه اشکالی داشته باشد، بررسی تابعی که این اشکال در آن به وجود آمده ساده است.
- برنامه نویسی ساخت یافته موجب صرفه جویی در وقت می شود.
توابع کتابخانه ای
C دارای توابعی است که از قبل نوشته شده اند، و توابع کتابخانه ای نامیده می شوند .در واقع فرایند هایی که پر کاربرد هستند و در اغلب برنامه ها مورد استفاده قرار می گیرند به صورت توابع مستقل قبلاً نوشته شده اند.
نوشتن توابع
- برای نوشتن تابع باید اهداف مشخص باشد.
- هر تابع سه بخش دارد:فراخوانی، الگوی تابع، تعریف تابع
- تعریف تابع مجموعه ای از دستورهاست که عملکرد تابع را مشخص می کند.
- فراخوانی تابع دستوری است که تابع را فراخوانی می کند که با نام تابع انجام می شود.
- <نوع تابع=””> – “نوع تابع” یکی از چیزهایی است که توسط کاربر تعریف می شود.
نکات مهم در استفاده از توابع
- الگوی تمام توابع را قبل از تابع ()main اعلان کنید.(البته می توانید در خود تابع ()main نیز اعلان کنید.)
- نوع توابع را تعیین نمایید.
- برای اجرای توابع آنها را با نامشان فراخوانی کنید.
- متغیرهای مورد نیاز توابع را در داخل توابع تعریف کنید.
- تعریف تابع در داخل تابع دیگر امکان پذیر نیست.
- هنگام فراخوانی تابع دقت داشته باشید که تعداد و نوع پارامترها وآرگومان ها یکسان باشد.
- توابع از نظر تعداد مقادیری که می توانند به تابع فراخوان برگردانند به سه دسته تقسیم می شوند 1.توابعی که هیچ مقداری برنمی گردانند 2.توابعی که یک مقدار برمی گردانند3.توابعی که چندین مقدار برمی گردانند.
- هنگام اعلان الگوی توابع، نیاز به ذکر اسامی پارامترها نیست و ذکر نوع آن ها کفایت می کند.
- اگر تابعی فاقد آرگومان است به جای لیست آرگومان ها کلمه void قرار دهید.
نکاتی درباره نوشتن توابع
- ابتدا بدون پرداختن به جزئیات پیاده سازی توابع، آرگومان ها و نتیجه ای که از توابع انتظار دارید، مشخص کرده و برنامه اصلی را بنویسید.
- توابع را طوری طراحی وپیاده سازی کنید که هر تابع فقط به آنچه که نیاز دارد دسترسی داشته باشد و بقیه قسمت های برنامه و سایر اطلاعات توسط توابع غیر مرتبط قابل دستیابی نباشد.
- برای ارتباط بین توابع از آرگومان ها و پارامترها استفاده کنید.
شاید برایتان جذاب باشد!!! دانلود فیلم آموزشی بسیار مفید و کاربردی ++C مهندس بازرگان
مثال هايي از برنامه نويسي به زبان سي
- تابعی بنویسید که درجه فارنهایت را به سانتیگراد تبدیل کند؟
- تابعی بنویسید که مقدار صحیح و غیر منفی 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فعال و قابل استفاده اند
حوزه دسترسی به متغیر
محدوده ای که هر متغیر در آن قابل دسترسی است حوزه دسترسی نامیده می شود. متغیرهایی که به صورت محلی در ابتدای تابع معرفی شده اند دارای حوزه دسترسی تابع هستند. متغیرهایی که در یک بلوک به طور محلی تعریف شده اند دارای حوزه دسترسی بلوک هستند . متغیرهایی که خارج از توابع معرفی شده اند دارای حوزه دسترسی فایل می باشند.
کلاس های حافظه دارای چهار نوع اتوماتیک، ثبات، خارجی، ایستا هستند که به ترتیب توسط کلمات auto ،، register ، extern و static مشخص می شوند.
شاید برایتان جذاب باشد!!! دانلود بهترین کتاب آموزشی برنامه نویسی ++C بدون ترس
انواع متغیرها و داده ها در 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 به همراه جد خود C از پرطرفدارترین زبانهای برنامه نویسی تجاری هستند.
زبان ++c یک زبان سطح میانی در نظر گرفته میشود. این زبان دارای قابلیت زبانهای سطح بالا و پایین بهصورت همزمان است. زبان ++C توسط بییارنه استراستروپ دانمارکی در سال ۱۹۷۹ درآزمایشگاههای بل (Bell Labs)، برای بهبود زبان سی و بر مبنای آن ساخته شد و آن را “C با کلاس” (C With Classes) نامگذاری نمودند. در سال ۱۹۸۳ به ++c تغییر نام داد. توسعه با اضافه نمودن کلاسها و ویژگیهای دیگری مانند توابع مجازی، سربارگزاری عملگرها، وراثت چندگانه، قالب توابع، و پردازش استثنا انجام شد. این زبان برنامهنویسی در سال ۱۹۹۸ تحت نام ISO/IEC ۱۴۸۸۲:۱۹۹۸ استاندارد شد. نسخه فعلی استاندارد این زبان ISO/IEC ۱۴۸۸۲:۲۰۰۳ است. نسخه جدیدی از استاندارد (که به صورت غیررسمی C++۰x نامیده میشود) در دست تهیه است.
توسعه آینده زبان برنامه نویسی سی پلاس پلاس (++C)
++C همچنان در حال تکامل است تا نیازهای آینده را پاسخگو باشد. نسخه جدید استاندارد ++C در حال بررسی است و تحت عنوان C++۰x است که انتظار میرود در سال ۲۰۱۰ منتشر گردد. تغییرات کنونی نشان میدهد که همچنان به صورت چندمدلی ++C تاکید میگردد. توسعههای مهم پشتیبانی از چندرشتهای و مفاهیمی برای راحت نمودن کار با قالبهاست. اضافه نمودن ویژگی جمعآوری زباله به آن به شدت مورد بحث است. Boost.org گروهی برای بیشترین استفاده از ویژگیهای فعلی ++C میباشد. آنها ویژگیهای تابعی و فرا برنامه نویسی آن را گسترش میدهند و در مورد ++C به کمیته استاندارد نصیحتهایی نمودهاست که کدام ویژگیها خوب عمل نمیکنند و کدامها نیاز به توسعه دارند.
کتابخانه استاندارد زبان برنامه نویسی ++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 با توجه به اهداف خود بوجود میآورند.
ویژگیهای معرفی شده زبان برنامه نویسی سی پلاس پلاس
در مقایسه با 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)
پرل (Perl)
تاثير گذاشته است.
تفاوت زبان برنامه نویسی سي و سی پلاس پلاس
زبان C زبان برنامه نویسی Structured (ساخت یافته) است اما ++C زبان برنامه نویسی Object Oriented ( شی ء گرا ) می باشد.
از لحاظ دستوری فرق زیادی با هم ندارند، اماتفاوت عمده این است که ++C از شی گرایی پشتیبانی می کند که سی C این قابلیت رو ندارد…
امروزه دیگر بدون شی گرایی اصلا نمي توان نرم افزار های بزرگ نوشت.
اکثر زبان های برنامه نویسی رایج و قوی الان شیگرا هستند.
تفاوت زبان برنامه نویسی سي شارپ و سی پلاس پلاس
- با C# فقط برنامه های تحت .NET میشه نوشت (در واقع C# برای .NET درست شده) ، اما با C++ هم برنامه های تحت .داتNET و هم برنامه های native میشه نوشت.
- هنوز برای کارهای سطح پایین (مثل Device Driver) و سنگین (مثل بازی های سه بعدی) C++ انتخاب اول و آخر محسوب میشه
- C# خیلی راحتتر ، تمیزتر و خوش ساخت تر از C++ طراحی شده و از نظر شی گرایی هم پشتیبانی بهتری داره نسبت به C++ . C# کاملا شی گراست و اصلا نمیتونید برنامۀ غیر شی گرا در اون بنویسید ، در صورتی که با C++ میتونین هم شی گرا و هم غیر شی گرا ، برنامه بنویسید.
حتما بخوانید!!! دانلود بهترین جزوه، و کتاب های برنامه نویسی سی و سی پلاس پلاس به زبان فارسی
از ویژگی های C# :
- مدیریت خودکار حافظه توسط CLR
- پشتیبانی از یک نوع String داخلی
- پشتیبانی از foreach
- پشتیبانی کامل از delegate و event و interface و Property و attribute ها
- XML Documentation
- checked / unchecked keywords
در سی شارپ برای انجام تمام کارها از کلاس های .NET استفاده میشه، در ضمن در C# چیزی به نام فایلهای Header و #include و از این حرفا نداریم. در واقع C# خیلی زیباتر از C++ طراحی شده، چون به هر حال در طراحی C# از زبانهایی مثل C++ و JAVA و Delphi درس گرفته شده و اشتباهات اون زبانها در C# تکرار نشده.
البته کسانی که میخوان کار سنگین یا سطح پایین در داتNET انجام بدهند ، معمولا همه قسمتهایی رو که امکانش هست با C# می نویسن و بقیه رو با C++ کد می زنند.
- در C# از کلاسهای نوشته شده در C++ استفاده می کنن (WrapperClasses )
- در کل C# ، سطح بالاتر (High Level ) از C++ است
- در سی پلاس پلاس حتی میتونید مستقیما از کد اسمبلی استفاده کنید.
- در ضمن C# اولین زبان Component Oriented در خانواده C محسوب میشود.
بصورت خلاصه مي توان گفت :
- بزرگترین شباهت این دو زبان اینه که هر دو جزو خانواده C هستند.
- و بزرگترین تفاوت اینکه: C# یک زبان type-safe هست (بر خلاف C++ ) و فقط باهاش میشه برنامه های تحت .NET نوشت.
برای تازه شدن دیر نیست
موفق و پیروز باشید
راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام سورس باران عضو شوید.
- منبع : سورس باران
- رمز فايل : www.sourcebaran.com
- انتشار: ۱۷ خرداد ۱۳۹۷
دسته بندی موضوعات
- آموزش ارز دیجیتال
- آموزش برنامه نویسی
- آموزش متنی برنامه نویسی
- اطلاعیه و سایر مطالب
- پروژه برنامه نویسی
- رپورتاژ
- فروشگاه
- فیلم های آموزشی
- ++C
- ADO.NET
- Adobe Flash
- Ajax
- AngularJS
- apache
- ARM
- Asp.Net
- ASP.NET MVC
- AVR
- Bootstrap
- CCNA
- CCNP
- CMD
- CSS
- Dreameaver
- EntityFramework
- Go
- HTML
- IOS
- jquery
- Linq
- Mysql
- Oracle
- PHP
- PHPMyAdmin
- Rational Rose
- silver light
- SQL Server
- Stimulsoft Reports
- Telerik
- UML
- VB.NET&VB6
- WPF
- Xml
- آموزش های پروژه محور
- اتوکد
- الگوریتم تقریبی
- امنیت
- اندروید
- اندروید استودیو
- بک ترک
- بیسیک فور اندروید
- پایتون
- جاوا
- جاوا اسکریپت
- جوملا
- دلفی
- دوره های رایگان پیشنهادی
- زامارین
- سئو
- ساخت CMS
- سی شارپ
- شبکه و مجازی سازی
- طراحی الگوریتم
- طراحی بازی
- طراحی وب
- فتوشاپ
- فریم ورک codeigniter
- فلاتر
- کانستراکت
- کریستال ریپورت
- لاراول
- معماری کامپیوتر
- مهندسی اینترنت
- هوش مصنوعی
- یونیتی
- کتاب های آموزشی
- Android
- ASP.NET
- AVR
- LINQ
- php
- Workflow
- اچ تی ام ال
- بانک اطلاعاتی
- برنامه نویسی سوکت
- برنامه نویسی موبایل
- پاسکال
- پایان نامه
- پایتون
- جاوا
- جاوا اسکریپت
- جی کوئری
- داده کاوی
- دلفی
- رباتیک
- سئو
- سایر کتاب ها
- سخت افزار
- سی اس اس
- سی پلاس پلاس
- سی شارپ
- طراحی الگوریتم
- فتوشاپ
- مقاله
- مهندسی نرم افزار
- هک و امنیت
- هوش مصنوعی
- ویژوال بیسیک
- نرم افزار و ابزار برنامه نویسی
- وردپرس