خیلی از دانشجویان رشته های کامپیوتر، الکترونیک، برق و خیلی از رشته های دیگر دنبال کتاب آموزش برنامه نویسی زبان c از جعفر نژاد قمی هستند. متاسفانه بعضی وقت ها این کتاب در بازار پیدا نمی شود و اگر پیدا شود قیمت های بالایی دارد. چند وقت پیش انگار خود مجموعه، این کتاب رو به صورت رایگان برای بقیه قرار داده اند و نسخه های جدید رو به صورت پولی به فروش میرسانند.
در این مطلب می خواهیم لینک دانلود کتاب آموزش برنامه نویسی زبان c از جعفر نژاد قمی را به صورت رایگان برای شما دوستان عزیز قرار دهیم تا نهایت استفاده را از آن ببرید. البته این نکته فراموش نشود اگر می توانید نسخه فیزیکی آن را تهیه کنید. راسیتش به شخصه با کتاب های آقای جعفر نژاد قمی موافق نیستم چون اصلا خوب درس ندادن و اکثرا ترجمه های ناقص و عجیب هستند. حال دست خود شماست که چه منبعی رو برای یادگیری برنامه نویسی سی استفاده کنید.
قبل از اینکه اقدام به معرفی و ارائه سرفصل های کتاب آموزش برنامه نویسی زبان c از جعفر نژاد قمی کنیم ابتدا توضیحاتی در مورد زبان برنامه نویسی سی دهیم تا با این زبان بیشتر آشنا شوید. چون خیلی به صورت درست و دقیق با این زبان برنامه نویسی آشنا نیستند.
زبان c چیست؟
سی یکی از زبان های برنامه نویسی محبوب و قدرتمند است که تعداد زیادی برنامه نویس رو به سمت خود جذب کرده است. زبان سی را میتوان پدر زبان برنامه نویسی سی پلاس و پدربزرگ زبان سی شارپ دونست. زبان های جاوا و سی پلاس پلاس بر پایه سی نوشته و ایجاد شده اند.
زبان برنامه نویسی سی یک زبان همه منظوره، سطح میانی، ساخت یافته و دستوری است. یکی از مزیت های زبان سی، عدم وابستگی به سخت افزار یا سیستم عامل خاصی است.
توجه: امروزه برنامه ریزی ریز کنترل ها و انواع سیپییوها و همچنین تولید سیستم عامل های جدید و نرم افزارهای کاربردی از طریق زبان C صورت می گیرد.
ویژگی های زبان برنامه نویسی سی:
- یک زبان چند منظوره است
- تاثیر گذارترین زبان برنامه نویسی در دنیای کامپیوتر است
- یک زبان ساخت یافته و قابل حمل است
- زبان برنامه نویسی سیستم است
- زبان کوچکی است و تعداد کلمات کلیدی آن انگشت شمار است
- یک زبان برنامه نویسی سطح میانی است
- دارای سرعت، قدرت و انعطاف پذیری بالایی است
- هیچ محدودیتی را برای برنامه نویس به وجود نمی آورد
- نسبت به حروف حساس است و تمام کلمات کلیدی این زبان با حروف کوچک نوشته میشوند
- در محیطهای توسعه دهنده مجتمع (Integrated Development Envoirements) صورت میگیرد
چند نکته کلیدی در زبان برنامه نویسی سی:
- دستورات به ; ختم می شوند
- دستورات یا چیزایی که بعد از // هستن خونده نمی شوند
- در هر سطر هم میتوان چند دستور نوشت
- حداکثر طول هر خط ۲۵۵ تا است
- زبان C بین حروف بزرگ و کوچک فرق میزاره مثلا void با VOID فرق دارد
توجه: اگر در مورد زبان برنامه نویسی سی می خواهید اطلاعات بیشتری کسب کنید پیشنهاد میکنم مقاله زبان 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
نتیجه گیری:
باز هم تکرار می کنم منابع زیادی برای یادگیری و آموزش برنامه نویسی سی وجود دارد و این منبع که با عنوان کتاب آموزش برنامه نویسی زبان c از جعفر نژاد قمی معرفی شده است یکی از منابع یادگیری می باشد که شخصا زیاد با محتوای آن ارتباط برقرار نمی کنم اما شما می توانید از این منابع فعلا برای یادگیری و آشنایی استفاده کنید. برای دانلود این کتاب از جعبه دانلود زیر استفاده کنید.