البرمجة بلغة السى –3- المتغيرات والثوابت

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

البرمجة بلغة السى –3- المتغيرات والثوابت

مُساهمة من طرف Admin في الأربعاء يناير 29, 2014 5:43 pm

البرمجة بلغة السى –3- المتغيرات والثوابت

المتغيرات Variables :

المتغيرات هى مواقع (أماكن) بذاكرة الكومبيوتر لتخزين البيانات . للإشارة إلى موقع ذاكرة ، فإن كل متغير يجب أن يعطى اسم فريد يسمى "المعرف" . أسماء المتغيرات هى مجرد تمثيل رمزى لمواقع الذاكرة . أمثلة لاسم متغير sum , car_no , count , … .


الكود:

int num;


هنا ، num هو متغير من نوع عدد صحيح .

قواعد كتابة اسم المتغير فى لغة السى :

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

الثوابت Constants :

الثوابت هى الأشياء التى لا يمكن أن تتغير أثناء تنفيذ البرنامج . على سبيل المثال : 1 و 2.5 و "Programming is easy" وغيرها . فى لغة السى ، يمكن تصنيف الثوابت إلى :

ثوابت الأعداد الصحيحة Integers:

ثوابت الأعداد الصحيحة هى الثوابت العددية ( الثابت المرتبط بعدد ) بدون أى جزء كسرى أو جزء أسى . هناك ثلاثة أنواع من ثوابت العدد الصحيح فى لغة السى : الثوابت العشرية ( بالأساس 10) ، والثوابت الثمانية (بالأساس 8 ) ، والثوابت السداسية عشر ( بالاساس 16) .
الأرقام العشرية :


الكود:

0 1 2 3 4 5 6 7 8 9 


الأرقام الثمانية :



الكود:

0 1 2 3 4 5 6 7 


الأرقام السداسية عشر :


الكود:

0 1 2 3 4 5 6 7 8 9 A B C D E F



أمثلة :
ثوابت عشرية : 0 , -9 , 22 , …
ثوابت ثمانية : 021 , 077 . 033 , …..
ثوابت سداسية عشر : 0x7f , 0x2a , 0x521 , …..

ملاحظات :

1- يمكك استخدام الحروف الصغيرة a,b,c,d,e,f بدلا من الحروف الكبيرة عند كتابة الثابت السدلسى عشر .
2- كل ثابت ثمانى يبدأ بالصفر "0" وكل ثابت سداسى عشر يبدأ بالتسلسل "0x" عند البرمج بلغة السى .
توابت الأعداد الحقيقية float :
ثوابت الأعداد الحقيقية هى الأعداد الثابتة والتى بها شكل من إما كسر أو أس . على سبيل المثال :


الكود:

-2.0
0.0000234
-0.22E-5


ملحوظة :
هنا "E-5" ثمثل عشرة أس ناقص خمسة . ومن ثم فإن -0.22E-5 = -0.0000022
الثوابت الحرفية Character :
الثوابت الحرفية هى الثوابت التى تستخدم علامة اقتباس فردية حول الحرف . على سبيل المثال : 'a' , 'l' , 'm' , 'F' وهكذا .

تسلسل الهروب Escape :

أحيانا ، يكون من الضرورى استخدام سطر جديد new-line ، فاصل أو تبويب tab ، علامة اقتباس ، وغيرها فى البرنامج والتى لا يمكن كتابتها أو ليس لها معنى خاص فى البرمجة بلغة السى . فى مثل هذه الحالات يتم استخدام تسلسل الهروب . على سبيل المثال : التسلسل "\n" يستخدم للسطر الجديد (يشبه الضغط على مفتاح enter ) . الشرط المائلة "\" تتسبب فى "الهروب" من الطريقة العادية التى يتم بها تفسير الحروف بمعرفة المترجم .

تتابعات الهروب :




Escape Sequences Character
\b Backspace
\f Form feed
\n Newline
\r Return
\t Horizontal tab
\v Vertical tab
\\ Backslash
\' Single quotation mark
\" Double quotation mark
\? Question mark
\0 Null character


ثوابت السلسلة النصية String :


ثوابت السلسلة النصية هى الثوابت التى تحاط بعلامتى اقتباس مزدوجة . على سبيل المثال :


الكود:

"good"                  //string constant
""                    //null string constant
"      "              //string constant of six white space
"x"                    //string constant having single character.
"Earth is round\n"        //prints string with newline


ثوابت القوائم Enumeration :

تستخدم الكلمة المحجوزة enum لإعلان أنواع القوائم . على سبيل المثال :


الكود:

enum color {yellow, green, black, white};


هنا ، اسم المتغير هو color و كل من yellow , green , black , white هى ثوابت القائمة وتمتلك القيم 0,1,2,3 على الترتيب كوضع افتراضى .

Admin
Admin

عدد المساهمات : 1003
تاريخ التسجيل : 28/01/2014

معاينة صفحة البيانات الشخصي للعضو http://fathallaabdelaziz.forumarabia.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى