منتديات إتصالات أون لاين
منتديات إتصالات أون لاين
منتديات إتصالات أون لاين
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.



 
الرئيسيةالبوابةأحدث الصورالتسجيلدخول

 

 مقدمة عن لغة ++C:

اذهب الى الأسفل 
2 مشترك
كاتب الموضوعرسالة
El Bamby
@نائب المدير العام@
@نائب المدير العام@
El Bamby


ذكر عدد المشاركات : 1089
العمر : 36
التقييمات : 0
تاريخ التسجيل : 24/08/2007

مقدمة عن لغة ++C: Empty
مُساهمةموضوع: مقدمة عن لغة ++C:   مقدمة عن لغة ++C: I_icon_minitimeالسبت سبتمبر 01, 2007 4:52 pm

مقدمة عن لغة ++C:
كانت أول بداية للغة السي في مختبرات شركة AT&T الأمريكية في عام 1972م وكانت البداية كمشروع تولى الإشراف عليه دينيس ريتشي ( Dennis Ritchie ). وهو يعتبر مخترع لغة السي باستخدام نظام التشغيل Unix. ولغة سي هي في الأصل لغة قديمة يطلق عليها اسم BCPL. و BCPL طورت بواسطة مارتن ريتشارد ( Martin Richards ) في كامبرج عام 1967م والتي بدورها كانت لغة B والتي اخترعت بواسطة كين تومسون.
ولقد أدت لغة Bإلي تطوير لغة السي في السبعينات.
حيث قام دينيس ريتشي ( Dennis Ritchie ) وأخذ من لغة B أحسن تعليماتها ، وغير في كثير من قيودها ، وأضاف إليها تعليمات أخرى عديدة وجعل منها لغة برمجة وسماها لغة C.

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

وفي الوقت نفسه تستخدم لغة C و C++ كلغتين ذات مستوى عالي لقدرتهما على توفير الجمل التحكمية ( Control Statements ) والهياكل البنائية ( Data Structure ) والتي هي من مميزات اللغات ذات المستوى العالي.

ولقد تطورت لغة السي تطورات كبيرة واكتسبت شعبية و إقبالاً ولعل السبب الرئيسي هو شعبية وانتشار نظام التشغيل UINX ، وهو أهم نظام لتشغيل الحاسبات المتطورة. حيث أن هذا النظام كتب بلغة السي وهذا الأمر يعتبر مصدر قوة للغة السي بين سائر اللغات الأخرى.
وتعتبر لغة السي الآن من أشهر اللغات وأكثرها انتشاراً ولكن في الدول المتقدمة ، ولقد بدأ المبرمجون من كافة الاختصاصات يكتبون برامجهم بها ، وعلى سبيل المثال لا الحصر :

ظهر كتاب (برامج المايكرو كمبيوتر للمهندسين الكيميائين ) عام 1987م عن دار ماجرو هيل الأمريكية ،مكتوباً من ألفه إلي يائه بلغة السي ، ومعنى ذلك أنه يفترض أن على جميع المهندسين الكيميائين في أمريكيا يفهمون لغة السي ، ويتعاملون بها. أضف إلي ذلك أن معظم الشركات ، تطلب في إعلاناتها مبرمجين بلغة سي.


كانت معيارية لغة سي لعدة سنوات عبارة عن مصنف Compiler مزود على نظام التشغيل Unix . وبعد انتشار وشيوع الحاسب الشخصي تم إنشاء العديد من المصنفات للغة سي. ومما يجدر ذكره هنا أنه على الرغم من تعدد المصنفات كانت هناك توافقية عالية جداً بين أكثرها (INI) وهو برنامج كتب ليعمل على أحد المصنفات وإنه بلا شك سيعمل مع مصنفات أخرى. ومع ذلك لأنه لم يكن هناك أي معيار أو مقياس Standard معتمد.

وكانت هناك بعض التناقضات بين المصنفات ، ولمعالجة هذه المشكلة أسست لجنة في صيف عام 1983م لإنشاء معيار ANSI:
و هي اختصار American National Standards Institute والتي تعني هيئة القياسات الأمريكية. وكان الدور الأساسي لهذه اللجنة هو تعريف لغة سي مرة واحدة وللأبد.
وأخذت معالجة توحيد القياس للغة سي ما يقارب 6 سنوات وهذا أكثر مما كان متوقع. وفي نهاية عام 1989م ثبت أول معيار للغة سي وسمي ANSI C ، ولغة سي القياسية تسمح بأن يكون الاسم التعريفي مكوناً من إي عدد من الرموز حتى 31 رمز ، وكانت النسخ الأولى من هذا المقياس متوفرة في عام 1990م.

1-معنى لغة السي:
تعتبر لغة السي أحد اللغات ذات المستوى العالي ، وتعد أفضل لغة لكتابة برمجيات النظم التي تتحكم في المكونات المادية للحاسب مباشرة ، ومعظم نظم التشغيل مكتوبة بلغة السي مثل:
1-نظام Windows95/98.
2-نظام التشغيل UNIX.

2- مميزات لغة السي:
1-تعتبر لغة السي لغة سريعة :
وذلك لأنها تتحكم في المكونات المادية للحاسب مباشرة ، ولذلك تعد نسبياً أسرع تنفيذاً من اللغات الأخرى.
2-أنها لغة صالحة لأغراض متعددة ( تجارية - علمية - فنية - أدبية ).
3-للغة السي صورة قياسية معتمدة:
وذلك لأن تطوير لغة السي تم في شركة واحدة ( Bell ).
ونلاحظ أن الفرق بين نمط و آخر من أنماط لغة السي هي فروق بسيطة جداً ، بينما نجد أن الفروق كبيرة وكثيرة بين أشكال وصور لغة مثل لغة البيسك ، لأن كل شركة صانعة لأجهزة الحاسبات تضع تعليمات خاصة ومختلفة للغة ، وتختلف عما تضعه الشركات الأخرى.
4-تعتبر لغة السي لغة غنية بالدوال:
وتوفر لغة السي للمبرمج عدداً كبيراً من دوال الإدخال والإخراج ، والدوال الرياضية والحسابية، وهو الأمر الذي يسهل عملية بناء البرامج بها.

3-عيوب لغة السي:
1-أنها تعتمد على أسلوب المترجم والذي يقوم بترجمة البرنامج بأكمله دفعة واحدة ثم يقوم بعرض قائمة من الأخطاء بعكس لغة البيسك أو الباسكال التي تعتمد على أسلوب المفسر حيث يتم تفسير البرنامج سطر سطر مما يسهل على المستخدم تصحيح الأخطاء بكل سهولة ويسر.
2-هناك أخطاء لا يستطيع مترجم لغة السي أن يكتشفها.

-ملاحظة هامة: ان لغة C++ ليست هي لغة C مع التشابه الكبير لأوامر ودوال اللغتين

4-رموز لغة السي:
يبنى برنامج لغة السي من مجموعة من العناصر الآتية:
أ-حروف أبجدية إنجليزية مثل ( a *b *c *….* z )
ب-الأرقام مثل ( 1 *2 *3 * …. * 9 )
ج-الرموز الخاصة مثل ( + ، - ، ، ! ، % ، $ ، ، / ، \ ، ( ) ، [ ] ، * ، # ، & ، * ، ^ )
ما الفرق بين لغات C و ++C و ++VC و #C ؟؟ ... إذخل لتعرف ...

بالنسبه للسي و السي ++ لا يوجد فرق كبير بينهم *
بمعنى وجهين لعملة واحدة .....

وشوف إنت العملة ستجد ان الوجهين بنفس المقاس
والمساحة والقطر واحد لكن
توجد إختلافات من حيث النقوش المرسومة .....



بالنسبة للسي فهي لغة بنائية تستخدم في برمجة
أنظمة التشغيل وجميع البرامج
لكنها قوية في مجال برمجة الأنظمة "الأجهزة"



اما ال ++C هي فقط تطوير ل C حيث اضيف
لها قدرة التعامل مع الكائنات والبرمجة الموجهة
وكذلك السي ++ متطوره أكثر في موضوع
(Object Oriented Programming) .....


((((( إذا استطيع أقول أن لغة ++c تحتوي لغة c )))))




أما ++VC فهي تطوير من مايكروسوفت على ++C حتى تصبح
قادرة على عمل برامج لويندوز.....



بالنسبة لل C# فهي لغة تستخدم GUI و WYSIWYG وغيرها
وهو لغة جديدة من عائلة الدوت نت.....
مميزات لغة C++ عن لغة C:

تدعم لغة C++ أسلوب برمجة الكائنات الموجهة وبالإضافة لذلك تمتاز لغة C++ بالعديد من المزايا والتي سنتناولها فيما يلي بشيء من التفصيل.


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

حيث يعطى اسم الفصيلة بعد الكلمة المحجوزة ( class )ويتوالى بعد ذلك تعريف البيانات والدوال.

تحديد درجة حماية البيانات :

تتيح لغة C++ تحديد درجات لحماية البيانات وذلك على مستوى الفصيلة، وتتحدد درجة الحماية باستخدام الكلمات ( public * private * protected ) ويوضح الجدول التالي درجات الحماية المختلفة

محدد الحماية___متاح لنفس الفصيلة___متاح للفصائل المشتقة___متاح للكائنات من فصائل أخرى
public_____________نعم_______________نعم__________ _______نعم
protected__________نعم_______________نعم__________ _______نعم
private____________نعم_______________نعم__________ _______نعم

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


دوال البناء والهدم ( constructors and destructors ):

كما ذكرنا سابقا فالفصيلة تتكون من بيانات و دوال تتعامل مع هذه البيانات، وتتيح لغة C++ للمبرمج أن ينشئ دالتين خاصتين تسمى إحداهما دالة البناء ( constructor ) وهي دالة تنفذ تلقائيا عند الإعلان عن كائن من هذه الفصيلة. وتظهر فائدة هذه الدالة عندما نرغب في تخصيص قيم ابتدائية لبيانات الفصيلة.


أما الدالة الأخرى فهي دالة الهدم ( destructor ) وتنفذ تلقائيا عند انتهاء استخدام الفصيلة وتستخدم هذه الدالة لتحرير أجزاء من الذاكرة كنا نستخدمها أثناء استعمال الفصيلة ولم نعد بحاجة إليها، أو لتنفيذ سطور معينة عند الانتهاء من استخدام الفصيلة.
ودالة البناء تحمل نفس اسم الفصيلة، فمثلا لو كان اسم الفصيلة ( Ball) كانت دالة البناء تحمل الاسم ( Ball ).
أما دالة الهدم فتأتي بنفس اسم الفصيلة مسبوقا بالعلامة( ~ ) فللفصيلة السابقة دالة الهدم تحمل الاسم ( ~Ball ).

التوريث ( Inheritance) :
من أقوى خصائص برمجة الكائنات الموجهة خاصية التوريث. ونعني هنا توريث فصيلة إلى فصيلة أخرى.
وهنا ترث الفصيلة المشتقة ( derived class ) من الفصيلة الأساسية ( parent class) كل بياناتها ودوالها ويمكن التعديل بعد ذلك في خصائص الفصيلة المشتقة لتناسب الاحتياجات الجديدة، بإضافة المزيد من البيانات والدوال.
وبذلك نجد أن برمجة الكائنات الموجهة تعفي المبرمج من إعادة بناء البرامج من الصفر بل يعتمد على ما سبق لإنجاز البرامج الجديدة، فتمكنه من استخدام الفصائل السابقة و عمل فصائل جديدة للاستفادة منها مستقبلا.

الدوال الصديقة( friend functions ):
عندما تعلن فصيلة عن دالة صديقة أو عدة دوال صديقة فإنها تسمح لهذه الدوال باستعمال البيانات الأعضاء فيها ولا تسمح لغير هذه الدوال بذلك.
وكذلك الحال عندما تعلن فصيلة عن فصيلة صديقة، فإنها تسمح لجميع دوال الفصيلة الصديقة باستخدام بيانات الفصيلة الأساسية.

--------------------------------------------------------------------------------
الرجوع الى أعلى الصفحة اذهب الى الأسفل
hellmakers
عضو متقدم
 عضو متقدم
hellmakers


ذكر عدد المشاركات : 185
العمر : 37
التقييمات : 0
تاريخ التسجيل : 28/10/2007

مقدمة عن لغة ++C: Empty
مُساهمةموضوع: رد: مقدمة عن لغة ++C:   مقدمة عن لغة ++C: I_icon_minitimeالخميس فبراير 07, 2008 3:55 am

Wink
الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
مقدمة عن لغة ++C:
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتديات إتصالات أون لاين :: الأقسام العامه :: منتدى لغات البرمجة-
انتقل الى: