آموزش برنامه نویسی به زبان C – جلسه اول : مقدمات

قراره که با زبان C آشنا بشیم توی این دوره .

بیشتر تو این دوره سعی میکنم بخش هایی از این زبون رو توضیح بدم که بعدا توی بخش های دیگه برامون کاربرد داره و سعی میکنم زیاد وارد عمق مطلب نشم.

این توضیح به این معنیه که این آموزش برای کسایی که میخوان بار اول با  زبان C  آشنا بشن مناسبه ، چه رشته کامپیوتر ، چه برق،  سخت افزار و یا هر رشته ای .

این مطلب برای کسایی که میخوان بعدا برنامه نویسی با زبان C برای AVR یا ARM کنن یا مثلا توی Matlab کد بنویسن میتونه خیلی مناسب باشه. خلاصه که سعی میکنم تمام کلیت این زبون رو در حد نیاز بگم.

خب با این مقدمه بریم سراغ اصل مطلب:
قبل از شروع برنامه نویسی با زبان C ، بهتره که نرم افزاری که از اون بعنوان کامپایلر استفاده میکنیم رو هم معرفی کنیم، IDE های زیادی برای زبون c/c++ وجود دارن که معروف ترینشون visual studio هست و خیلی ها از اون استفاده میکنن . اما ما از نرم افزار سبک و کم حجم DEVC++ استفاده می کنیم که تمامی نیاز هامون رو برطرف میکنه .
میتونید نسخه ی 5.9.2 اون رو که 7zip شده ی DEVC++ رو با حجم 36 مگابایت از لینک زیر دریافت کنید.

دانلود ++DevC ورژن 5.9.2

کافیه که فایل رو extract کنید ، برنامه نیاز به نصب نداره و اجرا میشه.

برای شروع برنامه نویسی به زبان C ، خوبه که یک تاریخچه کوتاه درباره ی زبون C بدونیم .

تاریخچه:
این زبان یعنی زبان C توسط دنیس ریچی در سال 1972 طراحی شده.

اکثر سیستم عاملها بـا ایـن زبـان نوشته شده اند و زبان ++C نسخه جدیدی از زبان C است که از روشهای برنامه نویسی شیء گرا هم استفاده میکنه.

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

1 –برنامه های نوشته شده به زبان C براحتی از یک ماشین به ماشین دیگر قابل انتقال هستند.

2 -زبان C یک زبان ساخته یافته است.

یعنی امکاناتی نظیر ساختارهای حلقه مانند while ،for و یا … رو فراهم میکنه که بعدا با همشون آَشنا میشیم.

3 -زبان C دارای 32 کلمه کلیدی است.

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

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

این 32 کلمه برای زبون c  مفهوم دارن و با نوشتن (صدا زدن) اونها به کامپایلر(نرم افزاری که توی اون کد مینویسیم و یکم جلوتر معرفیش میکنیم) میگین که چه کاری باید انجام بشه.
4 -در زبان C بین حروف کوچک و بزرگ تفاوت وجود داره یعنی این زبان Sensitive Case است.
پس بطور مثال برای این زبون if با IF فرق داره! حواستون باشه ها 😉

5 -در زبان C کلمات کلیدی با حروف کوچیک نوشته میشن.

6 -زبان C خطای زمان اجرا مثل Checking Boundary را چک نمیکند .

یعنی در آرایه ها بـه ابعـاد بزرگتـر از انـدازه آرایه خطا ایجاد نمیکند.(به آرایه ها برسیم بیشتر توضیح میدم و کامل متوجه می شید)

7 -حداکثر طول یک خط برنامه 254 کاراکتر است.(پس توی یک خط بیشتر از 254 کاراکتر نباید بنویسیم)

9 -در زبان C هر دستور به یک سمیکلون یا ; ختم میشود.(اینو اوایل همش فراموش میکنید ولی راه میوفتید 😀 )
10 -برای نوشتن توضیحات یا Comment در برنامه از /* توضیحات */ یا // استفاده میشود.

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

مثلا امروز نصف کد رو نوشتین و هفته بعد قراره بقیشو بنویسید، چون بعدا یادتون نره چه کارهایی رو انجام دادین کامنت مینویسید و توضیح میدید که چه کاری انجام دادین و چه کاری مونده!)

11 -یک برنامه زبان C از چند تابع تشکیل شده است که یکـی از آنهـا تـابع اصلی بنام ()main و بقیه تابع فرعی هستند . (این مهمه و یکم جلوتر بیشتر توضیح میدم)

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

ساختار کلی زبان C :

 

 

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

شناسه ها در C :

شناسه اسمیه که به یک قسمت از برنامه مانند متغیر، توابع و … میدیم. شناسه میتونن ترکیبی از حروف z-a ، Z-A ،اعداد 0-9 و یا خط ربط یا _ باشن.

باید این نکات رو مد نظر داشت که شناسه نمی تونه از کلمات کلیدی باشه و یا با عدد شروع بشه.
احتمالا الان این سوال براتون پیش اومده که خب متغیر و توابع چی هستن؟ اصلی ترین تابع ما همون تابع main هست که بالا توی شکل کلی گفتیم

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

 

حمیدرضا مودت

یک مهندس الکترونیک ، علاقه مند به یاد دادن و یاد گرفتن پیرامون دانش برق و الکترونیک

شما ممکن است این را هم بپسندید

6 پاسخ‌ها

  1. حدیث گفت:

    سایت نو مبارک ^__^

  2. دانیال گفت:

    با سلام
    بنده میخام زبان سی رو کامل یاد بگیرم و به سی پلاس پلاس برسم اما این موضوع اصلی نیست
    بلکه میخام بدونم و بفهمم که درک این زبان برای کامپیوتر و کامپایلر و …چجوری انجام میشه
    که
    1*براحتی بتونم مشکلاتمو در برنامه نویسی بفهمم
    2*برای رباطی که در ذهنم هست به چه روشی پیش برم واینقدر سر در گم نباشم که از چه زبانی چه کامپایلری و چه بردی وهزار چه های دیگه استفاه کنم
    3*در اواسط کارم میخام در زمینه ایمیج پروسسینگ کار کنم با ویژوال استدیو در کتابخانه اپن سی وی البته زبانهای زیادی بهم پیشنهاد دادن از متلب گرفته تا پایتن
    4*نهایتا میخام وارد زمینه هوش مصنوعی بشم و روی سیگنالهای عصبی مغز کار کنم و با تبدیلشون به اعداد صفر ویک بتونم اونچه که در ذهن دارم رو پیاده کنم
    لطفا نهایت راهنمایی تون رو بکنید که بتونم استفاده کنم
    تشکر با ارزوی سالی پر از علم و فن اوری

    • حمید گفت:

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

  3. علی گفت:

    سلام.اگر براتون ممکن و وقتشا دارید لطفا اموزش ها را به صورت فیلم بزارید
    . اموزش به صورت فیلم خیلی بهتره

    • حمید گفت:

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

پاسخ دهید

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