ساختار برنامه C
یک برنامه C به طور معمول از اجزای زیر تشکیل شده:
- تعریف سرایندها یا header ها
- تعریف prototype توابع
- متغیرها
- توابع
برای استفاده از کتابخانه های C یا کتابخانه هایی که مممکنه خودمون نوشته باشیم، با فراخوانی Header اون کتابخانه می تونیم از کلیه توابع موجود در اون کتابخانه استفاده کنیم.
توابع در فایلهای مختلفی با پسوند.h ذخیره شدن.
نحوه فراخوانی با استفاده از کلمه کلیدی include و به شرح زیر است:
#include
#include
,…
مثلا تابع getch() از توابع موجود در conio.h هست.برای اینکه از این تابع بتونین استفاده کنین ، باید در ابتدای برنامه کد زیر رو وارد کنین.
#include
توابع
از تابع استفاده میکنیم تا هم از تکرار کد پرهیز بشه، خوانایی برنامه افزایش پیدا می کنه، امکان استفاده مجدد وجود دارد، و توسعه برنامه هم راحت تر و بهتر مقدور میشه و.....
اینا چیزاییه که هر برنامه نویس مبتدی هم میدونه.
پس با اجازه چون حوصله انشا نوشتن ندارم از این داستان سرایی ها فاکتور می گیرم.و یک راست میریم سر اصل مطلب.!!![]()
توابع در این زبان از فرم زیر تبعیت میکنن:
Return_type function-name(parameters)
{
متغیر یا متغیرهای محلی تابع
دستورالعمل یا دستورالعمل های تابع
}
توابع رو باید در انتهای برنامه قرار بدیم.
نکته1: اگر نوع برگشتی برای تابع تعریف نشه، کامپایلر نوع برگشتی را int (عدد صحیح) درنظر میگیره.
نکته2: هر برنامه باید یک تابع به نام main داشته باشته که بدنه اصلی برنامه و استفاده از سایر توابع در ااون قرار داده میشه.
تعریف prototype توابع
حالا ما یکسری دستورالعمل ها رو در قالب یک تابع تعریف کردیم. برای اینکه بتونیم از این تابع استفاده کنیم، باید prototype تابع رو در ابتدای برنامه (بعد از تعریف header ها و قبل از main ) ذکر کنید.
برای این کار هم نوع برگشتی تابع، و به دنبال اون نام تابع و یک پرانتز که نوع داده ای پارامترهای ارسالی به تابع رو مشخص میکنه، ذکر میکنیم.
مثلا ما تابعی به فرم زیر تعریف کردیم که دو آرگومان ورودی از نوع int میگیره و مقدار بزگتر رو برمیگردونه.
Int max(int a,int b)
{
If (a>b)
Return a;
Return b;
}
Prototype این تابع به صورت زیر باید باشه:
Int max(int,int);
نکته 1: دستور return همیشه آخرین دستوریست که در یک تابع اجرا میشه. نتیجه اینکه در این تابع در صورتیکه مقدار a از b بزرگتر باشه مقدار a برگشت داده میشه و خط بعدی که return a; هست اصلاً در نظر گرفته نمیشه. و در غیر این صورت مقدار b به عنوان مقدار بزرگتر برگشت داده میشه.
با یک مثال تمام موارد بالا رو به کار می بریم:
#include
max(int,int);
void main ()
{
Int c;
C=Max(3,4);
Printf(“maximum=%i”,c);
Getch();
}
Int max(int a,int b)
{
If (a>b)
Return a;
Return b;
}
![]()
درباره تابع printf که استفاده شده اینجوری نگام نکنین.!!![]()
بعداً درباره این تابع و بسیاری توابع دیگه و نحوه استفادشون توضیح میدم.فعلاً اینو داشته باشین که یه تابع برای چاپ نتیجه بر روی صفحه اسکرین است.
تابع getch() هم تابعی برای خواندن یک کاراکتر است.
اینو برای این گذاشتم که صفحه نمایش اسکرین ثابت بمونه (منتظر خواندن یک کاراکتر) و ما بتونیم نتیجه رو ببینیم. با لمس یک کلید از روی کیبورد اجرای برنامه خاتمه پیدا می کنه.
نکته: اگر بخواهین متغیر سراسری تعریف کنید، جاش قبل از main هستش.!!
انواع داده
اولین چیزی که در مورد هر زبان برنامه نویسی باید بدونیم انواع داده ای تعریف شده در آن زبان است.
نوعهای تعریف شده در زبان C به شرح زیراست:
نوع داده فضای اشغالی
Char ، برای کاراکترها 1بایت
Int ، برای اعداد صحیح 2بایت
Float، برای داده های اعشاری 4بایت
Double ، برای داده های اعشاری با دقت مضاعف 8بایت
با استفاده از کلمات signed ، unsigned ، long و short با هرک از انواع دادههای بالا میشه انواع داده ای ترکیبی دلخواه رو، بسته به نیازمون بسازیم.
برای تعریف متغیر اول نوع داده ای و بعد لیست متغیرها را در جلوی آن ذکر می کنیم:
int a,x;
; نوع داده لیست متغیرها
حالا متغیر چیه؟
متغیر یه جور نامگذاری برای خانه های حافظه است که برای ذخیره داده ها مورد استفاده قرار می گیره.
این نکته هم نباید فراموش بشه که در انتهای ه دستور یا تعریف متغیر باید علامت ; (سمی کالن) گذاشته بشه .در غیر این صورت کامپایلر یک Syntax Error گزارش میده.
عملگرها
انواع عملگرهای
+ برای عمل جمع
- عمل تفریق
* عمل ضرب
/ عمل تقسیم
% محاسبه باقیمانده در تقسیم صحیح
= تخصیص مقدار
++ افزایش 1واحد به متغیر
-- کاهش 1واحد از متغیر
=* ، =+ ، =- ، =/ به ترتیب برای عمل ضرب و انتساب، جمع وانتساب، تفریق وانتساب و تقسیم و انتساب به کار میره.
مثلاً
A+=10 ; معادل A=A+10;
&& and
|| or
! not
>>شیفت به راست
نکته:
درباره ی عملگرهای ++ و – این نکته حائز اهمیت است که نحوه استفاده از آن ها به صورت پیشوندی یا پسوندی در نتیجه ی محاسبات متفاوت است.
در صورتی که به صورت پیشوندی استفاده شود، ابتدا عمل ++ یا – بر روی متغیر انجام شده و سپس حاصل عبارت محاسباتی، محاسبه می شود. ولی در صورتی که به صورت پسوندی در عبارت محاسباتی استفاده شود، ابتدا مقدار متغیر در عبارت محاسباتی مورد استفاده قرار گرفته و سپس عمل ++ یا – بر روی آن تاثیر می گذارد.
اگر توضیحات خیلی بیخود بود!!، مثال زیر مطلب رو ، روشن می کنه:
A=5;
X=--A + 10; => x=14 , A=4
X=A-- +10; => x=15 ,A=4
روشنه؟!
بخوان مارا
منم پروردگارت
خالقت از ذره ای ناچیز
صدایم کن مرا ،آموزگار قادر خود را
قلم را، علم را من هدیه ات کردم
بخوان ما را
منم معشوق زیبایت
منم نزدیک تر از تو به تو
اینک صدایم کن
رها کن غیرمارا، سوی ما بازآ
منم پروردگار پاک بی همتا
منم زیبا، که زیبا بنده ام را دوست می دارم
تو بگشا گوش دل
پروردگارت با تو می گوید
تو را در بیکران دنیای تنهایان
رهایت من نخواهم کرد
بساط روزی خود را به من بسپار
رها کن غصه یک لقمه نان و آب فردا را
تو راه بندگی طی کن،
عزیزا من خدایی خوب می دانم
تو دعوت کن مرا بر خود
به اشکی ، یا خدایی میهمانم کن
که من چشمان اشک آلوده ات را دوست می دارم
طلب کن خالق خود را
بجو ما را
تو خواهی یافت
که عاشق می شوی بر ما
و عاشق می شوم بر تو
که وصل عاشق و معشوق هم آهسته می گویم
خدایی عالمی دارد
قسم بر عاشقان پاک با ایمان
قسم بر اسب های خفته در میدان
تو را در بهترین اوقات آوردم
قسم بر عصر روشن
تکیه کن بر من
قسم بر روز، هنگامی که عالم را بگیرد نور
قسم بر اختران روشن، اما دور
رهایت من نخواهم کرد
بخوان ما را
که می گوید که تو خواندن نمی دانی؟
تو بگشا لب
تو غیر از ما خدای دیگری داری؟!!!!
رها کن غیر مارا
آشتی کن با خدای خود
تو غیر از ما چه می جویی؟
تو با هر کس به جز با ما چه می گویی؟
و تو بی من چه داری؟ هیچ.
بگو با ما چه کم داری عزیزم؟ هیچ.
هزاران کهکشان و کوه و دریا را
و خورشید و گیاه و نور و هستی را
برای مخلوق خود آفریدم من
ولی وقتی تو را می آفریدم
بر خودم احسنت می گفتم
تویی زیباتر از خورشید زیبایم
تویی والاترین مهمان دنیایم
که دنیا بی تو، چیزی چون تو را کم داشت
تو ای محبوب تر مهمان دنیایم
نمی خوانی چرا ما را؟؟
مگر آیا کسی هم با خدایش قهر می گردد؟!
هزاران تو به ات را گرچه بشکستی
ببینم، من تو را از درگهم راندم؟
اگر در روزگار سختی ات خواندی مرا
اما به روز شادی ات، یک لحظه هم یادم نمی کردی
به رویت بنده ی من ، هیچ آوردم؟!
که می ترساندت از من؟
رها کن آن خدای دور،
آن نامهربان معبود
آن مخلوق خود را
این منم ، پروردگارت، خالقت
اینک صدایم کن مرا، با قطره اشکی
به پیش آور دو دست خالی خود را
با زبان بسته ات کاری ندارم
لیک غوغای دل شکسته ات را من شنیدم
غریب این زمین خاکیم
آیا عزیزم حاجتی داری؟
تو ای از ما
کنون برگشته ای ، اما
کلام آشتی را تو نمی دانی؟
ببینم، چشم های خیست آیا گفته ای دارند؟
بخوان ما را
بگردان قبله ات را سوی ما
اینک وضویی کن
خجالت می کشی از من؟
بگو جز من کس دیگر نمی فهمد
به نجوایی صدایم کن
بدان آغوش من باز است
برای درک آغوشم
شروع کن، یک قدم با تو
تمام گام های مانده اش ، با من...
![]()
![]()
![]()
طی چند ماه اخیر توفیقی اجباری!! و البته فرصتی شیرین دست داد تا با نشریات ومجلات مختلف آشنا بشم.
فرصت رو غنیمت شمردم تا لیستی از نشریات مرتبط با کامپیوتر و IT که در کشور اسلامیمان!! منتشر می شود را تهیه و خدمت سایر جوجه مهندسین عزیز اعلام کنم.!![]()
ماهنامه شبکه – اگر از صفحات قطور آگهیش بگذریم ،مطالب خوبی داره.
دو هفته نامه عصرشبکه – اولین دوهفته نامه تخصصی سخت افزار در ایران(البته رو جلدش نوشته!!)![]()
هفته نامه عصر ارتباط- که شنبه هر هفته منتشر میشه.!!
هفته نامه بزرگراه فناوری- مثل هفته نامه عصر ارتباط اول هر هفته چاپ میشه.
ماهنامه دنیای کامپیوتروارتباطات – مقالات IT این مجله به نظرم عالیه.
ماهنامه علم الکترونیک و کامپیوتر- که مطالب تخصصی فوق العاده ای داره.
![]()
ماهنامه رایانه نما- که اخیرا با نام بازی نما منتشر میشه!
ماهنامه ماشینهای اداری ورایانه ای – گاهی اوقات مقاله های خوبی در زمینه IT ارائه میده.!
ماهنامه دنیای مخابرات وارتباطات
ماهنامه نرم افزار
ماهنامه تکفا – توسعه کاربردی فناوری اطلاعات!
ماهنامه گزارش کامپیوتر
ماهنامه تکتا
ماهنامه بازي(دنياي نرم افزار)
دوفصلنامه مهندسی برق وکامپیوتر -که به زبان شیرین انگلیسی منتشر میشه.![]()
ماهنامه دنیای انفورماتیک
ماهنامه نوت بوک – تا حالا نخوندمش .اگه خوندین بگین در چه سطحه.![]()
ماهنامه مهندسی امنیت – مراجعه شود به نوت بوک.!!
ماهنامه هنرورایانه
ماهنامه تجارت الکترونیک ورایانه
ماهنامه بازی های رایانه ای
ماهنامه کلیک
ماهنامه دنیای بازی
ماهنامه اطلاع/بازی رایانه
هفته نامه نرم افزاروسخت افزار
فصلنامه عصرارتباط
فصلنامه علوم ومهندسي کامپيوتر
لطفا اگه شما هم نشریات دیگه ای در زمینه کامپیوتر و IT می شناسید که از قلم افتاده، بگین تا سایرین هم بدونن.
امیدوارم از مطالعه لذت ببرین.!!![]()

این کلمه از ترکیب شدن دو کلمه Googol+Complex ساخته شده. Googol هم نامیست که به عددی به بزرگی 10 به توان 10به توان 100 !!!! نسبت میدن.
Googleplex مجتمع اصلی شرکت گوگل واقع در کالیفرنیاست که 47038 مترمربع مساحت داره.
این مجتمع به عنوان بهترین موقعیت کاری شناخته شده و هم اکنون تلاش جمع کثیری-اگر نخوام بگم همه- از کارشناسان کامپیوتر و IT اینه که توی این شرکت کار کنن.! ![]()
آشپزهای این شرکت به طور 24 ساعته با بهترین غذاها ،آماده پذیرای از کارکنان هستند. ![]()
تو یک مجله می خوندم که این مجتمع طوری ساخت شده که هر کارمند بتونه در فاصله 30 متریش یک کافی شاپ پیدا کنه!!
افرادی به عنوان ماساژور اونجا هستند که اگر کارمندان احساس خستگی کردند، اونها رو ماساژ بدن که خستگی از جان شیرین به در کنند.
به منظور حفظ سلامت کارکنان، پزشکان این شرکت به صورت 24*7 !! آماده ارائه خدمتند که اگر خدای نخواسته پشه ای به طور غیر قاونی وارد شرکت شد و دست بر قضا لگدی نثار یکی از کارمندان محترم کرد، سریعاً از او دلجویی کنند.!![]()
کارمندان این مجتمع اصلا نگران خرابی ناگهانی اتومبیل و در راه ماندن نیستند. چرا که مکانیک هایی ، همیشه مسئول بازرسی و سرویس اتومبیل آنها هستند و هر روز اتومبیل کارمندان تحت معاینه این افراد قرار می گیره.
تو اتاق کارمندها به جای صندلی ، کاناپه های راحتی وجود داره که یه وقت احساس خستگی نکنن.
دو استخر، یک زمین والیبال شنی و سالن های ورزشی و خلاصه هر گونه امکانات تفریحی و رفاهی برای کار!!.........- راستی کار یا تفریح.!!!![]()

گوگل کارمندانش رو با غذاهای انرژی زا و مقوی با نشاط و پرانرژی نگه میداره تا از کار لذت ببرن.
در کل، مهندسین و کارشناسان این شرکت دیگه هیچ دغدغه ای ندارند و فقط باید دوگوله!! مبارک روبه کار بندازن.![]()
تو یکی از فروم ها از زبان یک کارشناس کامپیوتر نوشته بود: تنها دلیل من برای گرفتن PhD اینه که بتونم در کمپانی گوگل کار کنم.!![]()
با وجود تمامی این امکانات رفاهی، فکر نکنید که حقوق کارمندان سر به فلک می کشه.! نه .این طور نیست. ولی به گفته کارمندان همین شرکت ، کار در اینجا طوریست که پس از یک سال کار در Googleplex، مثل یک خانواده ، جدایی از شرکت سخته.
این است شرکتی که ابدا در یک گاراژ و به عنوان تز دو دانشجو شروع شد و الان که هنوز جشن تولد 10 سالگیش رو نگرفته ،به عنوان بهترین موقعیت شغلی شناخته شده.
شاید من هم یه روز رفتم Googleplex کارکنم.!!!![]()
![]()
![]()
![]()
چرا اینجوری نگام می کنین؟! به ما نمیاد؟![]()
راستش یکم با بلاگ اسکای مشکل داشتم. تصمیم گرفتم دیگه تو بلاگفا وب راه بندازم.
همچین هم تحفه نیست پست هام. ولی برا دلخوشی خودم می نویسیم.![]()
مطالبی که قدیما تو بلاگ اسکای نوشتم رو خوندین؟ بدک نیستن.!! البته هیچ بقالی نمی گه ماست من ترشه.!!
ترفند ها ی جستجو در بزرگترین موتور جستجوی جهانgoogle
روش اضافه کردن و استفاده از FCKeditor در پروژه های دات نت
استفاده از نرم افزار PowerPoint جهت ساخت اسلاید های نمایشی
قطع صدای مودم در هنگام اتصال به اینترنت
غیر فعال کردن گزارش خطا در ویندوز
کرم یا ویروس ، مسئله این است!!
آشنائی با متدولوژی RUP – قسمت اول
آشنائی با متدولوژی RUP – قسمت دوم
آشنائی با متدولوژی RUP_قسمت سوم
آشنائی با متدولوژی RUP_قسمت چهارم
راستی یادم رفت بگم اگه می خواین گاو گوسفند بکشین من اصلا راضی نیستم ها.!!! به خدا اگه بذارم.!![]()
تا بعد![]()

