1. مهمان گرامی، جهت ارسال پست، دانلود و سایر امکانات ویژه کاربران عضو، ثبت نام کنید.
    بستن اطلاعیه

آموزش زبان C (گام به گام)

شروع موضوع توسط minaaa ‏18/2/12 در انجمن C #C++

  1. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,773
    تشکر شده:
    6,457
    امتیاز دستاورد:
    113
    پاسخ : آموزش زبان C (گام به گام)

    هر برنامه در زبان C داراي خصيصه هايي است كه بعضي از آنها عبارتند از :
    1 - در زبان C هر دستور برنامه به يك ; ختم مي شود .
    2 - هر دستور ميتواند در چند خط ادامه داشته و يك خط ممكن است شامل چند دستور
    باشد .
    3 - حداكثر طول يك خط برنامه 254 كاراكتر است .
    4 - در زبان C برنامه نويس مي تواند در هر نقطه از برنامه ، بااستفاده از علائم { و } يك بلاك را مشخص كرده و هر متغيري را كه مي خواهد در آنجا تعريف نمايد .
    اين متغيرها فقط در آن بلاك معني خواهند داشت . توجه داريم كه هر بلاك مجموعه اي از دستورات وابسته به يكديگر خواهد بود :
    5 - براي داشتن توضيحات در برنامه كافي است آنها را دربين /* و */ قرار داد:


    C يك زبان ساخت يافته بلاكي نيست . اين بدان معني است كه تعريف يك زيربرنامه ( در اينجا تابع ) در زيربرنامه ديگر ( همانند پاسكال ) امكان پذير نيست و اين امر از مساله coupling مي كاهد . C زبان برنامه نويسي سيستم است . منظور از برنامه هاي سيستم عبارتند از :
    1 - سيستم عامل ( Operating system )
    2- مفسر (Interpreter)
    3- ويراستار (Editor)
    4- اسمبلر (Assrmbler)
    5- كامپايلر (Compiler)
    6- مديريت بانكهاي اطلاعاتي (Database management)

    امروزه C در اكثر امور برنامه نويسي مورد استفاده قرار مي گيرد . زيرا اين زبان هم داراي خصيصه " قابل حمل بودن " است و هم داراي كارآيي خوبي مي باشد و سرعت زياد C بر محبوبيت آن افزوده است . مساله قابل حمل بودن ، يك مساله بسيار مهم است زيرا هم موجب صرفه جويي در وقت شده و هم باعث صرفه جويي در هزينه ها مي گردد .
     
    یک شخص از این تشکر کرد.
  2. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,773
    تشکر شده:
    6,457
    امتیاز دستاورد:
    113
    پاسخ : آموزش زبان C (گام به گام)

    زبان C فقط داراي 32 كلمه كليدي است كه 27 كلمه كليدي آن توسط ريچي ( طراح زبان سی ) معرفي شده و 5 كلمه كليدي ديگر توسط موسسه استاندارد سازي زبان به آن اضافه شده است . اين تعداد در مقايسه با 159 كلمه كليدي كه در زبان بيسيك وجود دارد قابل توجه است .

    كليه كلمات كليدي در زبان C به حروف كوچك نوشته مي شوند . چون در اين زبان بين حروف كوچك و بزرگ تفاوت است ، به عنوان مثال كلمه else يك كلمه كليدي است

    کلمات کلیدی زبان C در زیر آمده است :
    ستاره دارها کلمات کلیدی هستند که به وسیله موسسه استاندارد سازی زبان افزده شده است:

    کد:
    | auto | double | int | struct |
    | break | else | long | switch |
    | case | enum* | register | typedef |
    | char | extern | return | union |
    | const* | float | short | unsigned |
    | continue | for | signed* | void* |
    | default | goto | sizeof | volatile* |
    | do | if | static | while |


    بعضي از كامپايلرها علاوه بر 32 كلمه كليدي كلمات كليدي ديگري به زبان C اضافه نموده اند که در زیر آمده است:

    کد:
    | asm | ess |- ds |- es |
    |- ss | cdecl | far | huge |
    | intrrupt | near | pascal |
     
    یک شخص از این تشکر کرد.
  3. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,773
    تشکر شده:
    6,457
    امتیاز دستاورد:
    113
    پاسخ : آموزش زبان C (گام به گام)

    انواع داده



    همان طور كه قبلا" گفته شد در هر زبان برنامه سازي تعدادي از نوع هاي داده وجود دارند كه بازه اي را شامل بوده و اعمال خاصي روي آنها انجام پذير است و در C پنج نوع داده اصلي وجود دارد كه عبارتند از : char، int ، float ، double و void .

    در اين زبان اندازه و محدوده اي كه هر نوع داده اختيار مي كند بستگي به نوع پردازشگر (Processor ) و نحوه پياده سازي كامپايلر دارد. (برنامه زیر طول متغیرها را در کامپیوتر شما بر می گرداند) :



    شناسه هايي ( متغير برچسب ، اسامي توابع و ... ) كه از نوع char باشند براي ذخيره كردن مقاديري كه توسط كاراكترهاي اسكي تعريف شده اند به كار مي روند. شناسه هايي از نوع int براي ذخيره كردن مقادير صحيح و از نوع float و double و براي ذخيره كردن اطلاعات عددي اعشاري به كار ميروند كه محدوده آنها توسط تعداد ارقام و دقت آنها مشخص ميشود.

    نوع void در مورد بدون مقدار به كار مي رود .

    نوعهاي داده اصلي ( به جز void ) مي توانند با عباراتي مثل signed ، long ، unsigned
    و short تركيب شده و نوع هاي ديگري را به وجود آورند .
     
    یک شخص از این تشکر کرد.
  4. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,773
    تشکر شده:
    6,457
    امتیاز دستاورد:
    113
    پاسخ : آموزش زبان C (گام به گام)

    متغيرها​


    متغير، نامي براي يك محل حافظه است كه محتويات آن در طول اجراي برنامه ممكن
    است تغيير كند . اسم هر متغير شامل حروف a تا z ، A ، تا Z ، ارقام 0 تا 9 و خط
    ربط است . به طوري كه با يكي از حروف و يا خط ربط شروع شده باشند . طول نام هر
    متغير بستگي به نوع كامپايلر دارد كه معمولا" از 1 تا 31 كاراكتر قابل استفاده
    است .
     
    یک شخص از این تشکر کرد.
  5. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,773
    تشکر شده:
    6,457
    امتیاز دستاورد:
    113
    پاسخ : آموزش زبان C (گام به گام)

    تعريف نوع متغير


    براي استفاده از متغيرها درC بايد ابتدا آنها را تعريف كنيم . تعريف متغيرها شامل نامگذاري و تعيين نوع آنها است كه به صورت زير انجام مي شود :
    کد:
    int var1 , var2;


    نوع اسامي متغيرها يكي از انواعی است كه قبلا ذكر كرديم و مي خواهيم داراي آن نوع باشد . براي تعريف چند متغير در يك دستور ، همانند مثال فوق بايد اسامي را با كاما از يكديگر جدا کرد.
    دستور فوق دو متغير به اسامي var2 و var1 را از نوع int تعريف مي كند .
    کد:
    float flovar1, flovar2;


    دستور فوق ، دو متغير به نام هاي flovar2 و flovar1 را از نوع float تعريف مي كند .
    کد:
    double d1;
    char ch;


    اولين دستور ، d1 را از نوع double و دستور دوم متغير ch را از نوع char تعريف مي كند .
     
    یک شخص از این تشکر کرد.
  6. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,773
    تشکر شده:
    6,457
    امتیاز دستاورد:
    113
    پاسخ : آموزش زبان C (گام به گام)

    مقدار دادن به متغيرها


    براي مقدار دادن به متغيرها مي توان به دو طريق عمل كرد:
    1 - به هنگام تعريف متغير .
    2 - پس از تعريف متغير .
    به عنوان مثال :
    کد:
    int a=0;
    int b, c, d, e=0;
    char ch= 'a';
    b=0;
    c=d=0;


    دستور اول ضمن تعريف a از نوع int مقدار آن را برابر با 0 قرار مي دهد .
    دستور دوم چهار متغير b، c، d ، e را از نوع int تعريف كرده و فقط مقدار متغير e را برابر صفر قرار می دهد.
    دستور سوم مقدار متغیر ch را از نوع كاراكتري تعريف كرده و مقدار آن را برابر با حرف a قرار مي دهد .
    دستور چهارم مقدار متغير b را برابر با 0 قرار مي دهد . (در این دستور متغیری تعریف نشده یعنی قبل از این خط باید متغیر تعریف شده باشد) .
    دستور پنجم مقدار دو متغير c و d را برابر صفر قرار مي دهد و اين دستور ، انتساب چندتايي را مشخص مي كند .
     
    یک شخص از این تشکر کرد.
  7. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,773
    تشکر شده:
    6,457
    امتیاز دستاورد:
    113
    پاسخ : آموزش زبان C (گام به گام)

    const


    همان طور كه قبلا" گفته شد مقدار متغيرها ممكن است در طول اجراي برنامه تغيير كند . با استفاده از كلمه كليدي const مي توانيم متغيرهايي را تعريف كنيم كه مقدار آنها در طول اجراي برنامه ثابت باشد .
    براي تعريف اين نوع متغيرها بصورت زير عمل مي شود :
    مثال :
    کد:
    const int a = 10 , b = 20;


    دستور فوق دو متغير a و b را از نوع int تعريف كرده و مقادير آنها را برابر 10 و 20 قرار مي دهد . اين مقادير در طول اجراي برنامه غیر قابل تغيير هستند .
     
    یک شخص از این تشکر کرد.
  8. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,773
    تشکر شده:
    6,457
    امتیاز دستاورد:
    113
    پاسخ : آموزش زبان C (گام به گام)

    عملگرها


    عملگرها نمادهايي هستند كه براي انجام اعمال خاصي مورد استفاده قرارميگيرند. عملگرها در زبان C از تنوع زيادي برخوردارند . در C چهار دسته عملگر به نامهاي ( محاسباتي ، رابطه اي ، منطقي و دستكاري بيت ها ) وجود دارند كه آنها را بررسي
    مي كنيم .
     
    یک شخص از این تشکر کرد.
  9. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,773
    تشکر شده:
    6,457
    امتیاز دستاورد:
    113
    پاسخ : آموزش زبان C (گام به گام)

    عملگرهاي محاسباتي


    عملگرهاي محاسباتي كه در C مورد استفاده قرار مي گيرند در جدول زیر فهرست شده اند .

    عملگرهاي رديف 1 تا 4 جدول تقريبا" در همه زبانهاي برنامه سازي وجود دارند. عملگر % كه در بقيه زبانها با علامت ديگري ( مثلا" در بيسيك به صورت MOD) وجود دارد باقيمانده تقسيم دو عدد را محاسبه مي كند :
    کد:
    x= 13;
    y= 5;
    z= x%y;


    اگر سه دستور فوق را توسط ماشين اجرا كنيم مقدار 3 كه باقيمانده تقسيم 13 بر 5
    است در z قرار مي گيرد .

    عملگر كاهش - - ، يك واحد از عملوند مربوط كم مي كند .
    کد:
    x= 10;
    -- x;


    دستور x - - از x يك واحد كم مي كند و نتيجه را در x قرار مي دهد كه معادل دستور x = x-1 است .
    عملگر افزايش ، يك واحد به عملوند مربوطه اضافه مي كند :
    کد:
    x= 40;
    ++x;


    دستور ++x معادل دستور x = + 1 است كه موجب افزودن يك واحد به x مي شود .

    عملگرهاي افزايش و كاهش يك واحد را مي توان بعد از عملوند مربوطه نيز به كار
    برد مثل : x + + و - - x . یعنی هم قبل از x می توان انها را استفاده کرد و هم بعد از x. اگر در يك عبارت از عملگرهاي افزايش و كاهش يك واحد ، استفاده كنيم به كار بردن اين عملگرها در قبل و بعد از عملوند مربوطه ، با يكديگر متفاوت است . بدين معني كه اگر اين عملگرها قبل از عملوند باشند مقدار فعلي عملوند مورد استفاده قرار گرفته و سپس عملگرها بر روي آن عمل ميكنند، ولي اگر بعد از عملوند مربوطه باشند پس از انجام عمل افزايش و كاهش يك واحد به آنها مقادير جديد ، در عبارت مورد استفاده قرار مي گيرند.
    استفاده ازعملگرهاي افزايش و كاهش يك واحد ، سرعت محاسباتي را بالا مي برد .
     
    یک شخص از این تشکر کرد.
  10. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,773
    تشکر شده:
    6,457
    امتیاز دستاورد:
    113
    پاسخ : آموزش زبان C (گام به گام)

    اگر در يك عبارت از چند عملگر محاسباتي استفاده شود ، مساله تقدم عملگرها مطرح مي شود جدول زیر :

    بالاترين تقدم - - و + +

    ( تفريق يكاني - ) و * و %

    پايين ترين تقدم - و +

    همان طور كه در جدول فوق مشاهده مي شود ، عملگرهاي افزايش و كاهش يك واحد داراي بالاترين تقدم و عملگرهاي جمع و تفريق داراي كمترين تقدم هستند و منهاي يكاني ، داراي دومين تقدم است . عملگرهايي كه در يك سطر آمده اند ، مثل - و + بدين معني است كه داراي تقدم مكاني نسبت به يكديگر هستند. در اين صورت هر كدام از غملگرها كه اول ظاهر شود ، زودتر انجام خواهد شد .
     
    یک شخص از این تشکر کرد.