Youssef The Admin Admin
عدد المساهمات : 21 نقاط : 44 تاريخ التسجيل : 13/02/2011 العمر : 29 الموقع : حلب
| موضوع: :: الدرس الاول في تعلم لغة C ببساطة :: الأربعاء فبراير 16, 2011 1:46 pm | |
| بسم الله الرحمن الرحيم
السلام عليكم
تعلم لغة السي في درس واحد كما يدعي صاحب الدرس اترككم في طيات هذا الدرس الرائع والجميل
لا يختلف اثنان على ان لغة البرمجة C من اقوى لغات البرمجة قديما وحديثا، وسواء كنت تريد تطوير تطبيقات في مختلف نظم التشغيل كـ ******s او Linux فمن الضرور تعلم اساسيات اللغة هذا ان علمنا ان لغة C هي لغة برمجة موحدة في مختلف منصات نظم التشغيل، يعتبر هذا الدرس مدخلك الابتدائي الى البرمجة بلغة C.
قد تبدو فكرة تعلم لغة برمجة C في درس واحد ضرب من الخيال، وهي فعلا خيال! ولكننا هنا سنحاول التطرق لمعظم سمات اللغة واساسياتها بحيث تعطيك فكرة جيدة جدا عن لغة البرمجة C، وسنبدأ بكتابة برنامجك الاول بلغة C والمعروف بـ Hello World ولكن مع تغيير بسيط:
1 #inlcude
2 void main () 3 { 4 /*طباعة جملة ترحيبية على الشاشة*/ 5 printf ("Welcome to dev4arabs.com\n");
6 return; 7 }
ملاحظة: لا تكتب الارقام من 1-7 كما في المثال السابق، فلغة C لا تعتمد الترقيم لكتابة اوامرها، والغرض من هذه الارقام هو لشرح تفاصيل الكود في هذه المقالة.
لنبدأ مع السطر (1) والذي يحتوي على جملة #include. تستخدم هذه العبارة اذا اردت تضمين او تشميل مكتبة وظائف اضافية في شفرة برنامجك، فالوظيفة المستخدمة printf ليست من ضمن وظائف لغة C، لذلك نحتاج الى تضمين مكتبة stdio.h في برنامجنا حتى نتمكن من استخدام الوظيفة printf.
توجد مئات المكتبات والتي تأتي مع حزمة مترجم لغة C، معظمها قياسية تتبع لمعايير ANSI C. وفي العادة تكون معظم هذه المكتبات في مجلد خاص به، اما اذا كانت المكتبة في مجلد غير المجلد المحدد لمترجم بيئة التطوير، فعليك تحديده بنفسك باستخدام علامة التنصيص المزدوجة " و " عوضا عن الاقواس المثلثة < و >:
#include #include #include "C:\myLIB\MyHead.h" #include "D:\test.h"
السطر (2) يعرف الوظيفة main، وهي اول وظيفة يتم استدعائها من قبل نظام التشغيل عند تنفيذ برنامج، صيغ كتابة الوظائف في لغة C سنتحدث عنه لاحقا، ولكن اعرف الان وبشكل مؤقت ان بداية ونهاية الوظيفة تحددها الاقواس المعكوفة { و }:
void main () { ... ... ... }
void test () { ... ... ... }
اما في السطر (4) فنقوم بطباعة الجملة الترحيبية "Welcome to dev4arabs.com" وقد انهينا السلسة النصية st بالحرفين n\ وهما يستخدمنا للتعبير عن علامة سطر جديد Newline ينقل مؤشر الكتابة Cursor الى سطر جديد. يمكنك استخدام ايضا \" اذا اردت طباعة علامة التنصيص المزدوجة والرمز \\ للحرف\ وغيرها من الرموز التي تجدها في ملفات التعليمات.
في السطر (6) استخدمنا الكلمة المحجوز return والتي تنهي مسار تنفيذ الوظيفة الحالية (وهي main) وبالتالي تنهي عملية تنفيذ البرنامج.
الثوابت والمتغيرات توفر لك لغة C اربع اشكال من الثوابت مختلفة الاحجام والاغراض يمكنك استخدامها في الكود وغالبا في عملية اسناد القيم الى المتغيرات هي:
1. الاعداد الصحيحة: • بالنظام العشري DEC: 10, 20, 0, -4 • بالنظام الثماني OCT: 01, 07, 03 • بالنظام الستعشري HEX: 0X1, 0XABC, 0XEE4
2. الاعداد العشرية: 10.5, 200.0000001, -120.123, 2e3, 4e-10
3. الحروف: 'A', 'B', 'C', '1', '2', '?'
4. النصوص sts: "Welcome to dev4arabs.com", "A", "1"
اما المتغيرات فتوجد خمسة انواع من المتغيرات char، int، double، float و void يمكنك البحث عن تفاصيلها في مكتبة MSDN، واذا اردت الاعلان عن متغير استخدم النوع ومن ثم اسم المتغير:
int x; double X; /*فتسمية المتغيرات حساسة لحالة الاحرف الكبيرة والصغيرة X لا تساوي x*/ char a = 3, y = 5, z;
جمل التفرع وحلقات التكرار الصيغة التالية تمثل صيغة IF لتفيذ عبارة واحدة:
if ( X > 3 ) printf ("X > 3");
واذا اردت تنفيذ مجموعة عبارات استخدم الاقواس { و } لتعريف كتلة Block:
if ( X > 3 ) { printf ("X > 3); printf ("\nX is Greater than 3"); }
يمكنك استخدام else ايضا، واذا اردت التحقق من المساواة، استخدام المعامل == وليس =:
if (b == 0) printf ("Zero\n"); else printf ("Not zero\n;
التفرع باستخدام يتم باستخدام switch مع ضروري استخدام الكلمة المحجوزة break عند كل case:
switch( x ) { case 1 printf ("ONE"); break; case 2 printf ("TWO"); break; case 3 printf ("THREE"); break; ... ... ... }
اخيرا، الكود التالي يعرض صيغة استخدام حلقة for و while، واذا اردت تنفيذ مجموعة عبارات استخدام الاقواس { و }:
for (int x=0; x < 10; x++) printf ("%d ", x);
int x = 0 While ( x < 10 ) { printf ("%d ", x); x++; }
الوظائف يمكنك تعريف الوظائف Functions بلغة C بنفس الصيغة التي استخدمناها لتعريف الوظيفة الرئيسة main في البرنامج الاول. من المهم جدا تعريف الوظيفة في سطر يسبق (اي فوق) السطر الذي يستخدم تلك الوظيفة، فالكود التالي:
void main () { MyFun (); }
void MyFun () { ... ... ... }
لن تتم ترجمته بشكل صحيح، وذلك لان تعريف الوظيفة MyFun قد اتى في سطر يتلو (اسفل) السطر الذي استدعى تلك الوظيفة، لذلك عليك بتعريف الوظيفة MyFun فوق الوظيفة main:
void MyFun () { ... ... ... }
void main () { MyFun (); }
يتبع | |
|
AHMAD MASRI
عدد المساهمات : 28 نقاط : 53 تاريخ التسجيل : 16/02/2011 العمر : 28 الموقع : سوريا - حلب
| موضوع: شكرا على الموضوع الخميس فبراير 17, 2011 6:46 am | |
| شكرا صديقي على موضوع الحلو ونرجو اكماله شكرا | |
|
Youssef
عدد المساهمات : 7 نقاط : 5 تاريخ التسجيل : 17/02/2011 العمر : 29 الموقع : سوريا
| موضوع: لعيونك ... السبت فبراير 19, 2011 8:42 am | |
| اي مو تكرم كم مصري عندي انا
| |
|
AHMAD MASRI
عدد المساهمات : 28 نقاط : 53 تاريخ التسجيل : 16/02/2011 العمر : 28 الموقع : سوريا - حلب
| موضوع: شكرا على الرد الأحد فبراير 20, 2011 7:16 am | |
| | |
|