آموزش زبان C (قسمت پنجم:for)

به آموزش زبان C (قسمت پنجم – for) خوش اومدید.

بخش پنجم:حلقه for:

حلقه های for نیز یکی از پرکاربردترین دستورات در زبان های برنامه نویسی هستند. در واقع می توانید با استفاده از حلقه for یک بلوک کد را چندین بار اجرا کنید و برای اجرای حلقه های for به یک متغیر تکرار کننده  (که معمولا با i نمایش داده می شود) نیاز دارید.

اما برای اجرای حلقه for لازم است سه عملیات انجام شود:

  • مقدار دهی اولیه تکرار کننده که معمولا برابر صفر است (i=0)
  • تعیین ماکزیمم مقدار تکرار کننده (i<10)
  • افزایش پله به پله ی تکرار کننده (++i)

به مثال زیر توجه کنید. که یک بلوک کد را ده بار تکرار کردیم:

int i;
for (i = ۰; i < ۱۰; i++) {
    printf("%d\n", i);
}

کاری که کد بالا می کند این است که اعداد ۰ تا ۹ را در خروجی چاپ می کند. در واقع دقت کنید ده بار دستور printf را اجرا می کند و در  هر بار مقدا i را نشان می دهد.

همچنین حلقه های for را می توان برای مقادیر رشته ها نیز تکرار کرد. به طور مثال،  اگر ما می خواهیم تمام مقادیر یک آرایه را جمع کنیم ما می توانیم از i به عنوان شمارنده عضو آرایه استفاده کنیم. به مثال زیر توجه کنید:

int array[۱۰] = { ۱, ۲, ۳, ۴, ۵, ۶, ۷, ۸, ۹, ۱۰ };
int sum = ۰;
int i;
for (i = ۰; i < ۱۰; i++) {
    sum += array[i];
}
/* sum now contains a[0] + a[1] + ... + a[9] */
printf("Sum of the array is %d\n", sum);

ما از i به عنوان شمارنده شماره عدد درون رشته استفاده کردیم.

علامت += هم یک عملگر جمع است که مقدار سمت راست این عملگر با مقدار سمت چپ جمع شده و درون مقدار سمت چپ ریخته می شود (در قسمت عملگرها بیشتر با آنها آشنا می شویم)

تمرین:

با استفاده از حلقه for فاکتوریل عدد ۱۰ را محاسبه کنید (برای این کار از یک رشته استفاده کنید و ضرب تمام آیتم های درون یک آرایه از array[0] تا array[9])  را محاسبه کنید.

پاسخ تمرین:

#include
int main() {
int array[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int factorial = 1;
int i;
for(i=0;i<10;i++){

factorial *= array[i];
}

printf("10! is %d.\n", factorial);
}

پایان آموزش زبان C (قسمت پنجم – for)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

قبلا حساب کاربری ایجاد کرده اید؟
گذرواژه خود را فراموش کرده اید؟
Loading...