C مقابل C ++: الاختلافات والتشابهات

C هو الأساس لـ C ++. بينما يتم استخدام C ++ على نطاق واسع لتطبيقات وألعاب سطح المكتب ، إلا أنه يعد خيارًا ممتازًا للبدء بـ C ، خاصة إذا كنت جديدًا في عالم البرامج. تابع القراءة لمعرفة السبب.

ما هو سي؟

لغة C هي لغة برمجة هيكلية عالية المستوى. البرامج المكتوبة بلغة C محمولة. لا تزال لغة C واحدة من أفضل لغات البرمجة اليوم لأنها قوية. يتم استخدامه للبرامج المعقدة مثل الأنظمة المضمنة ، وبرامج التشغيل ، والنواة ، وتطبيقات النظام ، وأنظمة التشغيل مثل Microsoft Windows ، و Apple OS X ، وقواعد البيانات مثل MySQL ، وبعض تطبيقات إنترنت الأشياء.

لغة C هي لغة مترجمة ، مما يوفر طبقة من التجريد بين كود الآلة والبرنامج.

سيبدو برنامج C البسيط لإضافة رقمين هكذا.

#include<stdio.h>
int main()
{
int a, b, sum;
printf("Enter two numbers to add: ");
scanf("%d%d", &a, &b);
sum = a + b;
printf("nSum of %d and %d is %d", a, b, sum);
return 0;
}

هنا هو الإخراج:

إخراج مثال برنامج C

تتضمن برامج C stdio.h – إخراج الإدخال القياسي.

يوفر STDIO وظائف الإدخال والإخراج الأساسية مثل printf و scanf. يتم استخدام printf لطباعة شيء ما (رسالة ، إخراج) على وحدة التحكم ، بينما يتم استخدام scanf لأخذ المدخلات من وحدة التحكم. نستخدم٪ d للإشارة إلى أن الأرقام أعداد صحيحة.

إذا أعطيت كسورا عشرية ، فستحصل على بعض الإجابات الغريبة. لتجنب ذلك ، يمكنك استخدام٪ f. الدالة main () هي الوظيفة الأولى التي يتم تنفيذها عند تشغيل البرنامج. التركيب اللغوي بسيط للغاية – أعلن عن أنواع المتغيرات ثم استخدمها.

ما هو C ++؟

يعتمد C ++ على مبادئ البرمجة الموجهة للكائنات مثل التجريد وتعدد الأشكال والوراثة والتغليف. يمكنك التفكير في C ++ على أنه امتداد لـ C مع مفهوم الفئات والكائنات.

أعطى وجود كائنات لتخزين البيانات هيكلًا أنيقًا للبرامج. على سبيل المثال ، إذا كنت تريد تخزين تفاصيل أحد الطلاب ، فيمكنك إنشاء فصل دراسي للطلاب وإنشاء سمات مثل الاسم والعمر والهوايات والعلامات وما إلى ذلك ، ضمن الفصل الدراسي. يمكنك إنشاء كائن طالب حقيقي كلما لزم الأمر!

class Student {
public: 
char name[20];
int age;
float marks;
};

//This will create an object
Student student1 = new Student();

في الواقع ، سيتم إنشاء الكائن وتخصيص الذاكرة فقط أثناء وقت التشغيل.

  كيفية عمل نسخة احتياطية من بيانات PS4 واستعادتها

يوفر C ++ أداءً عاليًا ، وهذا هو السبب في أنه الخيار الأكثر شيوعًا حتى اليوم لتطوير محركات الألعاب عالية الأداء والأنظمة المضمنة والمتصفحات والمجمعات والتطبيقات القائمة على الرسومات مثل معالجة الصور.

تمت كتابة عدد قليل من قواعد البيانات مثل MongoDB بلغة ++ C. تمامًا مثل C ، فإن C ++ محمولة.

دعنا نكتب برنامج الإضافة السابق في C ++ – لاحظ الوظائف المختلفة.

#include <iostream>
using namespace std;
int main() {
int a, b;
cout << "Enter the numbers: "; 
cin >> a >> b;
int sum = a + b;
cout << a << " + " << b << " = " << sum;
return 0;
}

لاحظ أننا نستخدم cout و cin بدلاً من printf و scanf. أيضًا ، يمكن إجراء تعريفات النوع في أي مكان في البرنامج قبل استخدام المتغير (على سبيل المثال ، المجموع المتغير). بيان الطباعة بسيط للغاية مع أسماء المتغيرات فقط. لاحظ أننا نستخدم مساحة الاسم std من رأس iostream. يحتوي std على طرق مثل cout و in وغيرها الكثير.

أوجه التشابه بين C و C ++

يمكنك القول أن C هي مجموعة فرعية من C ++. هناك العديد من أوجه التشابه بين C و C ++ ، سواء كان ذلك في طريقة كتابة البرامج أو التطبيقات التي يتم استخدامها من أجلها. كلاهما قوي ومحمول وعالي الأداء. بعض أوجه التشابه المهمة هي:

Sno.FeatureExplanation1.Syntax كلاهما لهما نفس الصيغة ، على سبيل المثال ، التصريح المتغير ، ونهاية السطر الفاصلة المنقوطة ، واصطلاحات التسمية ، وما إلى ذلك. 2 الهيكلية والإجرائية يتم تنفيذ كل سطر من التعليمات البرمجية واحدًا تلو الآخر. يتم تنظيم البرامج على النحو التالي – أولاً عمليات الاستيراد ، ثم التصريحات المتغيرة ، ثم الكود الرئيسي. 3. الوظيفة الرئيسية () يجب أن يكون كل الكود المطلوب تنفيذه داخل الدالة main (). main () هي أول استدعاء للدالة أثناء تنفيذ البرنامج. 4. تستخدم PointersB كل من C و C ++ المؤشرات بنفس الطريقة. المؤشر هو متغير يخزن عنوان الذاكرة لمتغير آخر. على سبيل المثال ، int a = 1 ؛. بمجرد تنفيذ هذا الرمز ، سيتم تخصيص ذاكرة (على سبيل المثال ، XX0011) لملف. يمكن الوصول إلى موقع ذاكرة ‘a’ باستخدام علامة العطف (&) كـ int ptr_a = & a ؛ 5.كلمات رئيسية وعوامل تشغيل جميع الكلمات الرئيسية والعوامل الموجودة في C صالحة لـ C ++ أيضًا. على سبيل المثال ، النطاق ، ثابت ، عام ، int ، إلخ. يحتوي C ++ على عوامل تشغيل وكلمات رئيسية إضافية أيضًا.

  ما هي مساحات Microsoft Outlook's؟ (المعروف أيضًا باسم مشروع موكا)

الاختلافات بين C و C ++

تم إنشاء C ++ للتغلب على بعض أوجه القصور في C وهي مجموعة شاملة من C. لذا ، فإن أي برنامج مكتوب بلغة C سيعمل في C ++ – ولكن ليس العكس! الفرق الرئيسي بين C و C ++ هو أن C ++ تعتمد على مبادئ البرمجة الشيئية (OOP). أيضًا ، هناك تركيز أكبر على التحقق من النوع في C ++. هناك أيضًا بعض الاختلافات الدقيقة كما هو مذكور أدناه:

تم تطوير CC ++ بين عامي 1969-1973 بواسطة Dennis Ritchie في مختبرات AT&T Bell تم تطويره بواسطة Bjarne Stroustrup في عام 1979. لا يتبع مبادئ البرمجة الموجهة للكائنات استنادًا إلى مفاهيم OOPS ، مثل التغليف وتعدد الأشكال والوراثة. ، و switch ، و int ، و static ، و union ، وغيرها جميع الكلمات الرئيسية C صالحة في C ++ ، كما أن هناك 31 كلمة رئيسية إضافية موجودة أيضًا يدعم البرمجة الإجرائية فقط يدعم C ++ نماذج برمجة متعددة ، مثل OOP والبرمجة العامة والوظيفية لا يمكننا تنفيذ ميزات OOP في C ميزات مثل الأصدقاء ، تعمل الوظائف الافتراضية في C ++ على تعزيز جوهر OOP.C يدعم أنواع البيانات المضمنة. يدعم C ++ أنواع البيانات المضمنة والمعرفة من قبل المستخدم من خلال مفهوم الفئات هناك توفير للمشغل أو وظيفة التحميل الزائد C ++ يدعم كلا المشغلين والتحميل الزائد للوظيفة (تعدد الأشكال) يتم تخصيص الذاكرة من خلال وظائف malloc () و calloc () ، وإلغاء التخصيص باستخدام () تخصيص الذاكرة مجانًا إنسي باستخدام مشغل جديد ، وإلغاء التخصيص باستخدام حذف عامل C لا يدعم معالجة الاستثناءات يدعم معالجة الاستثناءات يركز على الإجراء أو الطريقة أكثر من البيانات يركز أكثر على البيانات الاختلافات بين C و C ++

بعض الميزات المهمة الأخرى الموجودة فقط في C ++ هي:

  • باستخدام الكلمة الأساسية لمساحة الأسماء ، يمكننا إنشاء متغيرات من نفس الاسم في مساحات أسماء مختلفة.
  • يمكننا استخدام الدوال داخل الهيكل. يمكن أن تحتوي الهياكل أيضًا على مُعدِّلات وصول.
  • يدعم المتغيرات المرجعية.
  هل من السيئ فعلاً فتح 100 علامة تبويب متصفح؟

متى تستخدم C أو C ++

هذا نقاش شائع جدًا بين المبرمجين – لماذا يجب أن أتعلم لغة C بينما يمكنني فعل كل شيء في C ++؟

سيعطيك التعلم C أساسًا متينًا حول هياكل البيانات والمؤشرات والكلمات الرئيسية ومفاهيم المكدس والكوام وتخصيص الذاكرة.

بالإضافة إلى ذلك ، لا تزال لغة C مستخدمة على نطاق واسع للتطبيقات عالية الأداء ، حيث أن مترجم C أسرع من مترجم C ++. لذلك ، إذا كنت ترغب في كتابة أجزاء من التعليمات البرمجية التي لا تتطلب كائنات وفئات أو وظائف افتراضية أو قوالب ، فانتقل إلى C لأن C ++ قد تكون مبالغة في استخدام مكتباتها الواسعة.

لا يزال يتم الاحتفاظ بمعظم الترميز منخفض المستوى مثل النواة وأنظمة التشغيل وقواعد البيانات في C ، لذا فإن معرفة C سيساعدك أيضًا على تعلم C ++ بشكل أسرع.

تعتبر لغة C ++ واحدة من أسرع اللغات وأكثرها كفاءة – وهذا هو السبب في أنها لا تزال واحدة من أفضل لغات البرمجة ، خاصة للتطبيقات عالية الأداء مثل محركات الألعاب وأجهزة إنترنت الأشياء وتطبيقات سطح المكتب. تستخدم العديد من التطبيقات مزيجًا من أكواد C و C ++ – لتحقيق الأداء الأمثل والاستفادة من البرمجة الموجهة للكائنات.

ملخص

في هذه المقالة ، تعلمنا أساسيات C و C ++ من خلال مثال بسيط لبرنامج. ناقشنا الاختلافات الرئيسية وأوجه التشابه بين اللغتين ومتى نستخدم كل منهما.

إذا كنت قد بدأت للتو رحلة تطوير البرامج الخاصة بك ، فسوف يمنحك البدء بـ C تعزيزًا للثقة ، حيث أنه سهل ويغطي جميع مفاهيم البرمجة ، مثل هياكل البيانات ، والمؤشرات ، والذاكرة ، وما إلى ذلك.

قد تكون مهتمًا باستخدام admingate.org مترجم C عبر الإنترنت ومترجم C ++.