لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 11
یک بازنگری C
این ضمیمه به عنوان کمکی به برنامهنویسان C با شناسایی جنبههای مختلف زبان تهیه شده است. به این طریق، این ضمیمه به عنوان یک راهنما است و آموزشی نیست.
سرمنشاءهای [برنامه] C
زبان برنامهنویس C در اولین بار به وسیله دنیس ریتج (Dennis Ritch) بر روی یک DEC.PDP-11 که از سیستمعامل UNIX استفاده میکرد. اختراع گردید. زبان C دنبالة زبانی با نام BCPL است که هنوز در اروپا بیشترین استفاده از آن میشود. BEPL به وسیلة مارتین ریچارد (Martin Richard) به وجود آمد و به وسیلة زبان B تحت تأثیر قرار گرفت. که توسط کن تامپسون (Ken Thompson) اختراع شد و به ایجاد زبان C منجر گردید.
برای سالهای متمادی استاندارد دی فاکتور (de factor) برای C، استانداردی بود که به وسیله ورژن ۵ سیستم عامل UNIX پشتیبانی میشد و در برنامهنویسی C که به وسیلة برایان کرنافن (Brian Kernighan) و دنیس ریچ (Dennis Ritch) نوشته شده بود توضیح داده میشد و به وسیله (Englewood cliffs: Prentice-Hall.Inc.,1978) [منتشر گردید]. در هنگامی که محبوبیت کامپیوترهای کوچک افزایش یافت تعداد زیادی از کارکردهای C خلق شد. اکثریت این کارکردها در سطح کد با یکدیگر قابل تعویض بودند بنابراین چون استانداردی وجود نداشت اختلاف به وجود میآمد.
برای تصحیح این وضعیت کمیتهای در تابستان ۱۹۸۳ به منظور کار بر روی تولید یک ANSI استاندارد تشکیل شد تا اینکه زبان C را توصیف کند. با این نوشته، استاندارد مورد نظر کامل بوده و سازگاری آن با ANSI بسیار زود مورد قبول واقع شد.
زبان C به عنوان یک زبان استاندارد
زبان C عموماً به عنوان یک زبان ساختاری در نظر گرفته شد، با برخی تشابهات با ALGOL و پاسکال. اگرچه کلمة ساختار بلوکی مستقیماً برای زبان C در حالت آکادمیک به کار نمیرود، زبان C به صورت غیر رسمی بخشی از آن گروه زبان است، مشخصة بارز زبان ساختاری جداسازی کد و اطلاعات از یکدیگر است. این مطلب به این معنی است که زبان میتواند همة اطلاعات و دستورالعملهای ضروری برای انجام یک کار مشخص را از بقیة برنامه حذف و پنهان کند. به طور کلی، جداسازی با مراحل فرعی با انواع عمومیای که دائماند، به دست میآید. به این طریق، احتمال دارد که مراحل فرعی نوشته شوند تا اینکه وقایعی که در آن اتفاق میافتد باعث تأثیرات فرعی در قسمتهای دیگر برنامه نشود. استفادة بیش از حد از انواع جهانی (انواعی که در کل برنامه شناخته میشوند) ممکن است باعث نفوذ عوامل به درون برنامه شود با مجاز شناختن تأثیرات ناخواسته در برنامه، در برنامة C همة مراحل فرعی عملکردهای مجزا هستند.
عملکردها بلوکهای سازههای Cاند که در آن همة فعالیتها اتفاق میافتند. آنها کارهای بخصوص را در برنامه به منظور کدگذاری و تشخیص جداگانه انجام میدهند. پس از debugging یک عملکرد که فقط انواع عمومی را به کار میگیرد، شما میتوانید بر عملکردی تکیه کنید که در همة موقعیتهای متنوع بدون به وجود آوردن تأثیرات جانبی در بخشهای دیگر برنامه، کار کند. همة انواع نشان داده شده در این عملکرد بخصوص فقط با آن عملکرد شناخته خواهند شد.
همچنین استفاده از بلوکهای کد در برنامة C ساختار برنامه را به وجود میآورد. یک بلوک کد عبارتهایی از یک گروه برنامه منطقی متصل است که میتواند به عنوان یک واحد در نظر گرفته شود. و با قرار گرفتن خطوط کد مابین ابروها بسته و باز مانند زیر قرار میگیرند.
If (x<10) {print f ("invalid input-retry"); done=o;}
در این مثال، دو عبارت پس از "if" بین ابروها هر دو نمایش داده میشوند اگر X کمتر از ۱۰ باشد. این دو عبارت با هم با ابروها یک بلوک کد را نشان میدهند. آنها به یکدیگر متصل میشوند؛ یک عبارت نمیتواند بدون نشان دادن دیگری نشان داده شود. در C هر عبارت میتواند یا یک عبارت مجزا و یا بلوکی از عبارتها باشد. استفاده از بلوکهای کد برنامههای خوانایی را با متطقی برای پیروی کردن از آنها، به وجود میآورد.
C یک زبان برنامهنویس است، بر خلاف اکثر برنامههای کامپیوتری سطح بالا، C محدودیتهایی را اعمال میکند که شما میتوانید با آن کار کنید. با استفاده از C یک برنامهنویس میتواند از برنامهنویسی کد در کل جلوگیری کند، فقط در موارد بسیار ضروری در حقیقت یک انگیزه برای اختراع C به وجود آوردن یک برنامة جایگزین مونتاژ بود.
زبان کامپیوتری از نشانهای مشخص از یک کد دهتایی واقعی استفاده میکند که کامپیوتر مستقیماً آن را به کار میگیرد. هر زبان کامپیوتری عامل به یک عامل مجزا طراحی میشود تا اینکه کامپیوتر آن را به کار گیرد. اگر چه یک زبان کامپیوتری به برنامهنویسان قدرت انجام کارها را با بالاترین انعطاف و بهرهمندی میدهد، بسیار آشکار، کارکردن با آن در هنگام ایجاد یک برنامه مشکل است. به علاوه چون یک زبان کامپیوتری طبیعتاً بی برنامه است، برنامة نهایی تمایل به «یک کد خطی» (Spaghett:code) یک آشفتگی جهشی (tangle of jump) و یا شاخص و خواندن دارد. این مطالب باعث میشود که این زبان برای خوانده شدن، بهسازی شدن و نگهداری مشکل
تحقیق درباره C