آموزش کامل زبان برنامه نویسی c
دسته بندي :
برنامه نویسی و اسکریپت »
C و C++
نگرشی از برنامه نویسی C
زبان برنامه نویسی C (سی)، بدون شک یکی از مهم ترین زبان های برنامه نویسی است که به وفور هم به صورت مستقیم برای پیاده سازی انواع نرم افزارها و برنامه ها بر روی انواع سیستم های سخت افزاری و سیستم عامل ها استفاده شده است و هم منشا ایجاد زبان های برنامه نویسی جدید تر، نظیر: C++ (سی پلاس پلاس)، Java (جاوا)، C# (سی شارپ) بوده است. بسیاری از مفاهیم مورد استفاده در ساختار این زبان برنامه نویسی، بعدها تبدیل به موضوعات پایه ای و اساسی علوم کامپیوتر شده است و از این نظر، زبان برنامه نویسی C، دارای ارزش های تئوریک بسیار بالایی است.
اهمیت این زبان به عنوان پیش نیاز
نظر به اهمیت و جایگاه ویژه زبان های برنامه نویسی C و C++، چند مجموعه آموزشی متوالی برای آموزش این زبان های برنامه نویسی در فرادرس ارائه خواهند شد که فرادرس حاضر، بخش نخست از این موارد است و با در بر گرفتن ۱۲ درس آموزشی از برنامه نویسی C (که پیش نیاز برنامه نویسی C++ نیز می باشند) شروع و ورود بسیار خوب را برای همه علاقه مندان به آموزش برنامه نویسی را فراهم می کند. در ادامه این آموزش، سایر مجموعه های تکمیلی نیز برای آموزش مباحث برنامه نویسی C و C++ تا سطح پیشرفته و حرفه ای، بر روی فرادرس ارائه خواهند شد.
در این فرادرس بیشتر بر روی استاندارد ANSI C تاکید شده است اما استاندارد های جدیدتر از زبان C نیز مورد اشاره واقع شده اند که در خلال مباحث آموزش، نکات مربوط به آن ها، آمده است، ضمنا برای پیاده سازی برنامه ها به زبان های C و C++ می توان از محیط های برنامه نویسی و توسعه مجتمع (IDE) مختلفی استفاده نمود، که فهرست کاملی از آن ها در جلسه ابتدایی این آموزش، آمده است، اما برای راحتی و سهولت در استفاده از میان این محیط ها، از Code::Blocksدر این مجموعه آموزشی استفاده شده است.
مطالب و نکات آموزشی مورد اشاره در این آموزش، توسط دکتر سید مصطفی کلامی هریس (فارغ التحصیل دکترای مهندسی برق – کنترل، دانشگاه صنعتی خواجه نصیرالدین طوسی) ارائه شده است و همه موارد مطرح شده، در کنار مرور کامل بر مباحث تئوری و مفهومی، به صورت کاملا عملی و گام به گام، پیاده شده اند . از این رو، این فرادرس می تواند به عنوان یک مرجع کاملا علمی و عملی، مورد استفاده دانشجویان و دانش پژوهان باشد.
فهرست سرفصل ها و رئوس مطالب مطرح شده در این مجموعه آموزشی، در ادامه آمده است:
- درس یکم: آشنایی با زبان برنامه نویسی C
- تاریخچه ای از زبان برنامه نویسی C
- استانداردهای زبان C مانند: C89 و C90 و C99 و C11
- IDE های موجود برای C و C++
- آشنایی با محیط Code::Blocks
- نحوه ایجاد پروژه جدید و تنظیمات مربوط به آن در محیط Code::Blocks
- تفاوت زبان های اسکریپتی و Functional
- نوشتن اولین و ساده ترین برنامه و چاپ در خروجی
- نحوه اجرای برنامه و Build کردن برنامه
- درس دوم: آشنایی با اجزای سازنده یک برنامه C
- توضیح بخش های مختلف یک برنامه در زبان C
- پیش پردازنده ها، تابع ()Main
- کاراکترهای کنترلی (Control sequence or Escape sequences)
- تعریف متغیر از نوع عدد صحیح (Integer)
- دریافت ورودی از کاربر
- متغیرها
- نحوه نام گذاری متغیرها
- تعریف متغیر
- عملگرهای محاسباتی
- اولویت عملگرها
- کلمات کلیدی رزرو شده در C
- درس سوم: ساختارهای کنترل برنامه در C (بخش یکم)
- ساختارهای کنترلی برنامه
- شرایط لازم برای پیاده سازی الگوریتم ها
- Sequential
- Selection
- Repetition
- دستور If
- دستورات شرطی تو در تو
- عملگرهای مقایسه ای
- مقداردهی متغیرها یا Assignment
- عملگرهای افزایشی و کاهشی (Increment و Decrement)
- تکمیل اولویت عملگرها
- حلقه تکرار while
- حلقه بی نهایت و دستور Break
- تعریف ثابت ها (Define)
- درس چهارم: ساختارهای کنترل برنامه در C (بخش دوم)
- حلقه تکرار for
- استفاده از کتابخانه math.h و برخی از توابع آن
- دستور Switch
- نوع متغیر کاراکتر
- دستور do while
- عملگرهای منطقی
- درس پنجم: پیاده سازی و استفاده از توابع در C
- مفهوم توابع و نحوه تعریف و پیاده سازی توابع
- معرفی کتابخانه های پرکاربرد
- <stdio.h>
- <stdlib.h>
- <string.h>
- <time.h>
- <stddef.h>
- <stdarg.h>
- <math.h>
- <local.h>
- <limits.h>
- <float.h>
- <ctype.h>
- <assert.h>
- <errno.h>
- پیاده سازی و فراخوانی تایع به صورت بازگشتی یا Recursive
- اصل ارائه کمترین اختیارات
- شیوه ذخیره سازی متغیرها در حافظه
- Auto
- Register
- Extern
- Siatic
- درس ششم: آرایه ها در C
- آرایه ها
- نحوه تعریف
- دسترسی به عناصر آرایه
- مقداردهی اولیه
- پیدا کردن تعداد المان های یک آرایه
- رشته ها یا آرایه هایی از کاراکترها
- نحوه ارسال آرایه ها به توابع (Call by Value و Call by Reference)
- الگوریتم مرتب سازی حبابی
- آرایه های دو بعدی
- آرایه های با طول متغیر
- درس هفتم: اشاره گرها در C
- اشاره گر ها یا Pointers
- تعریف انواع اشارگر ها
- درس هشتم: کاراکتر ها و رشته ها در C (بخش یکم)
- کاراکترها و رشته ها
- کتابخانه ها و توابع مربوط به کاراکترها
- توابع تشخیص نوع کاراکترها
- توابع تبدیل رشته ها به مقادیر عددی
- درس نهم: کاراکترها و رشته ها در C (بخش دوم)
- توابع موجود در <stdio.h> برای کار با کاراکترها
- توابع موجود در <string.h> برای کار با کاراکترها و رشته ها
- درس دهم: قالب بندی ورودی و خروجی
- قال بندی ورودی و خروجی
- فرمت های مختلف داده های عددی
- Integer
- Floating Point Number
- Strings and Characters
- Escape sequences
- SET SCAN
- درس یازدهم: ساختار (Structure) و یونیون (Union)
- ساختارها یا Structures
- شباهت و تفاوت ساختارها و آرایه ها
- تعریف ساختار
- تعریف متغیرهایی از نوع ساختارهای تعریف شده
- دسترسی به فیلد های یک ساختار
- استفاده از اشاره گرها در تعریف ساختارها
- ساختارهای خود ارجاع
- استفاده از دستور typedef
- ارسال ساختارها به توابع
- ساختارهای متحد یا Unions
- درس دوازدهم: عملگرهای بیتی، فیلدهای بیتی و ثوابت نام دار و شمارشی (Enumeration)
- عملگرهای بیتی
- فیلدهای بیتی
- داده های شمارشی Enumeration