قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 07-12-2010, 10:22 PM المشاركة 1   
افتراضي 4- لغة السى : أنواع البيانات والمتغيرات Data Types and Variables Twitter FaceBook Google+



4- لغة السى : أنواع البيانات والمتغيرات Data Types and Variables
تستخدم لغة السى أنوع عديدة من البيانات تشمل الأحرف characters و الأعداد الصحيحة integer numbers والأعداد الحقيقية ( الغير صحيحة) float numbers . فى لغة السى يجب الأعلان (التصريح) declare عن المتغير قبل ان تستخدمه . عند الإعلان عن المتغير يتم حجز مساحة فى الذاكرة مناسبة لنوعه .

المتغيرات فى لغة السى
المتغيرات هى مجموعة من البايتات Bytes يتم حجزها فى الذاكرة العشوائية RAM , حيث يتم وضع قيم متغيرة فى تلك البايتات المحجوزة ويمكن استرجاعها فى أى وقت .كل بايت يتم الوصول اليه عبر عنوان .تفقد الذاكرة جميع بياناتها عند قطع التيار .
ذاكرة RAM عبارة عن رقاقة Chip تحتوى على عدد من الترانزستورات والمكثفات تقدر بالملايين , حيث كل ترانزستور ومكثف يشكلان وحدة ذاكرة تسمى بت(خانة) Bit , يحمل هذا البت إما القيمة 0 أو القيمة 1 . كل 8 بتات تشكل واحد بايت Byte وكل بايت له عنوان يمكن الوصول إليه والتغيير فى محتواه أى أن الذاكرة عبارة عن عناوين متسلسلة لكل عنوان قيمة متغيرة كما فى الشكل التالى .



فى لغة السى يوجد عدة أنواع من المتغيرات والثوابت , منها متغيرات خاصة بالأعداد الصحيحة وأخرى بالأعداد الحقيقية وأخرى بالأحرف و...., ويجب الإعلان عن المتغيرات والثوابت قبل استعمالها (كأنك تحجز مكانا مسبقا " لوضع قيمة فيما بعد" ) .
طريقة الإعلان عن متغير : هى كتابة نوع المتغير ثم اسم المتغير ثم القيمة التى سيحتويها المتغير (فى حالة إعطاءه قيمة مباشرة فى البداية ) كما فى الشكل التالى .




· نوع المتغير Variable Type :
توجد عدة أنواع من المتغيرات لا تختلف عن بعضها إلا فى الحجم وهذا يعنى أنه عند الإعلان عن المتغير يمكننا أن نعطيه حرفا بدلا من القيمة . توجد حالة خاصة هى الأعداد الحقيقية لأنها ليست كغيرها .
أنواع المتغيرات هى :



التوضيح :
متغير الرموز char :
من أصغر المتغيرات , يتم الإعلان عنه بكتابة الكلمة char فى مكان Variable_Type , حجمه 1 بايت أى 8 بت حيث يحمل 256 احتمال إبتداء من 0 إلى 255 (بدون إشارة unsigned ) أو من -128 إلى +127 حيث كل رقم يمثل برمز فى جدول آسكى ASCII .
ومتغير الأعداد الصحيحة "Integer" int :
يتم الأعلان عن متغير من نوع الأعداد الصحيحة بكتابة الكلمة int فى مكان "نوع المتغير" Variable_ Type حيث يأخد المتغير من نوع Integerمساحة قدرها 2 بايت والتى تساوى 16 بت (خانة) وتساوى 65536 احتمال , أى أن أقصى قيمة يمكن أن يحملها المتغير هى 65536 إبتداء من الصفر أو أبتداء من -32768 إلى +32767 فى حالة ضم الأعداد السالبة , ويمكن أن يكون حجمها 4 بايت (حسب المترجم ونمطه) أى تساوى 32 بت حيث أقصى قيمة يمكن أن تحملها هى 4294967296 إبتداء من الصفر .

ومتغير الأعداد الصحيحة نوع short :
هو أيضا متغير من متغيرات الأعداد الصحيحة حيث نقوم بالإعلان عنه بكتابة الكلمة short فى مكان نوع المتغير Variable_Type, حجمه 2 بايت والتى تساوى 16 بت (خانة) وتساوى 65536 احتمال , أى أن أقصى قيمة يمكن أن يحملها المتغير هى 65536 إبتداء من الصفر أو أبتداء من -32768 إلى +32767 فى حالة ضم الأعداد السالبة.
ومتغير الأعداد الصحيحة نوع long :
هو أيضا متغير من متغيرات الأعداد الصحيحة حيث نقوم بالإعلان عنه بكتابة الكلمة long فى مكان نوع المتغير Variable_Type, حجمه 4 بايت أى تساوى 32 بت حيث أقصى قيمة يمكن أن تحملها هى 4294967296 إبتداء من الصفر .
و متغير الأعداد الحقيقية نوع float :
الأعداد الحقيقية هى التى بها فواصل (علامة عشرية) ويتم الإعلان عنها باستخدام الكلمة float وحجمها 4 بايت تبدأ من 1.2 E-38 إلى 3.4 E+38
إسم المتغير Variable Name:
تحدثنا سابقا عن عناوين , توجد ملاحظة قوية هنا يجب التنبيه بها وهى أننا نرى المتغيرات أسماء أما الجهاز فيراه عناوين , الإسم مجرد أداة استعملت لتسهيل عملية الوصول إلى تلك العناوين بدون اللجوء إلى عناوين إنما أسماء واضحة توضح سبب الإعلان عنها . لإسم المتغير حدود لا يجب تجاوزها وهى :
· أن لا يتجاوز اسم المتغير رأكثر من 31 حرف .
· أن لا يبدأ اسم المتغير بأرقام .
· أن لا يكون اسم المتغير يحتوى على مؤثرات مثل الجمع والطرح و...
· أن لا يكون اسم المتغير يحتوى على رموز مثل % و # و... باستثناء رمز الشرطة التحتية (-) .
· أن لا يكون اسم المتغير مستعمل سابقا فى دالة أو متغير آخر .
· أن لا يكون اسم المتغير من أسماء الكلمات المحجوزة .
قيمة المتغير Variable Value :
يجب مراعاة قيمة المتغير حسب نوعه , فمثلا لا يمكن أن نعطى للمتغير int قيمة عدد حقيقى float . قيمة المتغير يمكن أن نعطيها له مباشرة بعد الإعلان عنه أو نقوم بالإعلان عنه ونضع به قيمة فيما بعد .
جميع المتغيرات يمكن استخدامها بعد الإعلان عنها . المثال التالى يبين متغيران من نوع الرمز (الحرف) char اسمهما w و x وتم الإعلان عنهما والآن نجعلهما القيم 5 و 9 على الترتيب :
char w = 5, x = 9;

القادم إن شاء الله

التعليقات فى البرنامج Comments :

احصائية الشكر والاعجاب - 1 شكراً, 0 عدم اعجاب, 1 اعجاب
شكراً حسن هادي محمود ( شكر العضو على هذه المشاركة )
اعجاب حسن هادي محمود ( أعجبته المشاركة )
اعلانات

ملك العلوم
:: عضو فضي ::
تاريخ التسجيل: May 2008
الدولة: Egypt
المشاركات: 192
نشاط [ ملك العلوم ]
قوة السمعة:70
قديم 08-12-2010, 07:22 AM المشاركة 2   
افتراضي


بارك الله فيك أخى الكريم

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

الصورة الرمزية صقر الافق
صقر الافق
:: مهندس جيد ::
تاريخ التسجيل: Dec 2009
الدولة: المغرب
المشاركات: 218
نشاط [ صقر الافق ]
قوة السمعة:0
قديم 11-12-2010, 03:58 PM المشاركة 3   
افتراضي


مشكور على هدا العمل الجميل.................


رضا كامل
:: مهندس متواجد ::
تاريخ التسجيل: Aug 2007
المشاركات: 114
نشاط [ رضا كامل ]
قوة السمعة:0
قديم 07-01-2011, 08:07 PM المشاركة 4   
افتراضي


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


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 07-01-2011, 08:16 PM المشاركة 5   
افتراضي


اخى الكريم
شكرا جزيلا لك

بارك الله فيك

مع تمنياتى بدوامالتوفيق


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 07-01-2011, 08:17 PM المشاركة 6   
افتراضي


مشكور على هدا العمل الجميل.................
اخى الكريم
شكرا جزيلا لك

بارك الله فيك

مع تمنياتى بدوام التوفيق


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 07-01-2011, 08:24 PM المشاركة 7   
افتراضي


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

اعتذر عن اى خطأ أو سهو وان شاء الله فى التدريبات العملية القادمة يتم تثبيت وتوضيح جميع المعلومات السابقة والتأخير ناتج فقط عن اننى وجدت ان هناك بعض المعلومات فى الالكترونيات والتى تخدم الموضوع ذاته يحب ان اتطرق اليها أولا ففعلت والله الموفق

بارك الله فيك

مع تمنياتى بدوام التوفيق


رضا كامل
:: مهندس متواجد ::
تاريخ التسجيل: Aug 2007
المشاركات: 114
نشاط [ رضا كامل ]
قوة السمعة:0
قديم 08-01-2011, 03:19 AM المشاركة 8   
افتراضي


أفادكم الله أستاذنا الكريم و زادكم علما .
منتظرون بكل تشوق تطلعا لما هو قادم .حعلك الله دوما سباقا إلى الخير .

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 09:54 AM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2024