آموزش برنامه سازی پیشرفته c

دسته بندي : فنی و مهندسی » کامپیوتر و IT
آموزش برنامه سازی پیشرفته c


مقدمه:

در اوایل دهة 1970 میلادی، «دنیس ریچی» در آزمایشگاه كمپانی بل زبان C را برای برنامه‌نویسی سیستمها طراحی کرد. این زبان از دو زبان پیشین به نامهای BCPL و B منتج شده است که ‌این دو نیز در همین آزمایشگاه نوشته شدند. زبان C تا سال 1978 منحصر به استفاده در همین آزمایشگاه بود تا اینکه «ریچی» و «کرنیه» نسخة نهایی این زبان را منتشر کردند. به سرعت مفسرهای متعددی از C تهیه شد، لیکن برای جلوگیری از ناسازگاریهای ایجاد شده و نیز حفظ قابلیت حمل زبان، استاندارد ANSI تعاریف متحدالشکلی مطرح کرد. آنچه در این کتاب مطرح می‌شود بر اساس همین استاندارد است. مفسر خود برنامه‌ای کامپیوتری است که برنامة سطح بالا دادة ورودی آن و برنامة ‌ایجاد شده به زبان ماشین خروجی آن را تشکیل می‌دهد.

به طور كلی ویژگیهای مهم زبان C به اختصار به شرح زیر است:

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

ویژگیهای فوق موجب شده زبان C یکی از قوی‌ترین و محبوب‌ترین زبانهای برنامه‌‌سازی در دنیا مطرح شود.




فهرست:



فصل1: کلیات و مفاهیم

هدف کلی........................................................................ 1

هدفهای رفتاری................................................................. 1

مقدمه............................................................................. 1

کاراکترها.......................................................................... 3

شناسه‌ها........................................................................ 4

ساختار برنامه‌های C.......................................................... 6

دستورالعملهای اجرایی...................................................... 7

خودآزمایی 1................................................................... 10


فصل 2: انواع داده‌ها

هدف کلی...................................................................... 11

هدفهای رفتاری............................................................... 11

مقدمه........................................................................... 12

اعلان متغیرها................................................................. 13

داده‌های صحیح............................................................... 14

مقادیر ثابت صحیح........................................................... 16

داده‌های اعشاری............................................................ 18

داده‌های کاراکتری............................................................ 19

ثابتهای رشته‌ای.............................................................. 21

مقداردهی اولیة متغیرها................................................... 23

عملگر cast..................................................................... 23

نوع void........................................................................ 25

پیش‌پردازنده................................................................... 26

فرمان #include.............................................................. 26

فرمان #define................................................................ 27

خودآزمایی 2................................................................... 29


فصل 3: توابع ورودی و خروجی

هدف کلی...................................................................... 31

هدفهای رفتاری............................................................... 31

مقدمه........................................................................... 31

تابع printf ().................................................................. 32

تابع scanf ().................................................................. 40

تابع getchar ()............................................................... 45

تابع putchar ()............................................................... 46

تابع getche ()................................................................ 50

تابع getch ().................................................................. 50

توابع puts () و gets ()..................................................... 50

خودآزمایی 3................................................................... 52


فصل 4: عبارت، دستور، عملگر

هدف کلی...................................................................... 53

هدفهای رفتاری............................................................... 53

عبارت............................................................................ 54

عبارت محاسباتی............................................................ 54

عبارت قیاسی................................................................. 54

عبارت منطقی................................................................ 55

دستور........................................................................... 56

دستورهای ساده............................................................ 56

دستورهای ساخت‌یافته.................................................... 56

عملگر............................................................................ 57

عملگرهای محاسباتی..................................................... 57





عملگرهای انتساب.......................................................... 61

عملگرهای یکانی............................................................ 63

عملگرهای رابطه‌ای (مقایسه‌ای)....................................... 65

عملگرهای منطقی.......................................................... 68

عملگر شرطی................................................................ 70

عملگر کاما..................................................................... 72

عملگرهای حافظه............................................................ 73

خودآزمایی 4................................................................... 73


فصل 5: دستورهای کلی

هدف کلی...................................................................... 75

هدفهای رفتاری............................................................... 75

مقدمه........................................................................... 75

دستور while.................................................................. 76

دستور do -while............................................................ 79

دستور for...................................................................... 81

عملگر کاما..................................................................... 85

دستور if و if - else ......................................................... 86

دستور switch ............................................................... 89

دستور break.................................................................. 94

دستور continue............................................................. 95

دستور goto.................................................................... 97

تابع exit......................................................................... 98

خودآزمایی 5................................................................... 99


فصل 6: توابع و کلاس حافظه

هدف کلی.................................................................... 101

هدفهای رفتاری............................................................. 101

مقدمه......................................................................... 102

نحوة تعریف تابع............................................................. 103

دستور return............................................................... 104

فراخوانی تابع................................................................ 109



انتقال آرایه به تابع......................................................... 113

توابع بازگشتی.............................................................. 114

پارامترهای خط فرمان..................................................... 117

استفاده از چند تابع........................................................ 120

قلمرو متغیرها............................................................... 121

کلاس حافظه................................................................ 125

حافظة خودکار.......................................................... 126

حافظة خارجی.......................................................... 127

حافظة ایستا............................................................ 129

حافظة ثبات.............................................................. 131

خودآزمایی 6................................................................. 132


فصل 7: آرایه‌ها

هدف کلی.................................................................... 135

هدفهای رفتاری............................................................. 135

مقدمه......................................................................... 135

تعریف آرایه‌ها................................................................ 136

آرایه‌های یک‌بعدی.......................................................... 136

مراجعه به عناصر آرایه.................................................... 137

کلاسهای حافظه در آرایه................................................ 138

آرایه‌های چندبعدی......................................................... 140

انتقال آرایه به تابع......................................................... 142

آرایه‌ها و رشته‌ها........................................................... 146

روشهای مرتب‌سازی..................................................... 148

روش مرتب‌سازی حبابی............................................ 148

روش مرتب‌سازی انتخابی.......................................... 149

روشهای جستجو.......................................................... 150

جستجو به روش خطی.............................................. 151

جستجو به روش دودویی........................................... 151

توابع کتابخانه‌ای............................................................ 152

خودآزمایی 7................................................................. 154












فصل 8: اشاره‌گرها

هدف کلی.................................................................... 159

هدفهای رفتاری............................................................. 159

مقدمه......................................................................... 160

نحوة معرفی اشاره‌گر..................................................... 160

آدرس داده‌ها................................................................. 162

مقداردهی اولیسه به اشاره‌گر......................................... 164

اشاره‌گر تهی................................................................ 165

عملیات روی اشاره‌گرها.................................................. 166

انتقال مقادیر به تابع....................................................... 168

انتقال اشاره‌گر به تابع.................................................... 169

انتقال دوطرفة اطلاعات................................................... 172

اشاره‌گرها و آرایه‌ها........................................................ 174

اشاره‌گرها و آرایه‌های چندبعدی....................................... 180

انتقال آرایه به تابع......................................................... 180

آرایه‌هایی از اشاره‌گرها................................................... 182

اشاره‌گر به اشاره‌گر....................................................... 182

ارسال تابعی به تابع دیگر................................................ 184

نتیجه‌گیری................................................................... 185

خودآزمایی 8................................................................. 185


فصل 9: نوعهای تعریف‌شده

هدف کلی.................................................................... 187

هدفهای رفتاری............................................................. 187

مقدمه......................................................................... 187

ساختار........................................................................ 188

اختصاص مقادیر اولیه..................................................... 192

آرایه‌ای از ساختارها....................................................... 194

پردازش ساختار............................................................. 196

انتقال ساختار به تابع..................................................... 199

بازگشت اشاره‌گر به ساختار............................................ 201



نوع داده کاربر................................................................ 205

ساختار داده‌ها و اشاره‌گرها............................................. 207

عضو ساختار................................................................. 211

اجتماع......................................................................... 211

شمارشی.................................................................... 216

خودآزمایی 9................................................................. 221


فصل 10: فایلها

هدف کلی.................................................................... 223

هدفهای رفتاری............................................................. 223

مقدمه......................................................................... 224

انواع فایل..................................................................... 225

بازکردن و بستن فایل...................................................... 226

توابع putc و getc.......................................................... 229

توابع putw و getw........................................................ 232

توابع fputs و fgets ....................................................... 233

فایل وسیلة ورودی ـ خروجی........................................... 234

تابع ferror.................................................................... 236

تابع remove................................................................. 238

توابع fscanf و fprintf..................................................... 239

توابع fwrite و fread....................................................... 240

تابع fseek.................................................................... 242

دستگاههای ورودی ـ خروجی استاندارد............................ 243

خودآزمایی 10............................................................... 244
دسته بندی: فنی و مهندسی » کامپیوتر و IT

تعداد مشاهده: 1554 مشاهده

فرمت فایل دانلودی:.zip

فرمت فایل اصلی: ورد و قابل ویرایش

تعداد صفحات: 244

حجم فایل:721 کیلوبایت

 قیمت: 34,900 تومان
پس از پرداخت، لینک دانلود فایل برای شما نشان داده می شود.   پرداخت و دریافت فایل
  • محتوای فایل دانلودی: