في درس سابق للغة C، تم وضع مقدمة حولها وبعض من الأساسيات في كتابة شفرة C، وفي هذا الدرس، سيتم طرح الأمثلة على المتغيرات والمصفوفات. المثال التالي كنوع من التذكير للدرس السابق:
#include<stdio.h> main() { printf("Welcome to C Language, enjoy browsing http://www.alrashdi.co/blog \n"); }
ربما تكون هناك اضافة وهي “\n” ويقصد بها كتابة سطر جديد .. يمكنك التجربة عبر تكرارها بين الكلمات لترى النتيجة 🙂
مثلما شُرح سلفًا، هناك أنواع مختلفة من المتغيرات وهي char, int, float وغيرها وكل نوع يتقبل نوع معين من البيانات وللتوضيح:
char: للمدخلات الحرفية
int: عدد صحيح
float: عدد غير صحيح (رقم بفواصل مثلًا؛ لا أذكر المسمى نسبةً لعدم توافقي مع الرياضيات 😀 )
وسنقوم بعمل برنامج مبسط لعمل عملية جمع حسابية، المتغير a للرقم الأول وهو 19، والمتغير b للرقم الثاني وهو 21 وأخيرًا متغير أخير ليخزن ناتج عملية الجمع وليكن sum؛ وبما أن كافة الاعداد صحيحة سيكون النوع هو int لكافة المتغيرات..
الطريقة الأولى لتعريف المتغيرات دون ادخال القيم هي:
#include<stdio.h> main() { int a,b, sum; }
والطريقة الثانية:
#include<stdio.h> main() { int a; int b; int sum; }
أيضًا يمكن ادخال قيمة المتغيرات في ذات التعريف، ليكون كالتالي بالنسبة للطريقة الأولى:
#include<stdio.h> main() { int a=19,b=21, sum; }
أو التالي للطريقة الثانية:
#include<stdio.h> main() { int a=19; int b=21; int sum; }
ولإتمام عملية الجمع:
#include<stdio.h> main() { int a=19,b=21, sum; sum = a+b; printf("Welcome to C Language, enjoy browsing http://www.alrashdi.co/blog \n"); printf("result of %d + %d = %d", a, b, sum); }
لاحظ أننا قمنا بتخزين العملية الحسابية في المتغير sum، ثم عرضنا الناتج، ولإزالة الغموض عن سطر طباعة النتائج:
printf("result of %d + %d = %d", a, b, sum);
لاحظ تكرار “%d” ثلاث مرات، ومثلما ذُكر في الدرس السابق، %d ترافق النوع int، فبالتالي هي تعني 3 متغيرات من نوع int. بعد كتابة الرسالة، قمنا بتحديد قيم %d بالترتيب في بقية السطر خارج علامات الاقتباس وفصلنا بينهم بالفاصلة..
يمكن تطبيق الدرس لمختلف الانواع الاخرى بنفس الطريقة او بطرق مشابه حسب النوع المحدد، الآن لنبدأ القسم الثاني من الدرس وهو المصفوفات. المصفوفات عبارة عن عدة قيّم مخزنة في ذات المتغير، لكن مفهرسة بترتيب معيّن، للتوضيح، الجدول الآتي يوضح المتغير numbers وهو عبارة عن مصفوفة تحتوي على أرقام عشوائية:
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|
100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 |
نلاحظ من الجدول السابق:
- المتغير numbers يحتوي 10 قيم مختلفة
- الفهرسة أو index تبدأ من الصفر، أي أن آخر فهرس يكون (طول المصفوفة – 1) وهكذا ..
المثال الآيتي يوضح كيفية تعريف المصفوفة:
#include<stdio.h> main() { int numbers[10]; }
لقد تم التعريف، لكن لم ندخل القيم, ولادخال القيم:
#include<stdio.h> main() { int numbers[10]={100, 101, 102, 103, 104, 105, 106, 107, 108, 109}; }
أو الطريقة الآتية:
#include<stdio.h> main() { int numbers[10]; numbers[0]=100; numbers[1]=101; numbers[2]=102; numbers[3]=103; numbers[4]=104; numbers[5]=105; numbers[6]=106; numbers[7]=107; numbers[8]=108; numbers[9]=109; }
ولطباعة محتوى المصفوفة، نكتب اسم المتغير ورقم الفهرسة أو index، مثال:
#include<stdio.h> main() { int numbers[10]={100, 101, 102, 103, 104, 105, 106, 107, 108, 109}; printf("%d is in index 5", numbers[5]); }
تعدد المصفوفات:
الجدول الآتي يوضح طريقة تخزين البيانات في المصفوفة المتعددة الاتجاه:
0 | 1 | 2 | 3 | 4 | |
---|---|---|---|---|---|
0 | 100 | 101 | 102 | 103 | 104 |
1 | 110 | 111 | 112 | 113 | 114 |
الجدول يوضح أن طول المصفوفة هو 5 × 2، وطريقة التعريف:
#include<stdio.h> main() { int numbers[5][2]; }
وطريقة الادخال البيانات الأولى:
#include<stdio.h> main() { int numbers[5][2]= { {100, 101, 102, 103, 104}, {110, 111, 112, 113, 114} }; }
أو الطريقة الآتية:
#include<stdio.h> main() { int numbers[5][2]; numbers[0][0]=100; numbers[1][0]=101; numbers[2][0]=102; numbers[3][0]=103; numbers[4][0]=104; numbers[0][1]=110; numbers[1][1]=111; numbers[2][1]=112; numbers[3][1]=113; numbers[4][1]=114; }
وطريقة العرض:
#include<stdio.h> main() { int numbers[5][2]= { {100, 101, 102, 103, 104}, {110, 111, 112, 113, 114} }; printf("%d is in index [1][0]", numbers[1][0]); }
في العادة “التكرار” أو “loop” يرافق المصفوفات، وهو يسهل عملية تخزين البيانات، خاصة المدخلة مِن قبل المستخدم، وسيم شرح الطريقة في درس لاحق بإذن الله .. 🙂
[…] في الدرس السابق البرنامج الأول باستخدام Java، تم شرح كيفية عرض مخرجات للمستخدم، في هذا الدرس، سنقوم بتجربة المتغيرات والمصفوفات لكن بشكل مخلص، إن كنت تبحث عن درس مفصل فيمكنك الرجوع لذات الدرس لكن بلغة C، إذ أن الاختلاف بسيط: المتغيرات والمصفوفات في C […]