X
تبلیغات
آموزش برنامه نویسی - نوشتن اولین برنامه با ++C

LOGO

آموزش برنامه نویسی | سی پلاس پلاس | ویژوال بیسیک | سی شارپ | C++ , C# , Vb
 
  • جمعه سی و یکم تیر 1390 - 17:3
  • دسته بندی : آموزش
  • نویسنده: محسن افوان

سطح مقدماتی

ملزومات

همان طور که در مقاله قبلی گفتیم برای برنامه نویسی ++C نیاز به یک IDE داریم مثل ویژوال استودیو، C++ Builder، Cygwin، GCC یا هر چیز دیگری. لیکن ما پیشنهاد می‌کنیم ویژوال استودیو را استفاده کنید.

اولین تجربه در هر موضوع جدیدی که یاد می­‌گیریم، بسیار شیرین و دلچسب است؛ اولین تجربه­‌ی خود را در دوچرخه سواری یا ماشین سواری به خاطر می­آورید! حتما چنین است. البته برای شما شاید این اولین تجربه برنامه نویسی نباشد ولی واقعیت این است که برنامه نوشتن در محیط دل انگیز ویژوال استودیو یک تجربه فراموش نشدنی است.

از منوی فایل گزینه­‌ی New Project را انتخاب کنید، از قسمت نوع پروژه، Visual C++ و سپس Win32 را انتخاب کنید. از سمت راست، گزینه­‌ی Win32 Console Application را انتخاب کرده و در قسمت نام، نام مناسبی برای پروژه انتخاب کنید:

 

MSVC Console App

دکمه­ ی OK را بزنید و در قسمت بعدی نیز تنظیمات پیش­ فرض را پذیرفته و روی دکمه­ی Finish کلیک کنید. بدین ترتیب اولین پروژه شما ساخته شد. ویژوال استودیو به طور خودکار تعدادی فایل را در پروژه قرار می­دهد. برای دیدن لیست فایلها کافیست گزینه­ ی Solution Explorer را از لیست منوهای کشنده­‌ی سمت چپ انتخاب کنید، دو تا فایل با پسوند .cpp و دو تا فایل با پسوند .h و یک فایل ReadMe.txt تولید شده است. فایل Stdafx.h شامل فایلهای سرآیه­‌ای است که به کرات استفاده می­‌شوند و می­ توان گفت به منظور صرفه­ جویی در تایپ! ایجاد می­ شود. این فایل در اکثر فایلهای پروژه استفاده خواهد شد. فایل stdafx.cpp به منظور خالی نبودن عریضه و اینکه هر فایل سرآیه­ ای بهتر است فایل متناظر .cpp خودش را هم داشته باشد ایجاد شده است و چیز خاصی داخل آن نیست. فایل targetver.h اطلاعات نسخه­ ی ویندوز را در بردارد که باید متناسب با سیستمی که قصد دارید برنامه را روی آن اجرا کنید انتخاب شود و در نهایت فایل Exam-01.cpp که فایل اصلی برنامه­‌ی ماست! که همان اسمی است که برای پروژه انتخاب کردیم.

 

نکته: فایل سرآیه چیست؟ فایلی است که غالبا شامل تعاریف کلی مثل نام توابع و کلاسهایی است که در فایل متناظر cpp پیاده سازی شده­اند. وقتی می­خواهیم از اطلاعات یک فایل یا کتابخانه دیگر در برنامه­ی خودمان استفاده کنیم، فایل سرآیه­ی آن کتابخانه را در برنامه خودمان به صورت #include “targetfile.h” قرار می­دهیم و چون معمولا فایلهای سرآیه را در ابتدای برنامه، یا سر برنامه، قرار می­دهیم به آنها فایل سرآیه گوییم.
نکته: Solution اصطلاحی است که میکروسافت به مجموعه­ی چند پروژه در کنار هم اطلاق می­کند.

چون اولین برنامه است، سعی می کنیم توضیح کاملی بدهیم که اگر تازه کارید به زندگی امیدوار شوید، لیکن در کل دنبال کردن چنین روندی دشوار است!

 
 

#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
 return 0;
}
 
 

نگاهی بیندازیم به متن برنامه؛ دو خط اول توضیحات است که در ++C با // شروع می­ شود. خط بعدی فایل stdafx.h را به برنامه­‌ی ما افزوده است و خط بعدی تابع اصلی برنامه است. در ++C استاندارد تابع اصلی با نام main مشخص می­ شود، لیکن میکروسافت به منظور پشتیبانی از یونیکد تابع _tmain را به جای main استفاده می­کند. فعلا ذهنتان را درگیر این مسائل نکنید!

متن تابع main تنها شامل خط return 0; است که در بین دو آکلاد اسیر شده است. چاره­ ای نیست، چون همان طور که می­ دانید این گرامر ++C است که هر بلوک کد، مانند بدنه­ ی تابع، باید بین دو آکلاد باشد. تابع main باید متغیری از نوع int برگرداند، لذا وجود return 0; الزامی است.

این برنامه کوتاه، خیلی بی­ مصرف است چون هیچ کاری انجام نمی­دهد، پس بهتر است یکی دو خط دیگر به برنامه اضافه کنیم:

#include "stdafx.h"
#include 
 
int _tmain(int argc, _TCHAR* argv[])
{
 std::cout << "In the name of God!\nHi C++\n";
 return 0;
}

با استفاده از کلیدهای CTRL+F5 برنامه را اجرا کنید تا خروجی را ملاحظه کنید. دو خط در کنسول خروجی ظاهر می‌شود که ناشی از افزودن خط اول در تابع main است. عبارت std یک فضای نام است که در فایل سرآیه‌ی تعریف شده است. فضای نام به منظور جلوگیری از تداخل اسامی توابع هم‌نام از کتابخانه‌های مختلف، به وجود آمده است؛ مثلا اگر تابع ()Draw در دو فایل Rect.h و Circle.h تعریف شده باشد و هر دوی این فایلها در برنامه‌ی ما include شده باشند، برای اینکه هم خود ما و هم کامپایلر دچار مشکل نشود بهتر است برای هر کدام یک فضای نام به صورت زیر تعریف کنیم و سپس تابع Draw را به صورت ()Rect::Draw یا ()Circle::Draw فراخوانی کنیم.

namespace Rect
{
 void Draw(){
 ...
 };
} 

تابع cout که مخفف console output است همان طور که از نامش پیداست پارامتر خودش را روی کنسول چاپ می کند. در اینجا عبارت "In the name of God!\nHi C++\n" روی خروجی ظاهر می شود. نویسه ی n/ یک نویسه ی خاص است که بیانگر خط جدید است و سبب می شود رشته ی مورد نظر از این نقطه به بعد در خط جدیدی ظاهر شود.

نکته: در C++ هر دستور باید به یک نقطه ویرگول ; ختم شود.
نکته: برای توضیحات چند خطی می‌توانیم از /* و */ استفاده کنیم:

/*
This is a multi line comments
Further comments go here…
*/

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


آخرین مطالب

 
» نحوه پرسیدن سوالات ( چهارشنبه بیست و چهارم آبان 1391 )
» معکوس ماتریس ( دوشنبه بیست و هفتم آبان 1392 )
» فلوچارت درخواستی کاربران ( دوشنبه بیست و هفتم آبان 1392 )
» ولادت حضرت مهدی (عج) مبارک باد... ( یکشنبه دوم تیر 1392 )
» پرسش و پاسخ: 2 ( جمعه ششم اردیبهشت 1392 )
» پرسش و پاسخ: 1 ( جمعه ششم اردیبهشت 1392 )
» پرسش و پاسخ ( پنجشنبه پنجم اردیبهشت 1392 )
» پرسش و پاسخ ( چهارشنبه چهارم اردیبهشت 1392 )
» سال نو مبارک ( سه شنبه بیست و نهم اسفند 1391 )
» پرسش و پاسخ غیربرنامه نویسی ( یکشنبه بیست و هفتم اسفند 1391 )
» سوال ( سه شنبه بیست و چهارم بهمن 1391 )
» Multithreading در سی پلاس پلاس ( سه شنبه هفدهم بهمن 1391 )

پیوندهای روزانه

 

درباره ما


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

ولی مهم نبود.
بلکه این مهم بود که من باچتر آمدم!

با ر ا ن ر ا د و ست می د ا ر ی ؟

ایمیل : moh3en_f1@yahoo.com