SpareNet Servers Advertising & Link Exchange

اطلاعیه

بستن
هیچ اطلاعیه ای هنوز ایجاد نشده است .

آموزش زبان C

بستن
X
 
  • فیلتر
  • زمان
  • نمایش
پاک کردن همه
نوشته‌های جدید

  • آموزش زبان C

    با سلام و درود خدمت تمامی اعضای عزیز...

    بنا به تصمیم خودم و موافقت مدیریت تیم، در این پست به آموزش زبان برنامه نویسی C می پردازیم.
    لازم به ذکر است این آموزش ها به صورت قدم به قدم (مبتدی تا پیشرفته) می باشد.

    از اساتید مجرب و ممتاز در این زمینه دعوت به همکاری می شوند. دوستانی هم که نکات و مطالبی بیشتر از سطح علمی اینجانب دارا هستند، لطفاً همکاری نمایند به جای این که سوال پیچ یا غلطگیری کنند.

    از پست بعدی به شروع آموزش و آشنایی شما عزیزان با این زبان برنامه نویسی می پردازیم.
    [hr]
    [align=center]بسم الله الرحمن الرحیم[/align][align=center]--------------------------------------------------------------------------------------------------------------------------------------------------------------------[/align] [align=center]جلسه اول: معرفی زبان C[/align]
    زبان C از اوایل دهه 1970 میلادی توسط دنیس ریچی در آزمایشگاه وی به منظور برنامه نویسی سیستم ها ایجاد شد.

    مفسرهای این زبان نیز به سرعت منتشر شدند که در ادامه لینک یک مفسر(کامپایلر) را برای شما قرار می دهیم.



    برخی از ویژگی های مهم زبان C:

    در دسترس بودن در همه جا
    همه منظوره
    انعطاف پذیری
    قرار داشتن در بین زبان های سطح بالا و سطح پایین
    برنامه هایی که توسط این زبان نوشته می شوند، به طور کلی مستقل از ماشین یا نوع رایانه بوده و تقریباً تحت کنترلهر سیستم عاملی اجرا می شود.
    مفسرهای این زبان اکثراً کم حجم اند و برنامه هایی که با این مفسرها کامپایل می شوند، نسبت به سایر برنامه ها کم حجم ترند.

    به راحتی قابل انتقال اند (پرتابل بودن)
    زبان C برنامه سازی ماژولار را ساپورت می کند. و از نظر عملگرها نیز بسیار قوی است.
    در کل جامع بودن، عام بودن، خوانایی، سادگی، کارایی و ... این زبان را محبوبیت بالایی بخشیده است.
     
    [hr]
    [align=center]جلسه دوم - کاراکترها در زبان C
    [/align]زبان C مجموعه ای از کاراکترهای خاص را پشتیبانی می کند که عبارتند از:

    1- حروف بزرگ و کوچک لاتین که این زبان بر خلاف زبان پاسکال، بین حروف بزرگ و کوچک تفاوت قائل می شود. مثلاً: Main با main در زبان C کاملاً متفاوت اند.
    2- ارقام ده دهی یا دسیمال ( ارقام 1 تا 9) ارقام ده دهی را معمولاً با انگشتان دست می شناسند. از صفر شروع و به 9 ختم می شود.
    3- جای خالی یا Blank
    4- کاراکترهای خاص مانند: & , . <> . {} [] ~ ; : () ^ %$#@!+-= \ / * ?
    5- کاراکترهای فرمت بندی که برای بیان حالات خاص کاربرد دارند. مثل کاراکتر Horizontal tab یا همان کاراکتر افقی یا t\ و کاراکتر خط قائم یا Vertical tab یا v\ و کاراکتر خط جدید یا New Line یا n\ یا کاراکتر ابتدای سطر یا r\ یا کاراکتر تهی یا 0\
    نکته: هر کاراکتر فرمان ( همین کاراکترهای فرمت بندی)، بیان کننده تنها یک کاراکتر است یعنی n\ یک معنا دارد که همان خط جدید است.

    ----------------------------------------------------------------------------------------------

    ((((((((((((((((((((( جلسات بعدی در روزهای آینده ))))))))))))))))))))))
    نام کاربری و فعالیت مجدد به 3cure تعلق و تغییر یافت...

  • #2
    RE: آموزش زبان C

    با سلام دوستان..

    در این پست کامپایلر محبوب خودم رو براتون می ذارم.

    Turbo C++ 3.0


    لینک دانلود:
    http://hacker.fardblog.com/upload/other/tc.zip
    نام کاربری و فعالیت مجدد به 3cure تعلق و تغییر یافت...

    نظر


    • #3
      آموزش زبان C - جلسه سوم

      با سلام حضور تمامی دوستان عزیز.
      امروز به بیان بحث شناسه ها در زبان C می پردازیم. با ما همراه باشید...
      ------------------------------------------------------------------------------

      شناسه ها (Identifier) :

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

      مثالی از شناسه های معتبر در زبان C:
      x2 - sum - iranhack - maximum - iran_hack

      مثالی از شناسه های نامعتبر:
      book-5 - 4s - $um - "p"- number one


      نکات مناسب و مهم در کدنویسی:

      1- از شناسه هایی با 31 کاراکتر یا مقدار کمتری کاراکتر استفاده کنید. اینکار باعث می شود برنامه ای که خواهید نوشت قابلیت حمل داشته باشد ( احتمال قابل حمل بودن یا پرتابل بودن آن بیشتر می شود)و می تواند از بروز خطاهای ظریف در کدنویسی جلوگیری می کند.
      2- انتخاب نام های با معنی برای شناسه ها خود به مستند سازی برنامه ها کمک شایانی می نماید.یعنی در چنین صورتی توضیحات کمتری مورد نیاز است.
      ( بحث توضیحات و متغیرها را در جلسه بعدی معرفی می نماییم)

      ---------------------------------------------------------------------------------------------------------------

      پایان جلسه امروز[img]images/smilies/Smileys/111.gif[/img]

      دوستان خسته نباشید.[img]images/smilies/Smileys/48.gif[/img]
      نام کاربری و فعالیت مجدد به 3cure تعلق و تغییر یافت...

      نظر


      • #4
        آموزش زبان C - جلسه چهارم

        سلام دوستان عزیز...

        در این جلسه که چهارمین جلسه از آموزش زبان C می باشد، به بررسی و معرفی متغیرها در زبان C می پردازیم:

        متغیرها:

        متغیرها شناسه هایی هستند که محلهایی را از حافظه به خود اختصاص می دهند. تعریفی دیگر از متغیرها به این صورت است که:
        متغیر شناسه ای است که در میان بخشی از برنامه برای نسبت دادن نوع تعیین شده ای از اطلاعات مورد استفاده قرار می گیرد.
        متغیر ترکیبی از ارقام، حروف و علامت زیر خط (_) است. طول هر متغیر در زبان C در استاندارد ANSI تا 31 کاراکتر است ولی در بعضی از مفسرهای قدیمی به 8 کاراکتر محدود است.

        بعضی از شناسه های زبان C کلمات رزرو شده یا کلیدی هستند. یعنی معانی و مفهوم آنها از قبل تعریف شده است.
        متداول ترین کلمات کلیدی در زبان C عبارتند از:[align=left]main - int- float - char - if - else - goto - for - double - do - while - defult - signed - return - register - enum - const - continue - short - case - auto - struct - static - sizeof - break - long - switch - void - typedef - extern - unsigned - union[/align]
        نکته مهم: همه کلمات کلیدی در زبان C با حروف کوچک نوشته می شوند.


        دوستان به دلیل کمبود وقتی که دارم، امروز کافی هست.

        [img]images/smilies/Smileys/136.gif[/img]
        نام کاربری و فعالیت مجدد به 3cure تعلق و تغییر یافت...

        نظر


        • #5
          آموزش زبان C - جلسه پنجم

          با سلام . اين جلسه جلسه پنجم از سري جلسات آموزش هست.

          .....

          امروز به بيان مباحثي هرچند پيش پا افتاده مي پردازيم:


          توضيح در برنامه نويسي:

           هدف از نوشتن توضيح، مستند سازي و افزايش خوانايي و درك برنامه ها براي افراد ديگر و نيز خود برنامه نويس در مراجعات بعدي است.
          در زبان C هر عبارتي كه بين دو علامت /* و */ قرار گيرد، به عنوان توضيح شناخته مي شود. مثلاً:[align=left]   /* iran hack security tm */[/align]در اينجا عبارت iran hack security tm به عنوان توضيح محسوب شده و با اجراي برنامه، كامپايلر هيچگونه كاري را روي اين توضيحات انجام نمي دهد. كامپايلر توضيحات را ناديده گرفته و هيچ گونه كد مقصد زبان ماشين براي آن توليد نمي كند.

          در برخي از نسخه هاي كامپايلرها، از علامت // مي توان براي افزودن توضيح استفاده كرد.

          توضيحات مي تواند عملكرد قسمتي از كدها را به اشخاص ديگر توضيح دهد. يا اينكه اگر يك برنامه گروهي نوشته شود، افزودن توضيح مي تواند به ديگر اعضاي گروه جهت راهنمايي كمك شاياني نمايد.


          نكات مهم:

          1- در هر جايي از برنامه كه فضاي خالي مجاز باشد، مي توان از آن فضا براي قرار دادن توضيح استفاده كرد.
          2- نوشتن زياد توضيحات در برنامه، نه تنها به خوانايي برنامه كمك نمي كند بلكه خواندن آن را دشوارتر مي كند.
          3- ننوشتن محدود كننده پايان توضيح ( /* ) باعث ايجاد يك خطاي دستوري مي شود.
          4- شروع يك توضيح با كاراكترهاي /* و پايان دادن آن با علامت ( */ ) يك خطاي دستوري ايجاد مي كند.


          ################################################## #####

           ساختار برنامه هاي زبان C:

          همه برنامه هاي نوشته شده در زبان C داراي يك يا چندين تابع هستند كه فقط يكي از آنها تابع اصلي يا همان main است.
          هر برنامه فقط يك تابع دارد كه همان تابع اصلي است. هر برنامه (تمامي برنامه هاي C ) با اجراي تابع اصلي اجرا مي شوند.

          ( با بحث توابع در جلسات بعدي آشنا خواهيد شد.)

          هر برنامه در زبان C داراير حداقل اجزاي مقدماتي زير است:[align=left]تابع اصلي                ( )main
            شروع تابع اصلي                         }[/align][align=left] تعريف متغيرها          ;variables declarations           [/align][align=left]  دستورات برنامه             ;program statements           
          پايان تابع اصلي                          {[/align]

          دوستان عزيز انشاءالله در جلسات بعدي مطالب هر جلسه بيشتر خواهد شد.[img]images/smilies/Smileys/48.gif[/img][img]images/smilies/Smileys/6.gif[/img][img]images/smilies/Smileys/103.gif[/img]
          نام کاربری و فعالیت مجدد به 3cure تعلق و تغییر یافت...

          نظر


          • #6
            آموزش زبان C - جلسه ششم

            سلام دوستان عزیز.
            پس از چند روزی مشغله بالاخره رسیدیم سر آموزش.
            خب بریم سراغ آموزش امروز. جلسه ششم از این آموزش را در خدمتتون هستیم. دوستان عزیز از این جلسه به بعد، کد نویسی را شروع و با استفاده از کد ها و برنامها، به توضیحات مباحث می پردازیم.
            در جلسه پیش در مورد ساختار برنامه های C با هم بحث کردیم و گفتیم هر برنامه C دارای حداقل اجزایی به شرح زیر است:
            1- تابع اصلی main
            2- شروع تابع اصلی
            3- تعریف متغیرها
            4- دستورات برنامه
            5- پایان تابع اصلی

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

            به قطعه برنامه مقابل توجه کنید:

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

            - خط اول یک دستور پیش پردازنده است. خطوطی که با # شروع می شوند، قبل از اینکه در برنامه کامپایل شوند، توسط پیش پردازنده (Preproccessor) پردازش می شوند. در اینجا،
            محتوای خط اول به پیش پردازنده اعلام کی کند تا محتوای سرفایل (header) وردی/خروجی را در برنامه بگنجاند. این خط در واقع ارجاع به فایلی می باشد که شامل اطلاعاتی است کع در هنگام کامپایل شدن برنامه باید در برنامه قرار گیرند. هر مجموعه از توابع که عملیات ویژه ای را انجام می دهند، در مجموعه ای با عنوان کتابخانه یا library قرار می گیرند. توابعی که عملیات ورودی (مانند تابع scanf ) و خروجی(مانند printf) را انجام می دهند، در کتابخانه ای با نام stdio.h قرار دارند. stdio به معنای standard input output و h نیز به معنای سرفایل یا همان header می باشد.

            - خط دوم یک قسمت از هر برنامه C است. همانطور که در جلسات پیشین ذکر کردیم، همه برنامه های C دارای یک تابع اصلی هستند که main نام دارد. توابع می توانند اطلاعات را بازگردانند. پرانتز خالی در ادامه main بدین معنی است که این تابع آرگومانی ندارد. البته در این جا عاری از آرگومان است ولی در برنامه های دیگر می توانند آرگومان داشته باشد.

            - خط سوم که حاوی آکولاد باز است، شروع بدنه تابع را نشان می دهد.

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

            - بدنه هر تابع با آکولاد باز و پایان آن با آکولاد بسته مشخص می شود. نکته حائز اهمیت اینجاست که می توان آکولاد ها را به صورت تودرتو نیز بکار برد که بیشتر در مورد توابع شرطی کاربرد دارد.

            - خط چهارم، اولین دستور در متن برنامه است که متغیر ها را توصیف یا اعلان می کند. محتوای این خط بیان می کند که مقادیر x و S به صورت Integer یا همان داده صحیح یک مکان از حافظه را به خود اختصاص داده اند. در مورد داده های صحیح جلسات بعدی بحث می کنیم.

            - خط پنجم دستورات برنامه است. این دستور به رایانه فرمان می دهد که کاری را انجام دهد که در این مثال کاری که ما به رایانه فرمان می دهیم، مساحبه مساحت مربع است که به صورت فرمولی ارائه داده ایم.

            - خط ششم
            محتوای این خط نیز به رایانه فرمان انجام کار را می دهد که در اینجا همان نمایش نتیجه دستور و چاپ آن در خروجی است. انجام کار در اینجا یعنی یک رشته (string) از کاراکترهایی را که بین دو علامت کوتیشن دوگانه ( دابل کوتیشن)( " ") است چاپ کند. تمام خط که شام printf و آرگومانش ( محتوای درون پرانتز) و علامت سمی کالن است را یک دستور می نامند. هنگامی که این دستور اجرا می شود، پیغام Area is %d برروی نمایشگر نشان داده می شود. آرگومانهای این تابع Area is %d و S می باشند که آرگومان اول را رشته فرمت می نامیم که حاوی تعدادی کاراکتر است و قرار است چاپ شوند و نیز مشخصه تبدیل d% است. که بیان می کند عددی که قرار است در خروجی چاپ شد از نوع اعداد دسیمال ( اعداد دهدهی یا در مبنای 10 که اعداد صفر تا 9 هستند) چاپ شود. آرگومان دوم (S) مقداری است که نتیجه آن باید توسط تابع printf به چاپ برسد. توجه کنید که دستور خط پنجم را می توان در داخل تابع printf آورد.

            - خط آخر مقدار 0 را به سیستم عامل که برنامه در آن اجرا می شود، برمی گرداند. این مقدار به سیستم عامل اعلام می کند که برنامه با موفقیت به پایان رسیده و انجام شده. آکولاد بسته نیز به معنای پایان تابع اصلی می باشد.


            نکات:

            1- ننوشتن یک یا هردو کوتیشن دوگانه در فرمت رشته تابع printf یک خطای دستوری است.
            2- فراموش کردن % داخل مسخصه تبدیل در فرمت رشته تابع printf خطای دستوری است.
            3- ننوشتن عبارتهایی که مقادریشان را می خواهید در یک دستور printf با مشخصه های تبدیل چاپ شوند، یک خطای دستوری است.
            4- هرگاه در یک فرمت رشته printf برای چاپ مقدار یک عبارت، یه یک مشخصه تبدیل نیاز باشد، فراهم نکردن آن یک خطای دستوری است.
            5- قرار دادن کاما در داخل فرمت رشته که به منظور جدا کردن رشته های فرمت رشته از عبارت های چاپ شده بکار رود، یک خطای دستوری است.


            خب این جلسه هم به پایان رسید.

            در جلسه بعد به معرفی انواع داده ها در زبان C می پردازیم.[align=left] [/align]
            نام کاربری و فعالیت مجدد به 3cure تعلق و تغییر یافت...

            نظر


            • #7
              RE: آموزش زبان C

              با سلام مجدد خدمت عزیزان ایران هکی و ابراز خرسندی از این که دوباره در کنار شما هستم

              باعرض معذرت از استاد عزیز اجازه میخوام که درپرانتز چند مطلب رو عرض کنم خدمتتون

              1-سعی کنید از کتاب آموزشی جناب جعفرنژادقمی برای شروع یادگیری استفاده نکنید چون طرز بیانش بدرد افراد مبتدی نمیخوره(بنا بر تجربه شخصی)

              2-از کامپایلر مایکروسافت ویژوال استودیو2012 استفاده کنید چون هم کامله هم محیط بسیارکاربر پسندی داره وهم باگ هتونو با رنگ های مختلف درهمون ابتدا معرفی میکنه

              3- بهتره بجای تابع main از تابع void main استفاده بشه چون دراین صورت دیگه نیازی به استفاده از return0 ندارید

              نظر

              صبر کنید ..
              X