السلام عليكم ورحمة الله وبركاته أنا جيتلكم ومعايا أول درس من لغة السي لكن الأول لازم تعرفو إيه هيه لغة السي لغة السي هي لغة من لغات البرمجة الكثيرة الموجودة مثل الجافا والباسكال والسي ++ والتي تسطيع من خلالها كتابة أي برنامج يخطر على بالك من برامج الكمبيوتر
أولا : يجب ان تعرف كيف تعلن عن المتغيرات التي سوف تستخدمها في برنامجك
ماهي المتغيرات
لابد ان يحتوي اي برنامج على متغيرات اي أوعية لوضع البيانات فيها حسب نوع البيان فالاسماء هي متغيرات حرفية والاعداد هي اما اعداد صحيحة او عشرية مثلا فمثلا بيانات موظف يقوم احد البرامج بالعمل عليها اتخيل ان تكون كما يلي
المتغير
(الوعاء الذي سيستقبل البيانات)
النوع المفترض ان يكون (منطقيا)
اسم الموظف
متوقع ان يكون مجموعة حروف
رقمة الوظيفي
متوقع ان يكون عدد صحيح لانه لايوجد رقم موظف مثلا 3555.256
الراتب الشهري
متوقع ان يكون عدد عشري به كسور مثل 355.5
اذا لابد من التفكير في كيفية المتغيرات المناسبة لكل بيان فمثلا لو اخطأت واخترت بيان الراتب عدد صحيح فاذا كان راتبه وهو شئ متوقع 355.5 فلن يقبل لان البرنامج سوف يحوله الى عدد صحيح مقرب وهو 356 وهو ليس خطأ البرنامج وانما خطئك انت لانك اعلنت ان متغير الراتب عدد صحيح فما ذنب بائع الفاكهه اذا طلبت منه شراء تفاح وانت تقصد برتقال انما قام البائع بتنفيذ ما سمعه منك مثل هذا الخطأ يسمى خطأ منطقي لان الكومبيوتر لا يعترض عليه
بقى ان تعرف ان معظم اللغات تقدم حيز تخزين مختلف لكل نوع من البيانات وسيتضح ذلك كما يلي
متغيرات الاعداد الصحيحة
int
long
unsigned long
فمثلا لتحديد رقم الموظف سوف نستخدم النوع الاول اذا كان اجمالي عدد الموظفين بالشركة لا يزيد عن
32767 ولانستخدم النوع الثاني مع انه مقبول والسبب ان النوع الثاني سوف يحجز اربعة بايتات للرقم
في حين انني احتاج الى اثنين فقط مع المتغير الاول وبالتالي تتضخم ملفات البيانات بلا داعي
المثال
int SerialNo;
long SerialNo;
unsigned long SeialNo;
بالطبع مع اللغة التي سوف تستخدمها ستختلف الصيغة لكن المنطق والفكرة واحدة
متغيرات الاعداد العشرية
float
double
long double
ملاحظة:
مثال
float Salary ;
double Salary;
long double Salry;
بالطبع يمكنك استخدام المتغير الاول لتخزين راتب الموظف ولكن استخدم الثاني لتخزين اجمالي رواتب الموظفين لاعطاء حيز تخزين اكبر
مثال
float Salary;
double TotalSalaries;
عند استخدام متغير ذو سعة تخزين اقل لاستيعاب رقم او بيان اكبر من سعته فلن يعترض البرنامج ولكن سوف
تحصل على نتائج خاطئة مثلما تريد سكب برميل من الماء في كأس صغير فلن يعترض الكأس ولكن سوف يأخذ
حاجته فقط والباقي سوف ينسكب على الارض
متغيرات الحروف
char
بفرض انك خصصت اقصى عدد لاسم الموظف بثلاثين حرف
مثال
char HisName [30];
والسلام عليكم ورحمة الله وبركاته وإنتظروني في الدرس القادم إن شاء الله
:24: :26:
العايز يتعلم لغة السي يتفضل
متابعة النقاش، صفحة 3