كتاب C How to Program

وضعیت موجودی: دانلود رايگـــان
3 رای
برند: Prentice Hall

زبان برنامه نویسی C در سال 1972 توسط دنیس مک‌آلیستر ریچی (به انگلیسی: Dennis MacAlistair Ritchie) که یک دانشمند علوم رایانه آمریکایی بود، ایحاد شد. زبان برنامه نویسی C یک زبان میانی می باشد، یعنی هم به زبان های سطح بالا نزدیک است و هم اینکه به زبان های سطح ماشین نزدیک می باشد و به نوعی مزایای هر دو نوع را دارد. سی یکی از زبان های برنامه نویسی محبوب و قدرتمند است که تعداد زیادی برنامه نویس رو به سمت خود جذب کرده است. زبان سی را میتوان پدر زبان برنامه نویسی سی پلاس و پدربزرگ زبان سی شارپ دونست. زبان های جاوا و سی پلاس پلاس بر پایه سی نوشته و ایجاد شده اند. زبان برنامه نویسی سی یک زبان همه منظوره، سطح میانی، ساخت یافته و دستوری است. یکی از مزیت های زبان سی، عدم وابستگی به سخت افزار یا سیستم عامل خاصی است.

QR

كتاب C How to Program

زبان برنامه نويسي C

منشأ C با توسعه سیستم عامل یونیکس کاملاً مرتبط است، که در ابتدا با زبان اسمبلی بر روی PDP-7 توسط دنیس ریچی و کن تامپسون پیاده‌سازی شده و چندین ایده از همکاران را دربر گرفته‌است. سرانجام، آنها تصمیم گرفتند سیستم عامل را به PDP-11 منتقل کنند. نسخه اصلی PDP-11 یونیکس نیز به زبان اسمبلی تولید شده‌است.

تامپسون یک زبان برنامه‌نویسی را برای ایجاد برنامه‌های کاربردی برای سیستم عامل جدید می‌خواست. در ابتدا، او سعی کرد تا کامپایلر Fortran بسازد، اما خیلی زود این ایده را رها کرد. در عوض، او یک نسخه برش خورده از زبان برنامه‌نویسی سیستم‌های BCPL که اخیراً توسعه یافته بود، ایجاد کرد. توضیحات رسمی BCPL در آن زمان موجود نبود و تامپسون نحو (syntax) را اصلاح و کم حرف تر و B را مشابه اما کمی ساده‌تر تولید می‌کند با این حال، کمترین ابزارها نهایتاً در B نوشته شدند زیرا خیلی کند بود و B نمی‌توانست از ویژگی‌های PDP-11 مانند آدرس پذیری بایت بهره ببرد.

در سال ۱۹۷۲، دنیس ریچی شروع به بهبود B کرد، که منجر به ایجاد زبان جدید C شد. کامپایلر C و برخی از برنامه‌های کاربردی ساخته شده با آن در نسخه ۲ یونیکس گنجانده شده‌است. در نسخه ۴ یونیکس، که در نوامبر ۱۹۷۳ منتشر شد، هسته یونیکس به‌طور گسترده‌ای در C دوباره اجرا شد. در این زمان، زبان C ویژگیهای قدرتمندی مانند انواع ساختار را به دست آورده بود.

K&R C

در سال ۱۹۷۸، برایان کرنیگان و دنیس ریچی چاپ اول کتاب زبان برنامه‌نویسی C را منتشر کردند. این کتاب که به عنوان K&R برای برنامه نویسان C شناخته شده بود، سالها به عنوان مشخصات غیررسمی زبان مورد استفاده قرار گرفت. نسخه C که توصیف می‌کند معمولاً با عنوان "K&R C" شناخته می‌شود. چاپ دوم کتاب شامل استاندارد بعدی ANSI C است که در زیر شرح داده شده‌است.

ANSI C and ISO C

در اواخر دهه ۱۹۷۰ و ۱۹۸۰، نسخه C برای طیف گسترده‌ای از رایانه‌های اصلی، مینی کامپیوتر و میکرو رایانه‌ها از جمله IBM PC پیاده‌سازی شد، زیرا محبوبیت آن به میزان قابل توجهی افزایش یافت.

در سال ۱۹۸۳، مؤسسه استاندارد ملی آمریکا (ANSI) کمیته ای با نام X3J11 تشکیل داد تا مشخصات استاندارد C را ایجاد کند. X3J11 براساس استاندارد C بر روی اجرای یونیکس؛ با این حال، بخش غیرقابل حمل از کتابخانه یونیکس C به گروه کاری IEEE 1003 واگذار شد تا پایه ای برای استاندارد POSIX 1988 باشد. در سال ۱۹۸۹، استاندارد C با عنوان ANSI X3.159-1989 "زبان برنامه نویسی C" تصویب شد. این نسخه از زبان اغلب به عنوان ANSI C، استاندارد C یا بعضی اوقات C89 گفته می‌شود.

در سال ۱۹۹۰، استاندارد ANSI C (با تغییرات قالب بندی) توسط سازمان بین‌المللی استانداردسازی (ISO) به عنوان ISO / IEC 9899: 1990 تصویب شد، که گاهی اوقات C90 نیز نامیده می‌شود؛ بنابراین، اصطلاحات "C89" و "C90" به همان زبان برنامه‌نویسی اشاره دارند.

C99

استاندارد C در اواخر دهه ۱۹۹۰ بازنگری شد و منجر به انتشار ISO / IEC 9899: 1999 در ۱۹۹۹ شد، که معمولاً به آن "C99" گفته می‌شود. از آن زمان سه بار توسط غلط‌های فنی اصلاح شده‌است.

C99 چندین ویژگی جدید از جمله توابع درون خطی، چندین نوع داده جدید (از جمله int long long و یک نوع پیچیده برای نشان دادن اعداد پیچیده)، آرایه‌های با طول متغیر و اعضای آرایه انعطاف‌پذیر، پشتیبانی بهبود یافته از IEEE 754 نقطه شناور، پشتیبانی از ماکرو متغیر را معرفی کرد؛ و پشتیبانی از نظرات تک خطی که با // شروع می‌شود، مانند BCPL یا C ++. بسیاری از این موارد قبلاً به عنوان پسوند در چندین کامپایلر C اجرا شده بودند.

C99 در اکثر موارد با C90 سازگار با عقب است، اما از بعضی جهات سخت‌تر است. به ویژه، بیانیه ای که فاقد یک مشخص کننده نوع است، دیگر به‌طور ضمنی فرض شده‌است. یک کلان استاندارد __STDC_VERSION__ با مقدار 199901L تعریف شده‌است تا نشان دهد که پشتیبانی C99 در دسترس است. GCC , Solaris Studio و سایر کامپایلرهای C اکنون از بسیاری از ویژگی‌های جدید C99 پشتیبانی می‌کنند. کامپایلر C در ++Microsoft Visual C، استاندارد C89 و قسمت‌هایی از C99 را که برای سازگاری با C ++ 11 لازم است، پیاده‌سازی می‌کند.

C11

در سال ۲۰۰۷، کار بر روی تجدید نظر در مورد استاندارد C، به‌طور غیررسمی به نام "C1X" تا انتشار رسمی آن در تاریخ ۲۰۱۱-۱۲-۰۸ آغاز شد. کمیته استاندارد C دستورالعمل‌هایی را برای محدود کردن استفاده از ویژگی‌های جدید که توسط آزمایش‌های موجود آزمایش نشده‌اند، اتخاذ کرده‌است.

استاندارد C11 چندین ویژگی جدید به C اضافه می‌کند و کتابخانه، از جمله ماکرو نوع عمومی، ساختارهای ناشناس، پشتیبانی بهبود یافته یونیکد، عملیات اتمی، چند رشته‌ای و عملکردهای محدود شده را بررسی می‌کند. همچنین برخی از بخش‌های موجود در کتابخانه C99 را به اختیاری تبدیل کرده و سازگاری با ++C را بهبود می‌بخشد. کلان استاندارد __STDC_VERSION__ به عنوان 201112L تعریف شده‌است تا نشان دهد که پشتیبانی C11 در دسترس است.

C18

C18 که در ژوئن سال ۲۰۱۸ منتشر شده استاندارد فعلی زبان برنامه‌نویسی C است. این معرفی هیچ ویژگی جدید زبان نداشت، فقط اصلاحات فنی و شفاف سازی در مورد نقص C11 را ارائه می‌دهد. کلان استاندارد __STDC_VERSION__ با عنوان 201710L تعریف شده‌است.

 

لينك كتاب در سايت آمازون

 

 

كتاب C How to Program

مشخصات كلي
موضوع: برنامه نويسي
سطح كتاب : مقدماتي تا پيشرفته
زبان كتاب : انگليسي
حجم فايل: 7.38MB
فرمت فايل : PDF
مشخصات كتاب الكترونيكي
مولف: Paul Deitel , Harvey Deitel
ناشر: Prentice Hall
تعداد صفحات: 977
شابك (ISBN): 978-0132990448
تاريخ و نوبت چاپ: 7th edition (March 4, 2012)
برند: Prentice Hall
کد محصول: 231

نظرات کاربران درباره كتاب C How to Program

نظری در مورد این محصول توسط کاربران ارسال نگردیده است.
اولین نفری باشید که در مورد كتاب C How to Program نظر می دهد.

ارسال نظر درباره كتاب C How to Program

لطفا توجه داشته باشید که ایمیل شما منتشر نخواهد شد.

برچسب های مرتبط با كتاب C How to Program

آموزش زبان برنامه نويسي C برنامه نويسي c دانلود رايگان كتاب برنامه نويسي C C How to Program زبان برنامه نويسي C Array C Programming C# cin.get cin.peek cin.ignore cin.putback File For Function Overloading If isalnum isalpha isdigit islower memcmp memcpy memmove memset Merging two arrays Namespace Overload pointer programming strcat strchr strcmp strcspn strlen strspn strstr strtoul Structure switch ToUpper Union Void while آرایه آرایه 2 بعدی آرایه 3 بعدی آرایه از استراکچر آرایه پویا آرایه چند بعدی آرایه دو بعدی آرایه یک بعدی ادغام دو آرایه ارسال استراکچر به تابع استراکچر اشاره گر اشاره گر Void اشاره گر آویزان اشاره گر به آرایه اشاره گر به استراکچر اشاره گر به اشاره گر انواع اشاره گر انواع داده ها انواع عملگرها برنامه سازی پیشرفته پشته پیاده سازی پشته پیاده سازی صف پیاده سازی لیست پیوندی تابع تابع rewind تابع بازگشتی تفاوت c با ++c توابع کار با رشته توابع کار با رشته ها جستجوی خطی جستجوی دودویی حلقه های تودرتو دستور do while دستور for دستور If دستور switch دستور while دستورات شرطی رابطه اشاره گر با آرایه زبان C++ ساختارهای تکرار سر بارگذاری تابع سی پلاس پلاس لیست پیوندی مبحث شی ء گرایی متغیرهای پویا مرتب سازی انتخابی مرتب سازی حبابی مزیت ++C مفهوم Namespace یونیون Class friend Object Protected Template آرایه ای از اشیا ارث بری ارسال شیء به تابع اشاره گر اشاره گر به اشیا اصول پردازش استثنا انتساب اشیا انقیاد زودرس برگرداندن شیء توسط تابع برنامه نویسی OOP برنامه نویسی شیء گرا پرتاب مجدد استثناها پردازش استثنا پشته پلی مورفیسم تابع با دو نوع قالب تابع دوست تابع قالب تخصیص پویای اشیا توابع دوست کلاس توابع قالب توابع مجازی توابع مجازی محض چند ریختی چند شکلی داده انتزاعی دریافت استثنا زبان C++ زبان های شیء گرا ساختمان داده ها سازنده سازنده کلاس پایه سی پلاس پلاس شی شی گرایی شیء صف عملگرها قالب کلاس کلاس انتزاعی کلاس قالب کلاس مشتق کلاس های پایه مجازی کلاس های دوست کلاس های مشتق لیست پیوندی مخرب مفاهیم شیء گرا وراثت وراثت چندگانه وراثت واسط ویژگی static یادگیری مفاهیم شیء گرا Array atof atoi atoll C Programming C# cin.get cin.peek cin.ignore cin.putback File For Function Overloading If isalnum isalpha isdigit islower memcmp memcpy memmove memset Merging two arrays Namespace Overload pointer programming strcat strchr strcmp strcpy strncpy strcspn strlen strncat strspn strstr strtok strtol strtod strtoul Structure switch ToUpper Union Void while آرایه آرایه 2 بعدی آرایه 3 بعدی آرایه از استراکچر آرایه پویا آرایه چند بعدی آرایه دو بعدی آرایه یک بعدی ادغام دو آرایه ارسال استراکچر به تابع استراکچر اشاره گر اشاره گر Void اشاره گر آویزان اشاره گر به آرایه اشاره گر به استراکچر اشاره گر به اشاره گر انواع اشاره گر انواع داده ها انواع عملگرها برنامه سازی پیشرفته پشته پیاده سازی پشته پیاده سازی صف پیاده سازی لیست پیوندی تابع تابع fclose تابع fopen تابع fread تابع fseek تابع ftell تابع fwrite تابع rewind تابع بازگشتی تفاوت c با ++c توابع کار با رشته توابع کار با رشته ها جستجوی خطی جستجوی دودویی حلقه های تودرتو دستور do whilem دستور for دستور If دستور switch دستور while دستورات شرطی رابطه اشاره گر با آرایه زبان C++ ساختارهای تکرار سر بارگذاری تابع سی پلاس پلاس لیست پیوندی مبحث شی ء گرایی متغیرهای پویا مرتب #C Container iterator STL ادغام دو دنباله در کتابخانه STL الگوریتم هایی در STL برنامه نویسی C تکرارگرها توابع متداول کانتینر کاربرد Map کانتینر Map کانتینر Multimap کانتینر Multiset کانتینر Priority queue کانتینر Set کانتینر بردار کتابخانه قالب استاندارد STL کلاس رشته در STL کلاس های قالب در STL مولفه های اصلی STL ویژگی STL check Box CheckBox Column Combobox Containers CROSS platform CSS DateEdit DateTimeEdit DELETE Edit Signals / Slots Ellipse Embedded Framework GraphicsView Grid GridLayout GroupBox GUI Hash HBoxLayout HTML Image Insert Item iterator JavaScript KeyNavigation KeyPressEvent Label LineEdit List ListView Message Box MessageBox MouseArea Notepad++ OnDigitPressed OnPressed Overload paintEvent Poly ProgressBar PushButton QBrush QCopy QDir QFill QFind QGraphicsScene QLineEdit QListWidget QML QPen QSort Qt Qt Creator queue Radio Button RadioButton Rectangle Row SELECT Signals Slots Spinbox Splitter sqlite Stack StackedLayout Text TextInput Thread TimeEdit Update User Interface framework VBoxLayout Vector Widgets اسلات برنامه های Cross platform برنامه های ویندوزی پایگاه داده پردازش موازی پشته تابع Slot شخصی چارچوب رابط کاربری چند نخی دایرکتوری دستور Connect دسکتاپ رابط کاربری سمافور سیگنال شبکه فایل XML فرم فرم Login فریم ورک کامپوننت کدنویسی کیو ام ال کیوت گرافیک لینوکس محیط کیوت نرم افزارهای IOS نگه دارنده ها ویجت ویجت GraphicsView C Programming Code Blocks CodeBlocks آرایه ها آرایه های با طول متغیر آرایه های دو بعدی آموزش برنامه نویسی الگوریتم مرتب سازی حبابی برنامه نویسی C رشته ها کاراکترها مرتب سازی مرتب سازی حبابی #C assert.h C11 C89 C90 C99 CodeBlocks ctype.h errno.h Escape sequences float.h IDE های موجود برای C IDE های موجود برای C++‎ limits.h math.h Repetition Sequential stdarg.h stddef.h stdio.h stdlib.h string.h time.h آرایه ها در C آرایه های با طول متغیر آرایه های دو بعدی اجزای سازنده برنامه C استانداردهای زبان C اشاره گرها در C الگوریتم Selection الگوریتم مرتب سازی حبابی اولویت عملگرها برنامه نویسی C تابع ()Main در زبان C حلقه for در زبان C حلقه While در زبان C حلقه بی نهایت در زبان C دستور Break در زبان C دستور do while در C دستور Do While در زبان C دستور If در زبان C دستور typedef در C دستورات شرطی تو در تو در زبان C رشته ها در C زبان Functional زبان اسکریپتی زبان برنامه نویسی #C ساختارهای کنترل برنامه در C عملگرهای بیتی عملگرهای محاسباتی فیلدهای بیتی کارکترها در C کلمات کلیدی رزرو شده در C متغیر از نوع عدد صحیح در زبان C محیط Code::Blocks نحوه نام گذاری متغیرها