الأحد، 24 يونيو 2012

Lecture 3 , Declaration and data types


Variable Types and Declaration

انواع المتغيرات وتعريفها :


زي ماقلت في الدرس السابق انه بيوجد انواع كتير من التعريفات للمتغيرات وكل تعريف وله غرض ولا يمكن استخدام تعريف خاطئ للمتغير . لانني ذكرت من قبل ان لغة الـ C  بتقوم باخذ الداتا وتقوم بتعريفها للجهاز لكي يقوم بالتعامل معها .

اول تعريف : Integer

-         دا النوع اللي بنعرف بيه الداتا علي انها ارقام صحيحه يعني لو عايز تعرف متغير لرقم صحيح مثلا وليكن اسمه total  .

Int total ;
-         هنا هتبتدي اللغه تفهم انه فيه متغير داخلها علي انه رقم صحيح .

ملحوظه : في الاله الحاسبه بيبقي مدي الارقام بتاعتها digit-8  وبتتعامل مع الارقام من 99999999 الي
 - 99999999 ولو جربت تعمل مثلا 99999999+1 هتلاقي الاله الحاسبه جابت overflow error  نفس الكلام مع الحاسب له مدي يقبل فيه المتغيرات دي وبتختلف طبعا من حاسب لحاسب ومن نظام لنظام ولكن عشان نتكلم اكتر في الانظمه 32-bit بيبقي مدي نوع المتغير integer   4 بايت يعني 32 بت .


-         مثال عشان اعرف رقم ما او متغير هعرفه علي انه رقم صحيح :
-          Int total;
-          Total = 4502;


استدعاء المتغير :
-         لغة الـ C  دائما منظمه وبالتالي لو محتاجين اننا نستدعي متغير ما لازم نشير الي المتغير دا ونوعه ايضا .
-         مثال : دلوقتي انا هكتب كود بسيط عشان يحسب ضعف رقم معين ويطبعه علي الشاشه .

#include<stdio.h>

int main(){
   
    int number;
    int result;
    number = 45;
    result = 45 * 2 ;
    printf("Your number %d and it's twice is %d ", number , result);
   
    getch();
    }

طيب البرنامج دا مجرد بياخد متغير علي انه رقم صحيح وليكن 45 مثل ما في المثال و متغير اخر اللي هو result ودا هيستجل فيه النتيجه بتاعة ضعف الرقم .


-         اما بالنسبه لامر الطباعه ففي شئ غريب !! – مامعني %d  - ؟؟  - دي بتشير الي المتغيرات اللي هيتم طباعتها وطبعا كل نوع متغير وله رمز اشاره يعني مثلا في المتغير اللي نوعه integer  بنشير اليه بالرمز %d  طيب لو شغلنا البرنامج ونشوف النتيجه .



كتب Your number is 45 and it’s twice is 90  معني ذلك انه مكان الرموز %d بيطبع المتغيرات واحنا اللي بنحددله المتغيرات اللي يطبعها لانه في الكود بتاعنا .

كتبنا اسماء المتغيرات بعد الجمله اللي هيطبعها بالترتيب وبعد العلامه الفاصله ,  ومسافه .


الصوره بالاعلي للتوضيح كيف يتم استدعاء المتغيرات ولكن بالمرجع كان عامل المتغير اسمه term  .

ثاني نوع : Float types

  وهو بيشير للاعداد الغير صحيحه مثلا : 4.6 – 8.6 – 9.7 – 7.2 وهكذا وبالتالي لو عايز تدخل للبرنامج ارقام فيها كسور مستحيل تعرفها علي انها integer  لازم تكون float  .

-         بيتم تعريف المتغير من خلال float variable ;  ومكان الـ variable  ممكن نكتب المتغير بتاعنا زي ما احنا عايزين .
-         مثلا لو عايزين نعرف متغير بيحتوي علي الرقم 4.6
-         هيبقي الكود كالتالي :

Float number;
Number = 4.6;

-         طيب لو محتاجين نطبع رقم غير صحيح . يعني مثل الـ integer  كنا بنشير اليها من خلال %d  اما من هذا النوع فاننا بنشير له من خلال %f  .
-         طيب هنكتب نفس المثال السابق الخاص بالـ integer  ولكن باعداد كسريه يعني هنكتب مثلا برنامج يطبع ضعف رقم 4.6 .هو نفسه المثال الخاص بالـ integer ولكني غيرت تعريف المتغيرات .

-         طيب تجربه بسيطه كده لو حاولنا اننا نعرف الـرقم الكسر علي انه عدد صحيح وخليناه integer  الناتج ممكن يكون ايه ؟؟ .

-         

-         هنلاحظ انه ما اخدش الكسر اللي هو 0.6  وكتب 4 بس وجاب الضعف بتاعها 8 فقط .

ملحوظه هوا دا بقي الـ semantic error  اللي اتكلمت عليه في الدرس التاني . يعني يبقي المبرمج
كاتب البرنامج صح وميظهرش معاه اي اخطاء ولكن النتيجه بتكون متغيره تماما عما يريده

فيه ملحوظه مهمه : هو انك لما تستخدم عملية القسمه ي لغة الـ C  لازم تستخدم تعريف المتغيرات علي انه float  لانك لو اخترت integer مش هيجيبلك باقي عملية القسمه يعني مثلا لو قسمنا عددين صحيحين والناتج عدد صحيح مثل  : 4 = 2/8 دي مفيهاش اي مشكله اما بقي لو قسمنا 2.6=3/8 وبالتالي البرنامج هيطبع 2 بس وهيسيب الـ 0.6 لو عرفنا المتغير علي انه عدد صحيح –integer – فقط .

Assignment :
الكود التالي فيه خطأ . هل ممكن معرفة هذا الخطأ ؟؟ ولما لم يتم طباعة الناتج ؟؟ .
النوع التالت : character

ودا لتعريف متغير به حرف من الحروف وليكن A  . وطبعا اي رمز او اي علامه نوعهاcharacter  .
-         مثال : احنا هنكتب كود بسيطه لبرنامج يقوم بعكس مجموعة حروف مدخله للبرنامج يعني مثلا هندخله ABC  وهيطبعلنا CBA  .
-         
-         والناتج الخاص بالبرنامج .



ملحوظه : في انواع الـ char  يتم تعريفها بالـ single quotes  ‘’  مش double quotes  

يعني انا لما كتبت
First = ‘A’;
Not First = “A”;

Assignment :

-         اكتب برنامج لطباعة كلمة HELLO  ولكن يتم طباعتها في بلوكات من الحروف
-         اكتب برنامج لطباعة اسمك .
-         اكتب برنامج لحساب مساحة مستطيل طوله 4 وعرضه 7 ومره اخري طوله 8.4 وعرضه 5.2 .

- You Can Download PDF File From Here 

With My Best Wishes
Ahmed Sherif 

0 التعليقات:

إرسال تعليق

شكرا لاضافة تعليق