در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

آموزش برنامه نویسی C قسمت 13 : توابع

سلام و وقت بخیر. در این جلسه درمورد توابع صحبت میکنیم. استفاده از توابع در برنامه نویسی بسیار رایج است. تقریبا در تمام برنامه های عملیاتی از توابع استفاده میشود. توابع در برنامه نویسی خاصیت ماژولار بودن را به برنامه اضافه میکنند. اگر قرار است برنامه ما 1000 خط باشد، مسلما این 1000 خط را یک تیکه در تابع main نمینویسیم.بلکه برنامه را به تعدای تابع کوچک کوچک خورد میکنیم .توابع باعث خوانا تر شدن و قابل فهم تر شدن برنامه میشوند. عیب یابی را آسان تر میکند و درصورت بروز مشکل در برنامه لازم نیست کل اون 1000 خط برنامه را از اول بنویسیم، فقط همان تابع مشکل دار رو دوباره بررسی میکنیم. قابلیت توسعه و نگهداری سیستم افزایش میابد. اگر قرار باشد سرویس جدیدی در برنامه اضافه شود، توابع لازم را نوشته و به برنامه اضافه میکنیم. جلوتر یاد خواهیم گرفت که توابع را در سورس کد های جدا در فایل های جدا نوشته و در برنامه اصلی آنها را include کنیم. به مثال ساده زیر توجه کنید.

آموزش برنامه نویسی C  قسمت 13 : توابع

آموزش برنامه نویسی C  قسمت 13 : توابع

یک تابع برای جمع 2 عدد نوشتیم. تابع را قبل از تابع main تعریف کردیم ( میتونستیم بعد از main هم بنویسیم که بعدا میگم ) کلمه int نشان میدهد که خروجی تابع ما int است. اگر برنامه خروجی ندارد از کلمه void استفاده میکنیم. (مثلا قراره فقط یه چیزی رو بخونه و نشون بده، قرار نیست از خروجیش استفاده بشه). سپس نام تابع که add-nums است. در داخل پرانتز نوع آرگومان های ورودی به تابع را تعریف میکنیم. هر چی قراره وارد تابع بشه از اینجا وارد میشه. سپس بدنه تابع را مینویسیم. کلمه return هم نشان میدهد خروجی تابع چیست. در اینجا گفته متغیر sum را به عنوان خروجی پاس بده بیرون. تابع main هم تا خط 14 چیز جدیدی نداره. در خط 14 یک متغیر را برابر تابع قرار دادیم. یعنی خروجی تابع را بریز تو اون متغیر. دو متغیر A و B را هم به عنوان ورودی تابع وارد کردیم. در آخر هم متغیر result را چاپ کردیم. این یک مثال خیلی ساده بود. حالا بیاید همینو با حالت void بودن تابع add-sum بنویسیم.

آموزش برنامه نویسی C  قسمت 13 : توابع

در تابع main فقط تابع add_nums را صدا کردیم. البته میشد که a و b رو در main از کاربر بگیره و همراه با صدا کردن تابع، به عنوان آرگومان واسش ارسال کنه.

یکی از مفاهیم مهم توابع، مفهوم توابع بازگشتی است. در یک تابع بازگشتی، تابع مرتبا خود را صدا میزند. مث یه حلقه بهش نگاه کنید. برای کارهای محاسباتی تکراری از توابع بازگشتی استفاده میکنیم. بهترین مثال برای تابع بازگشتی، محاسبه فاکتوریل یک عدد با تابع بازگشتی است. به کد زیر توجه کنید. قبلش بگم که اگه خواستید تابع رو بعد از main تعریف کنید باید قبل از main عنوانشو نوشته باشید. مث مثال زیر.

#include <stdio.h>
long int Factorial ( int n );
int main()
{
    int n ;
    printf( "Enter a positive integer : " );
    scanf( "%d" , &n );
    printf( "Factorial of %d = %ld \n", n, Factorial (n) );
    return 0 ;
}
long int Factorial ( int n )
{
    if ( n >= 1 )
        return n*Factorial ( n-1 ) ;
    else
        return 1 ;
}

آموزش برنامه نویسی C  قسمت 13 : توابع

نکته ای که در توابع بازگشتی باید در نظر داشته باشید این است که برای خاتمه حلقه باید یک شرط قید کنید. در اینجا اون if این کار را میکند. کل مفهوم بازگشتی تو خط 14 هستش.

حال برای تمرین همین برنامه رو طوری تغییر بدین که عدد هایی که تو هم ضرب میشن رو هم نشون بده، اول خودتون حل کنید بعدش جوابو نگاه کنید.

#include <stdio.h>
long int Factorial ( int n );
int main()
{
    int n ;
    printf( "Enter a positive integer : " );
    scanf( "%d" , &n );
    printf( "= %ld \n",  Factorial (n) );
    return 0 ;
}
long int Factorial ( int n )
{
    if ( n > 1 )
    {
        printf( "%d * " , n );
        return n*Factorial ( n-1 ) ;
     }
    if ( n == 1 )
     {
        printf ("%d " , n ) ;
        return n*Factorial ( n-1 ) ;
      }
    else
        return 1 ;
}

آموزش برنامه نویسی C  قسمت 13 : توابع

پایان قسمت سیزدهم

نویسنده : سید محمد باقر موسوی

منبع : جزیره برنامه نویسی وب سایت توسینسو

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی است

#برنامه_نویسی_به_زبان_c #نوشتن_shell_script_در_لینوکس #زبان_برنامه_نویسی_c_در_لینوکس #برنامه_نویسی_به_زبان_c_در_لینوکس #آموزش_گام_به_گام_برنامه_نویسی_c #برنامه_نویسی_c_در_linux #آموزش_برنامه_نویسی_c_در_لینوکس
عنوان
1 آموزش برنامه نویسی C قسمت 1 : نصب محیط برنامه نویسی رایگان
2 آموزش برنامه نویسی C قسمت 2 : Hello World رایگان
3 آموزش برنامه نویسی C قسمت 3 : Data Types رایگان
4 آموزش برنامه نویسی C قسمت 4 : Data Types رایگان
5 آموزش برنامه نویسی C قسمت 5 : اشاره گر ها رایگان
6 آموزش برنامه نویسی C قسمت 6 : آرایه ها رایگان
7 آموزش برنامه نویسی C قسمت 7 : ساختار شرط IF رایگان
8 آموزش برنامه نویسی C قسمت 8 : حلقه for رایگان
9 آموزش برنامه نویسی C قسمت 9 : حلقه While رایگان
10 آموزش برنامه نویسی C قسمت 10 : Struct رایگان
11 آموزش برنامه نویسی C قسمت 11 : تابع دریافت ورودی scanf رایگان
12 آموزش برنامه نویسی C قسمت 12 : فایل های متنی و باینری رایگان
13 آموزش برنامه نویسی C قسمت 13 : توابع رایگان
14 آموزش برنامه نویسی C قسمت 14 : توابع اشاره گر رایگان
15 آموزش برنامه نویسی C قسمت 15 : argc argv رایگان
16 آموزش برنامه نویسی C قسمت 16 : Multiple Source Files رایگان
17 آموزش برنامه نویسی C قسمت 17 : String Functions & Operations رایگان
18 آموزش برنامه نویسی C قسمت 18 : Char Pointers VS Array Char رایگان
19 آموزش برنامه نویسی C قسمت 19 : Binary & Unary Operations رایگان
20 آموزش برنامه نویسی C قسمت 20 : Type Casting رایگان
21 آموزش برنامه نویسی C قسمت 21 : readdir & opendir functions رایگان
22 آموزش برنامه نویسی C قسمت 22 : Fork Function رایگان
23 آموزش برنامه نویسی C قسمت 23 : Thread رایگان
24 آموزش برنامه نویسی C قسمت 24 : Switch Case Statement رایگان
25 آموزش برنامه نویسی C قسمت 25 : qsort رایگان
26 آموزش برنامه نویسی C قسمت 26 : Socket Programming رایگان
27 آموزش برنامه نویسی C قسمت 27 : لیست پیوندی (Linked List) رایگان
زمان و قیمت کل 0″ 0
2 نظر
محمد نصیری

آخ اون قسمت کد عالی بود ، سید جان برای عکس ها کدش در اختیارت نیست کنارش قرار بدی ؟ خیلی میتونه هم تو SEO هم تو کاربری راحت تر از آموزش ها به کاربرا کمک بکنه.

سید محمد باقر موسوی

خودمم دوس دارم کد ها رو بنویسم تو تگ تا اینکه عکس بزارم ولی چون لینوکسم رو vm نصبه ، کدا رو نمیتونم کپی کنم، باید بنویسمشون دوباره اینور تو ویندوز... مگه اینکه از browser خود centos بیام تو سایت.....

چرا زودتر به ذهنم نرسید ؟؟!!! :))))

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره تابستانه می تونی امروز ارزونتر از فردا خرید کنی ....