English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل أساسي بلغة C

تحكم في عملية لغة C

دالة لغة C

المحطات في لغة C

الإشارات في لغة C

الشكل في لغة C

لغة C هي هيكل

ملفات لغة C

C أخرى

دليل مرجع لغة C

المحطات في لغة C

في هذا الدرس، ستعلم كيفية استخدام الصف. ستعلم من خلال الأمثلة كيفية إعلان وتحديد وتحديد عناصر الصف.

الصف هو متغير يمكنه تخزين عدة قيم. على سبيل المثال، إذا كنت تريد تخزين 100 عدد صحيح، يمكنك إنشاء صف.

int data[100];

كيفية إعلان الصف؟

dataType arrayName[arraySize];

مثلاً.

float mark[5];

في هذا السياق، تم الإعلان عن مصفوفة من النوع العددي mark. حجمها 5. مما يعني أن يمكنها استيعاب 5 قيم عددي.

يجب ملاحظته،لا يمكن تغيير حجم أو نوع الصف عند الإعلان عنه.

الوصول إلى عنصر الصف

يمكنك الوصول إلى عناصر الصف باستخدام الفهرس.

افترض أنك قمت بالإعلان عن الصف mark كما ذكرت. العنصر الأول هو mark[0],العنصر الثاني هو mark[1]، وهكذا.

الإيضاح:

  • الإيضاح الأولي للصف هو 0، وليس 1. في هذا المثال، الصف هو العنصر الأول mark[0].

  • إذا كان حجم الصف n، فيجب استخدام ن-1 للاستدلال على العنصر الأخير. في هذا المثال mark[4]

  • . افترض عنوان البداية mark[0] هو2120d. ثم، عنوان mark[1] سيكون2124d. وبالتالي، عنوان mark[2] سيكون2128dمثلاً.
    هذا لأن حجم a float هو 4 بايت.

كيفية تحديد الصف؟

يمكنك أيضًا تحديد الصف عند الإعلان عنها. على سبيل المثال،

int mark[5] = {19, 10, 8, 17, 9};

يمكنك أيضًا تحديد الصف كما يلي.

int mark[] = {19, 10, 8, 17, 9};

في هذا السياق، لم نحدد حجمها. ولكن عندما نستخدم 5 عناصر للتحديد، يعرف الماكينة حجمها كـ 5.

هنا،

mark[0] يساوي 19
mark[1] يساوي 10
mark[2] يساوي 8
mark[3] يساوي 17
mark[4] يساوي 9

تغيير قيمة عنصر الصف

int mark[5] = {19, 10, 8, 17, 9};
//جعل قيمة العنصر الثالث سالباً
mark[2] = -1;
//جعل قيمة العنصر الخامس صفر
mark[4] = 0;

إدخال وخرج عناصر الصف

كيفية الحصول على إدخال المستخدم واستخدامه لتخزين عنصر عناصر الصف

// 获取输入并将其存储在第三个元素中
scanf("%d", &mark[2]);
// 把输入存储在第i个元素中
scanf("%d", &mark[i-1]);

هذه هي طريقة طباعة عنصر مصفوفة واحد.

printf("%d", mark[0]);
//طباعة العنصر الأول من المصفوفة
printf("%d", mark[2]);
//طباعة العنصر الثالث من المصفوفة
//طباعة العنصر i من المصفوفة
printf("%d", mark[i-1]);

مثال 1: إدخال/إخراج مصفوفة

//يأخذ البرنامج 5 أرقام من المستخدم ويخزنها في المصفوفة
//طباعة العناصر المخزنة في المصفوفة
#include <stdio.h>
int main() {
  int values[5];
  printf("أدخل 5 أرقام: ");
  //قبول المدخل وتخزينه في المصفوفة
  for(int i = 0; i < 5; ++i) {
     scanf("%d", &values[i]);
  }
  printf("عرض عدد: ");
  //طباعة عناصر المصفوفة
  for(int i = 0; i < 5; ++i) {
     printf("%d\n", values[i]);
  }
  return 0;
}

نتيجة الخروج

أدخل 5 أرقام: 1
-3
34
0
3
عرض عدد: 1
-3
34
0
3

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

مثال 2: حساب المتوسط

//يستخدم البرنامج مصفوفة للبحث عن متوسط n من الأرقام
#include <stdio.h>
int main()
{
     int marks[10], i, n, sum = 0, average;
     printf("أدخل عدد العناصر: ");
     scanf("%d", &n);
     for(i=0; i<n; ++i)
     {
          printf("أدخل الرقم %d: ", i+1);
          scanf("%d", &marks[i]);
          
          //إضافة عدد المدخل من المستخدم إلى متغير sum
          sum += marks[i];
     }
     average = sum/n;
     printf("متوسط = %d", average);
     return 0;
}

نتيجة الخروج

أدخل عدد العناصر: 5
أدخل الرقم 1: 45
أدخل الرقم 2: 35
أدخل الرقم 3: 38
أدخل الرقم 4: 31
أدخل الرقم 5: 49
متوسط = 39

في هذا المكان، قمنا بحساب متوسط الأرقام المدخلة من المستخدم.

زيارة عنصر خارج النطاق!

افترض أنك أعلنت مصفوفة تحتوي على 10 عناصر.

int testArray[10];

يمكنك زيارة عنصر اللوحة testArray[0] - testArray[9].

الآن،افترض أنك تحاول الوصول إلى testArray[12].العنصر غير المتاح.قد يؤدي ذلك إلى输出生不小心的(抛出 خطأ).

لذلك،لا تصل إلى العناصر خارج حدود المحطة أبدًا.

المحطات المتعددة الأبعاد

في هذا التدريب،لقد تعرفت على المحطات.هذه المحطات تسمى محطات أحادية البعد.

في التدريب التالي،سوف تتعلمالمحطات المتعددة الأبعاد (محطات محطات).