کتاب برنامه نویسی به زبان C جعفر نژاد قمی به همراه حل المسائل به صورت PDF

  • پنج شنبه ۴ آبان ۱۳۹۶
  • بازدید ۴,۴۵۰ نفر

language programming c book with pdf 223 تصویر

کتاب برنامه نویسی به زبان C جعفر نژاد قمی

در این بخش کتاب برنامه نویسی به زبان C جعفر نژاد قمی را به همراه حل المسائل آن در قالب فایل PDF در ۲۲ فصل و ۶۴۴ صفحه برای علاقه مندانی که می خواهند برنامه نویسی به زبان C را به خوبی یاد بگیرند آماده کرده ایم. کد های نوشته شده در کتاب برنامه نویسی به زبان C را می توانید در محیط های برنامه نویسی همچون نرم افزار Dev c++ ، نرم افزار Code Blocks و نرم افزار C-Free نوشته و برنامه های خود را با آنها اجرا کنید.

معرفی زبان برنامه نویسی C

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

سرفصل های کتاب برنامه نویسی به زبان C

مقدمات زبان C

  • انواع دادها
  • متغییرها
  • تعریف متغییرها
  • مقدار دادن به متغیرها
  • تعریف ثوابت
  • عملگردها
  • عملگرهای محاسباتی
  • عبارات محاسباتی
  • تقدم عملگردها
  • عملگردهای رابطه ای
  • عملگرهای منطقی
  • عملگرهای ترکیبی
  • عملگرهای بیتی
  • عملگرهای & و*
  • عملگر ؟
  • عملگر کاما (,)
  • عملگر sizeof
  • عملگر ()
  • تقدم عملگر ها در حالت کلی
  • تبدیل انواع
  • روش ایجاد برنامه
  • تعیین نیازمندیهای مسئله
  • تحلیل مسئله
  • طراحی الگوریتم
  • پیاده سازی الگوریتم
  • تست برنامه
  • نگهداری برنامه
  • فرایند آماده سازی و اجرای
  • برنامه
  • تمرینات

ساختار برنامه C ورودی و خروجی

  • ورودی – خروجی داده ها
  • چاپ اطلاعات با تابع ()printf
  • مشاهده صفحه خروجی برنامه
  • پاک کردن صفحه خروجی
  • انتقال مکان نما در صفحه خروجی
  • چاپ اعداد نوع short و long
  • تعیین طول میدان در تابع ()printf
  • ورود اطلاعات توسط تابع ()scanf
  • ورودی و خروجی کاراکترها
  • خواندن کاراکتر با تابع ()getch و ()getche
  • خواندن کاراکتر با ()getchar
  • نوشتن کاراکتر با توابع ()putch و ()putchar
  • تمرینات

حلقه های تکرار و ساختارهای تصمیم

  • ساختارهای تکرار
  • ساختار تکرار for
  • حلقه های تکرار تو در تو
  • عملگر کاما و حلقه for
  • ساختار تکرار while و do…..while
  • از کدام حلقه تکرار استفاده کنیم ؟
  • ساختارهای تصمیم
  • ساختار تصمیم if
  • ساختار تصمیم else if
  • انتقال کنترل غیر شرطی
  • دستور break
  • دستور continue
  • دستور goto
  • ساختار تصمیم switch
  • تمرینات

توابع و کلاس های حافظه

  • توابع و برنامه سازی ساخت یافته
  • نوشتن توابع
  • نکاتی در مورد نوشتن توابع
  • تابع چگونه کار می کند
  • روشهای ارسال توابع به پارامتر
  • توابعی که هیچ مقداری را بر نمی گردانند
  • توابعی که یک مقدار را برمی گردانند
  • متغییرهای محلی و عمومی
  • متغییرهای محلی همنام با متغییرهای عمومی
  • بازگشتی
  • حالت های بازگشتی و توقف در محاسبه فاکتوریل
  • کلاس های حافظه و حوزه متغییرها
  • کلاس حافظه اتوماتیک
  • کلاس حافظه ثبات
  • کلاس حافظه استاتیک
  • متغییرهای استاتیک محلی
  • متغییرهای استاتیک عمومی
  • کلاس حافظه خارجی
  • استاتیک عمومی
  • نکته ای راجع به الگوی تابع
  • تمرینات

آرایه ها و رشته ها

  • آرایه های یک بعدی
  • آرایه های یک بعدی با عنوان
  • آرگومان تابع
  • مرتب سازی آرایه ها
  • مرتب سازی حبابی
  • جستجو در آرایه
  • جستجوی ترتیبی
  • جستجوی دودویی
  • آرایه های چند بعدی
  • آرایه های دو بعدی به عنوان آرگومان تابع
  • مقداراولیه آرایه ها
  • نکته ای راجع به آرایه ها
  • رشته ها
  • مقدار اولیه دادن به رشته ها

اشاره گرها

  • متغییرهای اشاره گر
  • عملگرهای اشاره گر
  • اشاره گرها و انواع متغییرها
  • اعمال روی اشاره گرها
  • انتساب اشاره گرها به یکدیگر
  • اعمال محاسباتی بر روی اشاره گرها
  • مقایسه اشاره گرها
  • متغییرهای پویا
  • تخصیص حافظه پویا
  • برگرداندن حافظه به سیستم
  • اشاره گرها و توابع
  • اجرای تابع با استفاده از آدرس آن
  • اشاره گرها و آرایه ها
  • آرایه پویا
  • اشاره گرها و رشته ها
  • ارزش دهی اولیه به اشاره گرها
  • اشاره گر به اشاره گر
  • نکاتی در مورد اشاره گرها
  • آرگومان تابع ()main
  • تمرینات

ساختمان ها

  • تعریف نوع ساختمان
  • تعریف متغییر نوع ساختمان
  • دسترسی به عناصر ساختمان
  • ارزش دهی اولیه به ساختمان
  • انتساب ساختمان ها به یکدیگر
  • آرایه ای از ساختمان ها
  • تعریف ساختمان ها به صورت لانه ای
  • ساختمان ها به عنوان آرگومان تابع
  • انتقال عناصر ساختمان به توابع
  • انتقال ساختمان ها به توابع
  • اشاره گرهای ساختمان
  • ساختمان بیتی
  • یونیونها
  • ساختمانی از یونیون
  • تغییر نام انواع داده ها با typedef
  • انواع داده شمارشی
  • تمرینات

فایل ها

  • انواع فایل از نظر نوع اطلاعات
  • سازمان فایل
  • باز کردن فایل
  • بستن فایل
  • ورودی – خروجی کاراکترها
  • ورودی خروجی رشته ها
  • فایل به عنوان وسیله ورودی – خروجی
  • عیب یابی در ورودی – خروجی فایل
  • حذف فایل
  • بافر
  • ورودی و خروجی همراه با فرمت
  • ورودی – خروجی رکورد
  • حل یک مسئله از طریق فایل تصادفی
  • دستگاه های ورودی – خروجی استاندارد
  • تمرینات

توابع کتابخانه ای

  • توابع ریاضی
  • توابع کاراکتری
  • توابع رشته ای
  • توابع تخصیص حافظه پویا
  • توابعی در مورد فایل ها و فهرست ها

صف، پشته، لیست پیوندی و درخت

  • صف
  • پشته
  • لیست پیوندی
  • مشخصات گره های لیست
  • تعریف گره لیست پیوندی
  • تعریف اشاره گرهای خارجی
  • ایجاد گره لیست پیوندی
  • پیوند دادن گره های لیست پیوندی
  • درج گره ای در لیست دو پیوندی
  • حذف گره از لیست دو پیوندی
  • درختها
  • درخت دودویی
  • ساختار گره دودویی
  • تعریف گره درخت
  • ایجاد گره درخت
  • ایجاد درخت جستجوی دودویی
  • پیمایش درخت
  • پیمایش inorder درخت دودویی
  • پیمایش preorder
  • پیمایش postorder
  • تمرینات

روشهای مرتب سازی و جستجو

  • روشهای مرتب سازی
  • مقایسه الگوریتم های مرتب سازی
  • نمونه ای از یک روش مرتب سازی تعویض
  • روش مرتب سازی انتخابی
  • مرتب سازی به روش درجی
  • چند روش مرتب سازی خوب
  • الگوریتم مرتب سازی shellsort
  • الگوریتم مرتب سازی quicksort
  • مرتب سازی رشته ها
  • مرتب سازی ساختمان ها
  • مرتب سازی فایل های تصادفی
  • روشهای جستجو
  • تمرینات

ساختمان کامپیوتر و وقفه ها

  • ساختمان کامپیوتر
  • ثبات های پردازنده ۱۶ بیتی
  • ثبات های عمومی
  • سگمنت ها
  • ثبات های سگمنت
  • ثبات های ایندکس
  • ثبات های وضعیت و کنترلی
  • فلک های کنترلی
  • فلک های وضعیت
  • ثبات های ۳۲ بیتی
  • مفهوم آدرس دهی
  • مقدمه ای بر وقفه ها
  • انواع وقفه ها
  • وقفه های بایوس
  • معرفی توابع چند وقفه
  • اجرای وقفه ها در C
  • توابع DOS

مدل های حافظه و مدیریت

  • صفحه کلید
  • مدل حافظه tiny
  • مدل حافظه small
  • مدل حافظه medum
  • مدل حافظه compact
  • مدل حافظه large
  • مدل حافظه huge
  • انتخاب مدل حافظه مناسب
  • معرفی یک مدل حافظه به کامپایلر
  • آدرس دهی به خارج از یک سگمنت حافظه
  • کلمه کلیدی far
  • کلمه کلیدی huge
  • کلمه کلیدی near

رمزگذاری و فشرده سازی متن ها

  • انواع رمزگذاری
  • رمز گذاری جانشینی
  • رمز گذاری جابجایی
  • رمز گذاری به وسیله دستکاری بیت ها
  • فشرده سازی داده ها
  • ذخیره ۸ کاراکتر در۷ بایت
  • فشرده سازی از طریق حذف کاراکترها
  • کشف رمزمنتهای رمزی

توابع کتابخانه ای

  • توابع گرافیکی
  • توابع غیر گرافیکی صفحه نمایش

گرافیک

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

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

  • طراحی برنامه
  • انتخاب یک ساختمان داده
  • پنهان سازی اطلاعات و کد
  • برنامه های متشکل از چند فایل
  • ایجاد کتابخانه
  • مشاهده محتوای فایل کتابخانه
  • برنامه GREP

طراحی مفسر زبان های برنامه سازی

  • عبارات
  • نشانه ها
  • چگونگی تولید عبارات
  • مفسر زبان بیسیک
  • دستور انتساب
  • دستور print
  • دستور INPUT
  • دستور IF
  • دستور FOR
  • دستور GOSUB
  • برنامه کامل مفسر بیسیک

توابع کتابخانه ای

  • توابعی در مورد تاریخ، زمان و دیگر توابع سیستم
  • توابع تخصیص حافظه پویا
  • توابع کنترلی
  • توابع ورودی – خروجی
  • توابع متفرقه

مدیریت منوها

  • ذخیره و بازیابی قسمتی از صفحه نمایش
  • ایجاد منوی popup
  • ایجاد منوی popup بدون وقفه بایوس
  • ایجاد منوی pulldown

ارتباط زبان C با اسمبلی

  • دستورات اسمبلی در زبان C
  • استفاده از زیر برنامه های اسمبلی در برنامه C
  • کوچک و بزرگ بودن حروف و متغییرها
  • پیش فرض سگمنت
  • ارتباط شناسه های extern و public در توربو C و توربو اسمبلر
  • ترجمه چند فابل C واسمبلی
  • تبادل پارامترهای بین اسمبلی و TC
  • ارسال پارامترها از برنامه C به اسمبلی
  • استفاده از پشته برای انتقال پارامترها
  • بازگرداندن مقادیر از زبان اسمبلی به زبان C

دستورات پیش پردازنده

  • تعریف ماکرو
  • ضمیمه کردن فایل ها
  • دستورات پیش پردازنده شرطی
  • حذف ماکروی تعریف شده
  • اسامی مایکروهای از پیش تعریف شده
  • دستور پیش پردازنده #line
  • دستور پیش پردازنده #error

باکس دانلود
شناسه:
۲۲۳
صفحات:
۶۶۳ صفحه
زبان:
فارسی
فرمت فایل:
PDF
اندازه فایل:
۱۹٫۵ مگابایت
لینک دانلود:
جهت دانلود در کانال تلگرامی (ID: @Sourcesara) عضو شده و از لینک زیر دانلود را انجام دهید
کتاب های مرتبط
کتاب مرجع کامل جاوا

بازدید ۶۰۹ نفر
ثبت نظر
ریفریش کنید!
نظرات کاربران (۴ مورد)
  1. تصویر آواتار کاربر 0
    سعید مرادمنش جمعه , ۱۹ آبان

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

  2. تصویر آواتار کاربر 0
    مهراب چهارشنبه , ۲۹ آذر

    بهترین کتاب فارسی موجود برای یادگیری زبان برنامه نویسی سی هستش

  3. تصویر آواتار کاربر 0
    darya پنج شنبه , ۹ اسفند

    سلام وقت شمام بخیر میخوام برنامه نویسی رو یاد بگیرم بهم گفتن زبان سی و سی ++ رو شروع کنم؟ شما پیشنهادی دارید؟ الان یه نفر که مبتدیه باید از سی شروع کنه یعنی چیز دیگه ای لازمش نیست ؟اشنایی با سیستم عامل یا همچین چیزی؟

    • تصویر آواتار کاربر 124
      AmRoیکشنبه , ۲۶ اسفند

      سلام...اگه زبان برنامه نویسی سی و سی پلاس پلاس رو خوب یاد بگیرین، خیلی راحت می تونید زبان های مطرح دیگر مانند جاوا، سی شارپ، php، جاوا اسکریپت رو یاد بگیرین