لطفا قبل از ايجاد تاپيک در انجمن ، با استفاده از کادر رو به رو جست و جو نماييد
ads ads
http://www.mobile4persian.com/img/uploads/13716247281.jpg

MultiHoster
+ ارسال موضوع جدید
نمایش نتایج: از 1 به 8 از 8

موضوع: آموزش برنامه نویسی به زبان C

  1. Top | #1
    مرجع تخصصی و رایگان ویبولتین در ایران | ویکی وی بیمرجع تخصصی و رایگان ویبولتین در ایران | ویکی وی بی
    r3llik آنلاین نیست.
    ورود به پروفایل ایشان

    عنوان کاربر
    کاربر سایت
    تاریخ عضویت
    Aug 2008
    شماره عضویت
    263633
    نوشته ها
    105
    میانگین پست در روز
    0.05
    پسندیده
    0
    مورد پسند : 0 بار در 0 پست

    موضوع پیش فرض آموزش برنامه نویسی به زبان C

    همانطور که میدانید زبان C در سال 1972 توسط آقای ریچی طراحی شد ..علت نامگذاری زبان C این است که چون بعد از زبان B طراحی شده است آن را C نامیده اند .
    برنامه نویسان زبان های برنامه نویسی را به سه دسته مختلف زبان های سطح بالا . زبان های میانی و زبان های سطح پایین طبقه بندی می کنند . زبان C در این طبقه بندی در جمع زبانهای میانی قرار می گیرد علت آن هم این است که چون همانند زبان های سطح پایینی مثل زبان اسمبلی می تواند مستقیما به حافظه دسترسی داشته باشد و همچون زبان سطح بالای پاسکال قابلیت خوانایی بالایی دارد ...
    زبان C جزو یکی از قدرتمند ترین زبان های موجود می باشد (بوده و هست )..قابلیت های انعطاف بالای این برنامه قابلیت بهره برداری از سخت افزار و... جزو عوامل قدرتمند نگه داشتن این زبان می باشند .
    اصول کلی در نوشتن یک برنامه

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

    1-تعین نیازهای برنامه
    2-تحلیل برنامه
    3-طراحی الگوریتم برنامه
    4-پیاده سازی الگوریتم
    5-تست و کنترل برنامه
    6-ذخیره برنامه

    ----------------------------------------------------------------------------------
    یک مثال : فرض کنید از ما می خواهند برنامه ای بنویسیم تا میانگین دو عدد را پیدا کند ؟

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

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

    دقت داشته باشید که اغلب الگوریتم ها مراحل زیر را شامل می شوند :

    1-خواندن داده ها (ورودی ها به برنامه)
    2-انجام عملیات ( مثل محاسبات . حلقه ها . شروط و...)
    3-چاپ نتایج


    فلوچارت چیست ؟
    فلوچارت در حقیقت رسم این الگوریتم به صورت گرافیکی است که برای سهولت کار مورد استفاده قرار می گیرد . رسم فلوچارت برای کسانی که تازه پا به عرصه برنامه نویسی گذاشته اند سبب آسان شدن حل مسائل می شود و هر چه که پیش می روند نیاز کمتری به رسم فلوچارت می بینند و سعی می کنند تا الگوریتم را در ضحن خود طراحی و پیاده سازی کنند و شروع به نوشتن برنامه کنند .


    آشنایی با زبان سی :

    در پست های قبلی مقداری از الگوریتم و طرح برنامه و همچنین از فلوچارت بحث کردیم ..در این پست و پست های بعدی سعی خواهم کرد شما را بیشتر با زبان سی آشنا کرده و گام به گام از ابتدا به بررسی ساختار های این زبان بپردازم ...در طول این مسیر شاهد استفاده از مطالب قبلی نیز خواهید بود ...

    خوب همانطور که می دانید زبان سی شامل یک سری دستورات خاص می باشد که یک برنامه نویس که قصد برنامه نویسی به زبانی مثل سی را دارد کد های بر نامه را نوشته سپس توسط ادیتور یا همان کامپایلر ( توربو سی یا ویژوال سی پلاس پلاس ) آن را کامپایل می کند ....

    خوب در اینجا اجازه دهید که با اولین مفهوم که کامپایل است شما را بیشتر آشنا کنم ..

    کامپایل کردن یعنی اینکه دستورات ما (که به زبان سی نوشته شده اند )توسط یک برنامه (که به آن کامپایلر گویند ) به زبان ماشین ترجمه شود تا برای ماشین قابل درک شود و دستگاه بتواند آن را به اجرا در آورد ....


    ما در ابتدا با یک سری از ابتدایی ترین دستورات زبان سی آشنا خواهیم شد و قدم به قدم پیش خواهیم رفت .
    ------------------------------------------------
    باز کردن و بستن برنامه : همانند تمام زبان های دیگر برای شروع باید برنامه باز شود و در انتها نیز باید برنامه بسته شود

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

    یعنی فرض کنید ما می خواهیم یک برنامه بنویسیم که حاوی 5 خط کد نویسی است برنامه باید به این شکل باشد :

    }
    خط اول کد نویسی
    خط دوم کد نویسی
    خط سوم کد نویسی
    خط چهارم کد نویسی
    خط پنجم کد نویسی
    {
    همانطور که ملاحظه می کنید باید تمام کد نویسی مابین } و { قرار گیرد

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

    دستور خواندن از صفحه کلید : برای اینکه برنامه عددی .حرفی .رشته ای یا ... را از صفحه کلید بخواند از دستور () scanf استفاده می شود توجه داشته باشید که داخل پرانتز متغیری که می خواهیم چیزی که وارد می شود در آن قرار گیرد باید گذاشته شود ...

    یک نمونه :
    (scanf("%d",&i

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

    دستور چاپ بر روی صفحه نمایش : برای اینکه متغیری یا عبارت ثابتی را بر روی صفحه نمایش چاپ کنیم از دستور () printf استفاده می کنیم ... توجه داشته باشید اگر بخواهیم عبارتی عینا بر روی صفحه نمایش چاپ شود به صورت ("عبارت مورد نظر ")printf عمل خواهیم کرد ...

    دو نمونه :

    کد:
    ("printf("DrEaMeR 
    (printf("%d",i


    نکته 1:شاید بعضی از دستورات بکار برده در نمونه ها برایتان نامفهوم باشد مثل d%و یا i& و.. با این دستورات در ادامه کار آشنا خواهید شد ..

    نکته2: توجه کنید باید در انتهای هر خط کد نویسی در زبان سی باید ; به کار رود (بجز در مواردی که ذکر خواهد شد )..

    -------------------------------------
    توجه کنید به دستوراتی مثلprintf یا scanf توابع کتابخانه ای گویند ...این بدین معنا است که زبان سی این چنین توابعی را در خود برنامه برای استفاده کاربر قرار داده .... نکته مهم در اینجا این است که برای استفاده از این دستورات ( توابع کتابخانه ای ) ما باید این توابع را به برنامه بشناسانیم (یعنی به برنامه بگوییم آقا تو یک همچین دستوری را به صورت پیش فرض داری که فلان کار را انجام می دهد ) این کار را در زبان سی توسط HEADER FILE ها انجام می دهیم (فایل های سر آیند )


    نحوه تعریف کردن این توابع هم به برنامه بدین شکل است که در ابتدای کد نویسی حتی قبل از } باید دستور(دستورات) include# را به کار برد .... در ادامه بیشتر با فایل های سر آیند آشنا می شویم ....

    همانند اکثر آموزش زبان های برنامه نویسی ما هم اولین برنامه خود را با برنامه hello world آغاز خواهیم کرد ..در این برنامه ما قصد داریم تا تنها یک نوشتهhello world را در خروجی چاپ کنیم .


    کد:
    #include <stdio> 
    void main() 
    { 
    printf("hello world"); 
    }
    کد نویسی این برنامه به صورتی که من در بالا نوشته ام است.من با دادن توضیحات شما را با تک تک کد های این برنامه آشنا می کنم .
    خوب ببینید همانطور که گفتیم ما می خواهیم برنامه ای بنویسیم که یک نوشته را در صفحه خروجی عینا چاپ کند ... همانطور که به یاد دارید گفتم برای چاپ بر روی صفحه نمایش از دستور printf استفاده می کنیم (و متذکر شدم که اگر بخواهیم عبارتی عینا چاپ شود باید مابین "" قرار گیرد ).

    یادتان می آید که گفتم هر تابعی که در برنامه می نویسیم (مثل همین printf ) باید به برنامه تعریفش کنیم که آقا این تابع فلان کار را انجام میدهد ... (البته نگران نباشید ما نباید برای برنامه این تعریفات را بنویسیم خود نویسنده برنامه این کار را انجام داده ..تنها لازم است ما جای این تعریفات را به برنامه بگوییم ..... دقت کنید هر تابع(هر چند تابع ) در یک فایل سرآیند قرار دارد که داخل آن فایل ها این تعریفات تابع به برنامه قرار دارد..پس فقط لازم است تا اسم این فایل (یا فایل های ) سرآیند را با توجه به تابع مربوطه به اول کد نویسی اضافه کنیم ) ...

    اسم فایل سرآیند(header file) ای که در آن تعریفات printf (و چند تابع دیگر ) وجود دارد stdio است ..
    طریقه معرفی این فایل هم بدین گونه است که قبل از شروع برنامه بنویسید <include <stdio.h#

    دقت کنید جمله include# در تعریف همه این فایل های سرآیند ثابت است تنها جمله بین <> بسته به نوع تابع ها تغیر می کند ...

    مورد دیگر نیز h. بعد از stdio است که آن نیز به برنامه میگوید این فایل از نوع فایل سرآیند است (header file ) پس باید بعد از قرار دادن نام هر کدام از فایل های سر آیند بین <> یک h. نیز بعد از نام آن فایل سرآیند بگذاریم

    کد:
    ;("printf("hello world
    این هم کد چاپ کردن نوشته ما است .. همانطور که گفتم باید در زبان سی در انتهای هر خط کد نویسی (بجز بعضی مورد ها ) باید یک ; بگذاریم

    خوب اگر دقت کنید دیگر چیز خاصی در کد نویسی این برنامه نمی ماند بجز یک خط و آن هم
    ()void main است ....این دستور چیست؟؟؟

    دقت کنید زبان سی به صورت پیش فرض دوست دارد تا به شکل تابعی عمل کند (در این مورد بعدا مفصل بحث خواهیم کرد) و تمایل دارد یک مقدار را به جایی برگرداند ..ما فعلا نمی خواهیم تا یک همچین اتفاقی رخ دهد پس با نوشتن این یک خط مانع از این کار می شویم (تا به توضیحاتش برسیم یادتان باشد فعلا در ابتدای هر برنامه {مابینinclude# و } در یک خط این دستور را بنویسید )

  2. ads
  3. Top | #2
    مرجع تخصصی و رایگان ویبولتین در ایران | ویکی وی بیمرجع تخصصی و رایگان ویبولتین در ایران | ویکی وی بی
    r3llik آنلاین نیست.
    ورود به پروفایل ایشان

    عنوان کاربر
    کاربر سایت
    تاریخ عضویت
    Aug 2008
    شماره عضویت
    263633
    نوشته ها
    105
    میانگین پست در روز
    0.05
    پسندیده
    0
    مورد پسند : 0 بار در 0 پست

    موضوع پیش فرض Re: آموزش برنامه نویسی به زبان C

    در C
    پنج نوع داده اصلي وجود دارد كه عبارتند از : char، int،، float،، double، و void
    . در اين زبان اندازه و محدوده اي كه هر نوع داده اختيار مي كند بستگي به
    نوع پردازشگر (Processor) و نحوه پياده سازي كامپايلر دارد. شناسه هايي ( متغير
    برچسب ، اسامي توابع و ... ) كه از نوع char باشند براي ذخيره كردن مقاديري كه
    توسط كاراكترهاي اسكي تعريف شده اند به كار مي روند. شناسه هايي از نوع int براي
    ذخيره كردن مقادير صحيح ، و از نوع floatو doubleو براي ذخيره كردن اطلاعات عددي
    اعشاري به كار ميروند كه محدوده آنها توسط تعداد ارقام و دقت آنها مشخص ميشود.
    نوع void در مورد توباع به كار مي رود .
    نوعهاي داده اصلي ( به جز void ) مي توانند با عباراتي مثل signed، long، unsigned
    و shortو تركيب شده و نوع هاي ديگري را به وجود آورند . ( جدول (1) ).
    نوع | اندازه تقريبي به بيت | بازه قابل قبول |
    char
    |
    | 8 | 127- تا | 127 unsigned char
    |
    | 8 | 0 تا | 255 signed char
    |
    | 8 | 127- تا | 127 int
    |
    | 16 | 32767- تا | 32767 unsigned int
    |
    | 16 | 0 تا | 65525 signed int
    |
    | 16 | 32767- تا | 32767 short int
    |
    | 16 | 32767- تا | 32767 unsigned
    |
    | 16 | 0 تا | 65525 | | | short int |
    signed
    |
    | 16 | 32767- تا | 32767 | | | short int |
    long int
    |
    | 32 | َ2147483647- تا | 2147483647 |


    عبارات ورودی / خروجی :
    توضیحات : برای بهتر دیدن مقاله فایل .rar رو که attach کردم، دانلود کنید.


    بخش اول : (printf())

    در C از دستور printf() برای چاپ خروجی بر روی صفحه نمایش استفاده میشود و همچنین از scanf() برای خواندن اطلاعات از ابزارهای ورودی مانند keyboard بهره گرفته میشود. اما در این بین نکاتی است که در این بخش به آنها اشاره میکنیم .

    عبارات خروجی :
    دستور printf() در تابع کتابخانه ای stdio.h قرار دارد. این تابع در صورت صحیح اجرا شدن تعداد کاراکترهای چاپ شده و در غیر این صورت عددی منفی را برمیگرداند. فرم کلی دستور printf() به صورت روبرو است :
    کد:
    Printf( "<1>" , <2>);
    عبارت 1 : این بخش میتواند 3 حالت داشته باشد :
    1. یک متن خالص باشد :

    کد:
    printf("Iran is my country");
    2. حاوی فرمت متغیرهایی باشد که در عبارت 2 آورده میشوند، مانند :
    کد:
    printf("x=%d",x)
    . باید توجه داشت که فرمت های گوناگون که هر کدام با یک حرف (بعد از علامت % ) نشان داده میشوند، برای هر Data Type (مراجعه شود به پست انواع داده ها – نویسنده : aria ) فرق میکند. همگی فرمت ها با علامت % شروع میشوند . مثلا در مثال بالا %d بیان کننده ی data type عدد صحیح است (% نشان دهنده ی آغاز یک فرمت و d نماد اعداد صحیح است ). به جدول زیر توجه کنید :
    %c : کاراکتر
    %d : اعداد صحیح دهدهی + و -
    %i : اعداد صحیح دهدهی + و -
    %e : نمایش علمی عدد همراه حرف e
    %E : نمایش علمی عدد همراه حرف E
    %f : عدد اعشاری ممیز شناور
    %g : اعداد اعشاری ممیز شناور
    %G : اعداد اعشاری ممیز شناور
    %o : اعداد مبنای 8 مثبت
    %s :رشته ای از کاراکتر ها
    %u : اعداد صحیح بدون علامت
    %x : اعداد مبنای 16 مثبت با حروف کوچک
    %X : اعداد مبنای 16 مثبت با حروف بزرگ
    %p : Pointer (اشاره گر)
    %n :موجب میگردد تا تعداد کاراکترهایی که تا قبل از این فرمت چاپ شده است در متغیر متناظر با آن قرار گیرد.
    %% : علامت %
    %hd : برای چاپ اعداد از نوع long
    %ld : برای چاپ اعداد از نوع short
    3. حاوی کاراکترهای کنترلی باشد. به این صورت که با این کاراکتر ها میتوان محل چاپ،چاپ در سطر بعدی و ... را تنظیم کرد. این کاراکنر ها با "\" شروع میشوند و بعد از آن شناسه ی دیگر آن می آید(مانند کاراکترهای فرمت). در زیر اطلاعات تفصیلی در این باره آمده است :
    \f : موجب انتقال کنترل به صفحه ی جدید میشود.
    \n : موجب انتقال کنترل به خط جدید میشود.
    \t : انتقال به 8 محل بعدی صفحه نمایش.
    \" : چاپ (")
    \' : چاپ (')
    \\ : back slash
    \v : انتقال کنترل به 8 سطر بعدی
    \N : ثابت های مبنای 8 (N عددی مبنای 8 است)
    \xN : ثابت های مبنای 16 (N عددی مبنای 16 است)

    خوب حالا وحشت نکنید، الان مثال حل میکنیم تا مطلب جا بیفته قبل از هر چیز باید بگم عبارات و جمله هایی که در برنامه بعد از "//" قرار میگیرند توسط کامپایلر اجرا نمیشوند و تنها جهت توضیح و خوانایی برنامه است.
    مثال 1: چاپ یک رشته ی معمولی با printf() :
    کد:
    #include<stdio>// the library that printf is in that 
    int main() 
    {//Begin of program 
    printf("C is a language"); // printing the text on the screen 
    return 0; //waits for a key press after the program is finished & wont jump out of it 
    } //End of program 
    خروجی : C is a language
    حالا اگر یک تغییرات کوچکی در برنامه ی بالا بدهیم و دو عبارت را چاپ کنیم :
    کد:
    #include<stdio> 
    int main() 
    { 
    printf("C is a language"); 
    printf("I like it"); //prints the second text 
    return 0; 
    }
    خروجی : C is a languageI like it
    به خروجی بالا دقت کنید. دقیقا عبارت دوم بعد از عبارت اول چاپ شده است و بسیار ناخوانا است. اینجاست که بحث حالت سوم پیش ماید. یعنی کاراکترهای کنترلی.
    با نگاهی به این کاراکترها میبینیم که آنها میتوانند نیازهای ما را برطرف کنند. مثلا اگر من بخواهم جمله ی دوم من در خط بعدی چاپ شود، یا در 8 سطر بعدی چاپ شود، یا در 8 ستون بعدی(یک Tab) و ...
    .....
    کد:
    Printf("C is a language/n"); // Control would be placed in next line 
    printf("I like it");
    …..
    خروجی :
    C is a language
    I like it
    حال یک مثال دیگر :
    .....
    کد:
    printf("C is a language /t"); // Control would be placed in next Tab 
    printf("I like it");
    …..
    خروجی :
    C is a language I like it

    حال یک مثال دیگر :
    .....
    کد:
    printf("/"Hello/"");
    …..
    خروجی :
    "Hello"
    و بقیه نیز بر حسب کاربرد به اینگونه است ...

    کاراکترهای فرمت :
    خوب، با یک مثال شروع میکنیم. ما یک متغیر داریم که میخواهیم مقدار آن را در خروجی چاپ کنیم. نوع data type آن integer هستش و در هنگام تعریف کردن به آن مقدار اولیه 5 را داده ایم. خوب شروع میکنیم.
    کد:
    #include<stdio> 
    int main() 
    { 
    int x=5; 
    printf("Our variable is called x & it is equal with %d",x); 
    return 0; 
    }
    خروجی :
    Our variable is called x & it is equal with 5
    در مثال بالا دقت کنید . متن ها به صورت عینی چاپ میشوند و در جای %d عینا مقدار صحیح متناظر قرار میگیرد. به مثالی دیگر توجه کنید.
    کد:
    #include<stdio> 
    int main() 
    { 
    int x=5; 
    float y=6.7; 
    printf("Our variables are called x=%d \tand\t y=%f",x,y); 
    return 0; 
    }
    خروجی :
    Our variable are called x=5 and y=6.7
    بسیار خوب در این مثال ترکیبی از همه ی کارهای این بخش بود. \t ها باعث شد هنگام چاپ کنترل 8 کاراکتر به جلو بپرد و %d و %f هم که برای چاپ مقادیر صحیح و اعشاری int و float بودند.

    حالا میرسیم به این مبحث که ما این همه نوشتیم ، حالا چه جوری پاکش کنیم ؟!؟! یا اینکه چه جوری تو یه جای خاص از صفحه بنویسیم ؟ مثلا سطر 10 و ستون 20 .برای این کارها 2 تابع موجود است که هردو در فایل conio.h قرار دارد.

    تابعی که صفحه را پاک میکند clrscr() نام دارد. این تابع تمامی صفحه را پاک کرده و کنترل را به نقطه ی 0.0 منتقل میکند.
    تابع gotoxy(a,b) مکان نما را به نقطه ی a,b منتقل میکند و از این پس نوشتن را در آن محل انجام میدهد. به مثال زیر توجه کنید :
    ....
    کد:
    gotoxy(10,20); 
    printf("C is a language");
    …..
    با اجرای این مثال جمله ی بالا در مختصات 10و20 صفحه چاپ میشود.


    طول میدان :
    برای اینکه به تابع printf() طول میدان بدیم تا هرکاری خواست در هنگام چاپ انجام نده باید در کاراکترهای فرمت تغییراتی رو ایجاد کنیم.
    %5d
    این دستور نشان دهنده ی یک کاراکتر فرمت صحیح با طول میدان 5 عدد صحیح است.
    %5.3f
    این دستور نشان دهنده ی یک کاراکتر فرمت اعشاری است با طول میدان 5 عدد صحیح و سه عدد اعشار.

    پایان .

    در انتها باید بگویم در C++ به جای printf() از تابعی با نام cout استفاده میشود . در این تابع کاراکتر های ورودی نقشی ندارند ولی از کاراکترهای کنترلی پشتیبانی میشود. روش استفاده از آن در مثال زیر نشان داده میشود:
    کد:
    #include<iostream> 
    int main() 
    { 
    int x=5; 
    cout<<"We are printing an integer variable : "<<x<<"\n"; 
    cout<<"again we are printing : "<<x<<endl; 
    cout<<"Finished"; 
    return 0; 
    }
    خروجی :
    We are printing an integer variable : 5
    Again we are printing : 5
    Finished

    توجه کنید که endl (end line) همان کار \n را انجام میدهد.

  4. ads
  5. Top | #3
    مرجع تخصصی و رایگان ویبولتین در ایران | ویکی وی بیمرجع تخصصی و رایگان ویبولتین در ایران | ویکی وی بی
    r3llik آنلاین نیست.
    ورود به پروفایل ایشان

    عنوان کاربر
    کاربر سایت
    تاریخ عضویت
    Aug 2008
    شماره عضویت
    263633
    نوشته ها
    105
    میانگین پست در روز
    0.05
    پسندیده
    0
    مورد پسند : 0 بار در 0 پست

    موضوع پیش فرض Re: آموزش برنامه نویسی به زبان C

    [highlight=#FF8000]بخش دوم : scanf() [/highlight]

    تابع scanf() اگر درست اجرا شود تعداد متغیرهایی را که از ورودی خوانده برمیگرداند و در غیر این صورت عبارت EOF ( با حروف بزرگ ) را برمیگرداند. صورت کلی scanf() به صورت زیر است :
    کد:
    Scanf("<1>",<2>);
    عبارت <1> میتواند در برگیرنده ی 3 کاراکتر میتواند باشد :
    1. کاراکترهای فرمت که از آنها به تفصیل در بَخش 1 سخن گفته شد.
    2. space : که به آن فضای خالی گویند و گذاشتن حتی یک space سبب میگردد که در هنگام وارد کردن اطلاعات تمامی space ها ، Tab ها و new line ها نادیده گرفته شوند و اطلاعات خالص از صفحه کلید خوانده شود. مثلا اگر شما قبل از عدد ورودی 5 جای خالی بگذارید به دلیل وجود space در قسمت 1 نادیده گرفته میشوند و تنها عدد 5 خوانده میشود.
    3. کاراکترهایی غیر از فرمت و space . این کاراکتر ها اگر عینا در هنگام وارد کردن اطلاعات وارد شوند از آنها صرفنظر میشوند. به مثال رو به رو توجه کنید : "%d,%d"
    به کاما در بین دو کاراکتر فرمت توجه کنید. حال فرض کنید در ورودی اطلاعات به صورت زیر وارد شده : 5,10 در این حالت اعداد 5 و 10 خوانده میشوند و از کاراکتر کاما صرف نظر میشود.

    در قسمت <2>، متغیر ها با آدرسشان ذکر میشوند. توجه شود که هنگامی که علامت & قبل از نام متغیر می آید، نشان دهنده ی آدرس آن است. یعنی دستور &variable1 آدرس متغیر variable1 را برمیگرداند.
    کد:
    scanf("%d%f", &x,&a);

    مثال : محیط و مساحت یک مستطیل :
    کد:
    #include<stdio> 
    #include<conio> 
    int main() 
    { 
    int x,y,area,p; 
    printf("Enter length & width : "); 
    scanf("%d%d", &x, &y); 
    area=x*y; 
    p=(x+y)*2; 
    printf(" Area = %d , p = %d", area,p); 
    getch(); 
    return 0; 
    }
    توابع خواندن کاراکتر از صفحه کلید :
    برای خواندن کاراکتر از صفحه کلید ، 2 تابع وجود دارد : getch() و getche() . که هر دو عمل خواندن کاراکتر را با اندکی تفاوت انجام میدهند. تابع getch() کاراکتری را که از keyboard میخواند را در صفحه نمایش نمیدهد در حالی که getche() این کار را میکند (نمایش دادن کاراکتر). تفاوت هردوی آنها با scanf() در این است که نیازی به فشردن کلید Enter پس از فشردن کاراکتر بر روی صفحه کلید ندارد. به طوری که به سرعت پس از فشردن کلید بر روی صفحه، کاراکتر آن در متغیر از جنس char ذخیره میشود.
    مثال

    کد:
    getch() : 
    #include<stdio> 
    #include<conio> 
    int main() 
    { 
    char ch; 
    printf("Press a key : "); 
    ch=getch(); 
    printf("You Pressed : "); 
    printf(" %c",ch); 
    getch(); 
    return 0; 
    }
    خروجی : اگر فرض کنیم که کاربر کلید C را زده باشد داریم :
    C
    در این مثال تنها یک C چاپ میشود و آن نیز مقدار موجود در متغیر ch است. تابع getch() همانطور که میدانیم چیزی در صفحه نمایش چاپ نخواهد کرد.


    مثال
    کد:
    getche() : 
    #include<stdio> 
    #include<conio> 
    int main() 
    { 
    char ch; 
    printf("Press a key : "); 
    ch=getche(); 
    printf("\n You Pressed : "); 
    printf(" %c",ch); 
    getch(); 
    return 0; 
    }
    خروجی : اگر فرض کنیم که کاربر کلید C را زده باشد داریم :
    C
    You Pressed :C
    در این مثال اولین C همانی است که از صفحه کلید خوانده شده و دومی مقدار موجود در متغیر ch است.


    این مطلب بین C و ++C مشترک است.

    برنامه های ساخت یافته :


    توابع :
    با استفاده از توابع میتوانیم برنامه را به بخش های کوچکتر شکسته و آن را بسیار خواناتر کنیم. باید گفت توابع قسمتی از برنامه هستند که از کد اصلی (بخش main ) حذف شده و به صورت یک قطعه برنامه نوشته میشود (مثلا فرض کنید عمل جمع در یک ماشین حساب از بدنه ی اصلی برنامه جدا شود و یک قطعه کد شود که دو عددی که باید جمع کند را به صورت ورودی بگیرد).یک کاربرد دیگر توابع این است که از دوباره نویسی کدهایی که کاربردشان زیاد است جلوگیری میکند. مثلا اگر تابع جمع ما در برنامه ی ماشین حساب در 5 جا باید نوشته شود، با یکبار نوشتن تابع، میتوان آن را در 5 جا صدا کرد ( فراخوانی،Call ) . وقتی یک تابع call میشود خط اجرای برنامه به آن تابع رفته و پس از اجرای کامل تابع به برنامه بازمیگردد.
    در زبانهای برنامه نویسی روال تابع ها معمولا بر این اساس است که 2 نوع تابع دارند که یک سری یک مقدار ( متغیر ) را به برنامه برمیگرداند و سری دیگر فقط یک سری دستورات را اجرا میکنند ( البته بعضی از توابع هیچ یک از این دو سری نیستند . مانند constructor در کلاس ها-بعدا در مبحث کلاس ها توضیح داده میشود ).

    نوع اول : تابع های دارای نوع .
    این تابع ها دارای نوع (data type ) هستند، به طوری که مقداری که تابع برمیگرداند از جنس یکی از data type ها است.( مثلا int,char,double ,... ). این نوع توابع را به صورت کلی زیر مینویسند :

    ;()نام تابع نام datatype




    کد:
    int function1(); 
    char function2();



    function1 : تابعی از جنس int ( یعنی مقدار بازگردانده شده به برنامه از نوع عدد صحیح خواهد بود )
    function2 : تابعی از جنس کاراکتر ( یعنی مقدار بازگردانده شده به برنامه از نوع کاراکتر خواهد بود )

    توابع نوع دوم : این توابع تنها یک سری دستورات را اجرا میکنند و از هیچ نوع data type خاصی هم نیستند. این نوع توابع را به صورت کلی زیر مینویسند :

    ;()نام تابع void

    مثال :



    کد:
    void function3(); 
    void function4();



    Function3 , function4 دارای هیچ نوعی نیستند و تنها یک سری دستورات را اجرا میکنند.

    حال برای توضیح بیشتر فرض میکنیم دو تابع برای دو دکمه ی ماشین (دکمه ی C یا reset و دگمه ی =) حساب نوشته ایم . در دکمه ی C همه ی اطلاعات پاک میشود و همه چیز به حالت اول برمیگردد و در این حالت نیازی نداریم چیزی را به ماشین حساب بازگردانیم. اما در مورد دکمه ی = باید مقداری که از عملیات ریاضی حاصل میشود را بر روی صفحه ی نمایش ماشین حساب نمایش داد. پس باید یک مقدار به ماشین حساب بازگردد.

  6. ads
  7. Top | #4
    مرجع تخصصی و رایگان ویبولتین در ایران | ویکی وی بی
    sara mohandes IT آنلاین نیست.
    ورود به پروفایل ایشان

    عنوان کاربر
    کاربر سایت
    تاریخ عضویت
    Apr 2009
    شماره عضویت
    292559
    نوشته ها
    1
    میانگین پست در روز
    0.00
    پسندیده
    0
    مورد پسند : 0 بار در 0 پست

    موضوع پیش فرض Re: آموزش برنامه نویسی به زبان C

    سلام من سارا دانشجوی ترم یک IT هستم به یک برنامه به زبان c نیاز دارم این برنامه می تونه یک بازی ساده کامپیوتری یا ماشین حساب باشه می خواستم اگر می تونید لطف کنید کد برنامه را به ایمیلم ارسال کنید خیلی فوری حیاتی هست مرجع تخصصی و رایگان ویبولتین در ایران | ویکی وی بی مرجع تخصصی و رایگان ویبولتین در ایران | ویکی وی بی مرجع تخصصی و رایگان ویبولتین در ایران | ویکی وی بی مرجع تخصصی و رایگان ویبولتین در ایران | ویکی وی بی مرجع تخصصی و رایگان ویبولتین در ایران | ویکی وی بی مرجع تخصصی و رایگان ویبولتین در ایران | ویکی وی بی مرجع تخصصی و رایگان ویبولتین در ایران | ویکی وی بی

  8. ads
  9. Top | #5
    مرجع تخصصی و رایگان ویبولتین در ایران | ویکی وی بیمرجع تخصصی و رایگان ویبولتین در ایران | ویکی وی بی
    Kiss Of Death آنلاین نیست.
    ورود به پروفایل ایشان

    عنوان کاربر
    کاربر سایت
    تاریخ عضویت
    Jul 2007
    شماره عضویت
    248094
    نوشته ها
    1,303
    میانگین پست در روز
    0.49
    پسندیده
    0
    مورد پسند : 1 بار در 1 پست

    موضوع پیش فرض Re: آموزش برنامه نویسی به زبان C

    با خوش آمد به شما مرجع تخصصی و رایگان ویبولتین در ایران | ویکی وی بی
    با جستجویی که کردم چند تا بازی پیدا کردم:

    اولین بازی ، بازی hangman یا همان میرغضب است( در اینبازی کامپیوتر یک کلمه درباره یک موضوع دلخواه مانند نام کشور ، اتومبیل ویا ... انتخاب می کند و شما با انتخاب حروف الفبا باید آنرا حدس بزنید. ).یه نمونه ساده از این بازی رو که نوشته خودم هست با فایل اجرایی بازی برایدانلود می ذارم.
    تنها اعضای سایت میتوانند لینک ها رو ببینند. برای ثبت نام کلیک کنید!!

    دومین بازی ، بازی Breakout (بصورت گرافیکی) است کهحتما همه شما با این بازی آشنایی دارید.( در این بازی شما باید به کمک یکدسته که در بازی به شکل یک خط است و یک توپ ، خانه های مستطیلی شکل رانابود کنید )
    تنها اعضای سایت میتوانند لینک ها رو ببینند. برای ثبت نام کلیک کنید!!

    سومین بازی ، بازی worm یا همون snake هست که یکی ازمحبوب ترین بازی هاست( در این بازی شما باید با کنترل یک مار ، غذاها کههمان نقاط قرمز رنگ هستند را بخورید )
    تنها اعضای سایت میتوانند لینک ها رو ببینند. برای ثبت نام کلیک کنید!!

    آخرین برنامه این بار ، یک انیمیشن ساده است ، شامل چند شی (عکس) متحرک.
    تنها اعضای سایت میتوانند لینک ها رو ببینند. برای ثبت نام کلیک کنید!!

  10. ads
  11. Top | #6
    مرجع تخصصی و رایگان ویبولتین در ایران | ویکی وی بی
    shafi1200 آنلاین نیست.
    ورود به پروفایل ایشان

    عنوان کاربر
    کاربر سایت
    تاریخ عضویت
    May 2010
    شماره عضویت
    370638
    نوشته ها
    1
    میانگین پست در روز
    0.00
    پسندیده
    0
    مورد پسند : 0 بار در 0 پست

    موضوع پیش فرض

    سلام خسته نباشید من برنامه ماشین حساب با زبان++c میخام که فقط :
    1 4عمل اصلی
    2 توان
    3 توابع مثلثاتی
    4 جذر
    رو واسم حساب کنه
    بای

  12. ads
  13. Top | #7
    مرجع تخصصی و رایگان ویبولتین در ایران | ویکی وی بیمرجع تخصصی و رایگان ویبولتین در ایران | ویکی وی بی
    djamirku آنلاین نیست.
    ورود به پروفایل ایشان

    عنوان کاربر
    کاربر سایت
    تاریخ عضویت
    Apr 2009
    شماره عضویت
    286771
    نوشته ها
    365
    میانگین پست در روز
    0.18
    پسندیده
    0
    مورد پسند : 0 بار در 0 پست

    موضوع پیش فرض

    ار این سایت کتاب اموزشی میتونید دانلود کنید :
    تنها اعضای سایت میتوانند لینک ها رو ببینند. برای ثبت نام کلیک کنید!!

  14. ads
  15. Top | #8
    مرجع تخصصی و رایگان ویبولتین در ایران | ویکی وی بی
    lionboy آنلاین نیست.
    ورود به پروفایل ایشان

    عنوان کاربر
    کاربر سایت
    تاریخ عضویت
    Jun 2014
    شماره عضویت
    447518
    نوشته ها
    1
    میانگین پست در روز
    0.01
    پسندیده
    0
    مورد پسند : 0 بار در 0 پست

    موضوع پیش فرض

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

  16. ads
+ ارسال موضوع جدید

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

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

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
مرجع پشتیبانی phpBB قوی ترین مرجع پشتیبانی سیستم phpBB با ارائه جدیدترین قالب ها ، مود و پکیج ها
فروشگاه تبلت خرید تبلت
عکس های زیبا و قشنگ جدیدترین و زیباترین عکس های دنیا
سینما فارسی جدیدترین اخبار دنیا سینمای ایران و جهان
خرید اپل ایدی خرید اپل ایدی (apple id) - فروش اپل ایدی
تم وبــ تم وبــ
مختصری از ما موبایل برای ایرانیان به عنوان یکی از قدیمی ترین پایگاه های فارسی زبان شناخته که در سال 1384 تاسیس گردید و همواره سعی در ارائه جدیدترین و به روز ترین مطالب در زمینه تلفن های همراه هوشمند از برندهای مختلف و سیستم عامل هایی چون ، اندروید ، ویندوز فون ، سیستم عامل اپل ، سیمبین و... داشته است.
دوستان ما لینک
لینک
لینک
                         
Google PageRank Checker Powered by  MyPagerank.Net
Search Engine Friendly URLs by vBSEO