•✿♥lostlove♥✿•
New member
آموزش C (بخش 1) :: مقدمات زبان C
زبان C در سال ۱۹۷۰ توسط دنیس ریچی طراحی گردید. این زبان تکامل یافته زبان BCPL میباشد که طراح آن مارتین ریچاردز است ،و زبان BCPL از زبان B که طراح آن کن تامپسون می باشد ، نتیجه شده است .
زبان C معمولا” یک زبان میانی نامیده می شود . این بدان معنی نیست که آموزش این زبان مشکل است ، یا قدرت آن از زبان های برنامه سازی مثل پاسکال و بیسیک کمتر است و یا این که مشکلاتی مشابه زبان اسمبلی برای برنامه نویس ایجاد می کند.
علت میانی بودن زبان C این است که عناصر زبان های سطح بالا را با خصیصه تابعی زبان اسمبلی درهم آمیخته است .برای پی بردن به جایگاه زبان C درمقایسه با سایر زبان های برنامه سازی به جدول (۱) مراجعه نمایید .
جدول (۱) . سطوح زبان های برنامه سازی
زبان C همانند سایر زبانهای میانی با مفاهیم بیت ، بایت و آدرس که از عناصر ابتدایی ماشین هستند سر و کار دارد . یعنی در این زبان می توان محتویات بیت ها و بایت ها را تیز تغییر داد .
برنامه های نوشته شده به زبان C براحتی از ماشینی به ماشین دیگر قابل انتقال می باشند . مثلا” برنامه نوشته شده برای کامپیوتر APPL در کامپیوترهای IBM قابل اجرا است . این خصیصه را قابل حمل بودن (Portability) زبان می گویند .
کلیه زبان های برنامه سازی سطح بالا و میانی دارای نوعهای داده (data types) هستند . هر نوع داده ، مجموعه ای از مقادیر را مشخص می کند که اعمال خاصی روی آنها قابل انجام است . نوع داده ای که در اکثر زبانها وجود دارد عبارتند از :
اعداد صحیح ، کاراکتری و اعداد اعشاری .
C دارای ۵ نوع داده اصلی است که در آن تقریبا” تبدیل هر نوع داده به نوع دیگر امکان پذیر است . مثلا” در یک عبارت می توان نوع کاراکتری را با نوع عددی صحیح و یا اعشاری ترکیب کرد .
زبان C خطای زمان اجرا مثل boundray checking را چک نمی کند . منظور از boundray checking این است که در آرایه ها تجاوز از حدود مشخص شده ، به راحتی امکان پذیر بوده و از نظر کامپایلر با خطایی مواجه نمیشود. این مساله برمیگردد به این که در زبان C آرایه یک اشاره گر (pointer) است . در این راستا ، نوع پارامترها و آرگومان های توابع نیز در گونه های قدیمی C با یکدیگر مطابقت نشده و از نظر کامپایلر با خطا مواجه نمی شد ولی در گونه های جدید C با معرفی الگوی تابع (Function prototype) این مشکل رفع شده است .
C همانند زبان های ALGOL، PASCAL، و… یک زبان ساخت یافته است . یک زبان برنامه سازی ساخت یافته امکانات زیادی ، از جمله استفاده از چند ساختار حلقه سازی مثل while، do-while،و forو را فراهم می کند . در این گونه زبان ها از goto به ندرت استفاده می شود و نوشتن دستورات برنامه در هر ستونی از خط و در هر جای فایل امکان پذیر بوده ، مثل زبان فرترن مقید به ستون های خاصی نیستند. استفاده از زیربرنامه ها و بلاک ها نیز از خصیصه های این نوع زبان ها هستند . ذکر اسامی چند زبان ساخت یافته و غیر ساخت یافته ، در انتخاب زبان برنامه سازی جهت برنامه نویسی مفید است . ( جدول (۲) ) .
جدول (۲) . بعضی از زبانهای ساخت یافته و غیرساخت یافته
هر برنامه در زبان C دارای خصیصه هایی است که بعضی از آنها عبارتند از :
۱-در زبان C هر دستور برنامه به یک ; ختم می شود .
۲-هر دستور میتواند درچند خط ادامه داشته و یک خط ممکن است شامل چند دستورباشد .
۳-حداکثر طول یک خط برنامه ۲۵۴ کاراکتر است .
۴-در زبان C برنامه نویس می تواند در هر نقطه از برنامه ، بااستفاده از علائم {و }و یک بلاک را مشخص کرده و هر متغیری را که می خواهد در آنجا تعریف نماید .
این متغیرها فقط در آن بلاک معنی خواهند داشت . توجه داریم که هر بلاک مجموعه ای از دستورات وابسته به یکدیگر خواهد بود :
۵-برای داشتن توضیحات در برنامه کافی است آنها را دربین /*و */ قرار داد:
*/ توضیحات /*
یک زبان ساخت یافته بلاکی نیست . این بدان معنی است که تعریف یک زیربرنامه ( در اینجا تابع ) در زیربرنامه دیگر ( همانند پاسکال ) امکان پذیر نیست و این امر از مساله coupling می کاهد .
Cزبان برنامه نویسی سیستم است . منظور از برنامه های سیستم عبارتند از :
-1سیستم عامل (Operating system)
-2مفسر (Interpreter)
-3ویراستار (Editor)
-4اسمبلر (Assrmbler)
-5کامپایلر (Compiler)
-6مدیریت بانکهای اطلاعاتی (Database management)
امروزه C در اکثر امور برنامه نویسی مورد استفاده قرار می گیرد . زیرا این زبان هم دارای خصیصه ” قابل حمل بودن ” است و هم دارای کارآیی خوبی می باشد و سرعت زیاد C بر محبوبیت آن افزوده است . مساله قابل حمل بودن ، یک مساله بسیار مهم است زیرا هم موجب صرفه جویی در وقت شده و هم باعث صرفه جویی در هزینه ها می گردد .
زبان C فقط دارای ۳۲ کلمه کلیدی است ( جدول (۳) ) که ۲۷ کلمه کلیدی آن توسط ریچی ( طراح زبان ) معرفی شده و ۵ کلمه کلیدی دیگر توسط موسسه استاندارد سازی زبان به آن اضافه شده است . این تعداد در مقایسه با ۱۵۹ کلمه کلیدی که در زبان بیسیک وجود دارد قابل توجه است .
اضافه شدن توسط موسسه استاندارد سازی زبان
جدول (۳) . کلمات کلیدی زبان C
بعضی از کامپایلرها علاوه بر ۳۲ کلمه کلیدی جدول (۳) کلمات کلیدی دیگری به زبان اضافه نموده اند . ( جدول (۴) ) .
جدول (۴) . کلمات کلیدی زبان C که بعضی از کامپایلرها اضافه کرده اند
کلیه کلمات کلیدی در زبان C به حروف کوچک نوشته می شوند . چون در این زبان بین حروف کوچک و بزرگ تفاوت است ، به عنوان مثال کلمه else یک کلمه کلیدی است.

زبان C معمولا” یک زبان میانی نامیده می شود . این بدان معنی نیست که آموزش این زبان مشکل است ، یا قدرت آن از زبان های برنامه سازی مثل پاسکال و بیسیک کمتر است و یا این که مشکلاتی مشابه زبان اسمبلی برای برنامه نویس ایجاد می کند.
علت میانی بودن زبان C این است که عناصر زبان های سطح بالا را با خصیصه تابعی زبان اسمبلی درهم آمیخته است .برای پی بردن به جایگاه زبان C درمقایسه با سایر زبان های برنامه سازی به جدول (۱) مراجعه نمایید .
جدول (۱) . سطوح زبان های برنامه سازی
زبان C همانند سایر زبانهای میانی با مفاهیم بیت ، بایت و آدرس که از عناصر ابتدایی ماشین هستند سر و کار دارد . یعنی در این زبان می توان محتویات بیت ها و بایت ها را تیز تغییر داد .
برنامه های نوشته شده به زبان C براحتی از ماشینی به ماشین دیگر قابل انتقال می باشند . مثلا” برنامه نوشته شده برای کامپیوتر APPL در کامپیوترهای IBM قابل اجرا است . این خصیصه را قابل حمل بودن (Portability) زبان می گویند .
کلیه زبان های برنامه سازی سطح بالا و میانی دارای نوعهای داده (data types) هستند . هر نوع داده ، مجموعه ای از مقادیر را مشخص می کند که اعمال خاصی روی آنها قابل انجام است . نوع داده ای که در اکثر زبانها وجود دارد عبارتند از :
اعداد صحیح ، کاراکتری و اعداد اعشاری .
C دارای ۵ نوع داده اصلی است که در آن تقریبا” تبدیل هر نوع داده به نوع دیگر امکان پذیر است . مثلا” در یک عبارت می توان نوع کاراکتری را با نوع عددی صحیح و یا اعشاری ترکیب کرد .
زبان C خطای زمان اجرا مثل boundray checking را چک نمی کند . منظور از boundray checking این است که در آرایه ها تجاوز از حدود مشخص شده ، به راحتی امکان پذیر بوده و از نظر کامپایلر با خطایی مواجه نمیشود. این مساله برمیگردد به این که در زبان C آرایه یک اشاره گر (pointer) است . در این راستا ، نوع پارامترها و آرگومان های توابع نیز در گونه های قدیمی C با یکدیگر مطابقت نشده و از نظر کامپایلر با خطا مواجه نمی شد ولی در گونه های جدید C با معرفی الگوی تابع (Function prototype) این مشکل رفع شده است .
C همانند زبان های ALGOL، PASCAL، و… یک زبان ساخت یافته است . یک زبان برنامه سازی ساخت یافته امکانات زیادی ، از جمله استفاده از چند ساختار حلقه سازی مثل while، do-while،و forو را فراهم می کند . در این گونه زبان ها از goto به ندرت استفاده می شود و نوشتن دستورات برنامه در هر ستونی از خط و در هر جای فایل امکان پذیر بوده ، مثل زبان فرترن مقید به ستون های خاصی نیستند. استفاده از زیربرنامه ها و بلاک ها نیز از خصیصه های این نوع زبان ها هستند . ذکر اسامی چند زبان ساخت یافته و غیر ساخت یافته ، در انتخاب زبان برنامه سازی جهت برنامه نویسی مفید است . ( جدول (۲) ) .
جدول (۲) . بعضی از زبانهای ساخت یافته و غیرساخت یافته
هر برنامه در زبان C دارای خصیصه هایی است که بعضی از آنها عبارتند از :
۱-در زبان C هر دستور برنامه به یک ; ختم می شود .
۲-هر دستور میتواند درچند خط ادامه داشته و یک خط ممکن است شامل چند دستورباشد .
۳-حداکثر طول یک خط برنامه ۲۵۴ کاراکتر است .
۴-در زبان C برنامه نویس می تواند در هر نقطه از برنامه ، بااستفاده از علائم {و }و یک بلاک را مشخص کرده و هر متغیری را که می خواهد در آنجا تعریف نماید .
این متغیرها فقط در آن بلاک معنی خواهند داشت . توجه داریم که هر بلاک مجموعه ای از دستورات وابسته به یکدیگر خواهد بود :
۵-برای داشتن توضیحات در برنامه کافی است آنها را دربین /*و */ قرار داد:
*/ توضیحات /*
یک زبان ساخت یافته بلاکی نیست . این بدان معنی است که تعریف یک زیربرنامه ( در اینجا تابع ) در زیربرنامه دیگر ( همانند پاسکال ) امکان پذیر نیست و این امر از مساله coupling می کاهد .
Cزبان برنامه نویسی سیستم است . منظور از برنامه های سیستم عبارتند از :
-1سیستم عامل (Operating system)
-2مفسر (Interpreter)
-3ویراستار (Editor)
-4اسمبلر (Assrmbler)
-5کامپایلر (Compiler)
-6مدیریت بانکهای اطلاعاتی (Database management)
امروزه C در اکثر امور برنامه نویسی مورد استفاده قرار می گیرد . زیرا این زبان هم دارای خصیصه ” قابل حمل بودن ” است و هم دارای کارآیی خوبی می باشد و سرعت زیاد C بر محبوبیت آن افزوده است . مساله قابل حمل بودن ، یک مساله بسیار مهم است زیرا هم موجب صرفه جویی در وقت شده و هم باعث صرفه جویی در هزینه ها می گردد .
زبان C فقط دارای ۳۲ کلمه کلیدی است ( جدول (۳) ) که ۲۷ کلمه کلیدی آن توسط ریچی ( طراح زبان ) معرفی شده و ۵ کلمه کلیدی دیگر توسط موسسه استاندارد سازی زبان به آن اضافه شده است . این تعداد در مقایسه با ۱۵۹ کلمه کلیدی که در زبان بیسیک وجود دارد قابل توجه است .

اضافه شدن توسط موسسه استاندارد سازی زبان
جدول (۳) . کلمات کلیدی زبان C
بعضی از کامپایلرها علاوه بر ۳۲ کلمه کلیدی جدول (۳) کلمات کلیدی دیگری به زبان اضافه نموده اند . ( جدول (۴) ) .

جدول (۴) . کلمات کلیدی زبان C که بعضی از کامپایلرها اضافه کرده اند
کلیه کلمات کلیدی در زبان C به حروف کوچک نوشته می شوند . چون در این زبان بین حروف کوچک و بزرگ تفاوت است ، به عنوان مثال کلمه else یک کلمه کلیدی است.
{
;مجموعه دستورات بلاک
{