•✿♥lostlove♥✿•
New member
تاپيك آموزش زبان 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 برنامه نویس می تواند در هر نقطه از برنامه ، بااستفاده از علائم {
و }و یک بلاک را مشخص کرده و هر متغیری را که می خواهد در آنجا تعریف نماید .
این متغیرها فقط در آن بلاک معنی خواهند داشت . توجه داریم که هر بلاک مجموعه ای
از دستورات وابسته به یکدیگر خواهد بود :
ؤؤ { |
بلاک | ; مجموعه دستورات } |
ؤؤ ۵
برای داشتن توضیحات در برنامه کافی است آنها را دربین /*و *و/ قرار داد: *
توضیحات /* C
یک زبان ساخت یافته بلاکی نیست . این بدان معنی است که تعریف یک زیربرنامه
( در اینجا تابع ) در زیربرنامه دیگر ( همانند پاسکال ) امکان پذیر نیست و این
امر از مساله coupling می کاهد . C
زبان برنامه نویسی سیستم است . منظور از برنامه های سیستم عبارتند از : ۱
سیستم عامل (Operating system) 2
مفسر (Interpreter) 3
ویراستار (Editor) 4
اسمبلر (Assrmbler) 5
کامپایلر (Compiler) 6
مدیریت بانکهای اطلاعاتی (Database management)
امروزه C در اکثر امور برنامه نویسی مورد استفاده قرار می گیرد . زیرا این
زبان هم دارای خصیصه ” قابل حمل بودن ” است و هم دارای کارآیی خوبی می باشد و
سرعت زیاد C بر محبوبیت آن افزوده است . مساله قابل حمل بودن ، یک مساله بسیار
مهم است زیرا هم موجب صرفه جویی در وقت شده و هم باعث صرفه جویی در هزینه ها
می گردد .
زبان C فقط دارای ۳۲ کلمه کلیدی است ( جدول (۳) ) که ۲۷ کلمه کلیدی آن توسط
ریچی ( طراح زبان ) معرفی شده و ۵ کلمه کلیدی دیگر توسط موسسه استاندارد سازی
زبان به آن اضافه شده است . این تعداد در مقایسه با ۱۵۹ کلمه کلیدی که در زبان
بیسیک وجود دارد قابل توجه است .
| auto | double | int | struct |
| break | else | long | switch |
| case | enum* | register | typedef |
| char | extern | return | union |
| const* | float | short | unsigned |
| continue | for | signed* | void* |
| default | goto | sizeof | volatile* |
| do | if | static | while |
اضافه شدن توسط موسسه استاندارد سازی زبان
جدول (۳) . کلمات کلیدی زبان C
بعضی از کامپایلرها علاوه بر ۳۲ کلمه کلیدی جدول (۳) کلمات کلیدی دیگری به
زبان اضافه نموده اند . ( جدول (۴) ) .
| asm | ess |- ds |- es |
|- ss | cdecl | far | huge |
| intrrupt | near | pascal | |
جدول (۴) . کلمات کلیدی زبان C که بعضی از کامپایلرها اضافه کرده اند
کلیه کلمات کلیدی در زبان C به حروف کوچک نوشته می شوند . چون در این زبان
بین حروف کوچک و بزرگ تفاوت است ، به عنوان مثال کلمه else یک کلمه کلیدی است

زبان 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 برنامه نویس می تواند در هر نقطه از برنامه ، بااستفاده از علائم {
و }و یک بلاک را مشخص کرده و هر متغیری را که می خواهد در آنجا تعریف نماید .
این متغیرها فقط در آن بلاک معنی خواهند داشت . توجه داریم که هر بلاک مجموعه ای
از دستورات وابسته به یکدیگر خواهد بود :
ؤؤ { |
بلاک | ; مجموعه دستورات } |
ؤؤ ۵
برای داشتن توضیحات در برنامه کافی است آنها را دربین /*و *و/ قرار داد: *
توضیحات /* C
یک زبان ساخت یافته بلاکی نیست . این بدان معنی است که تعریف یک زیربرنامه
( در اینجا تابع ) در زیربرنامه دیگر ( همانند پاسکال ) امکان پذیر نیست و این
امر از مساله coupling می کاهد . C
زبان برنامه نویسی سیستم است . منظور از برنامه های سیستم عبارتند از : ۱
سیستم عامل (Operating system) 2
مفسر (Interpreter) 3
ویراستار (Editor) 4
اسمبلر (Assrmbler) 5
کامپایلر (Compiler) 6
مدیریت بانکهای اطلاعاتی (Database management)
امروزه C در اکثر امور برنامه نویسی مورد استفاده قرار می گیرد . زیرا این
زبان هم دارای خصیصه ” قابل حمل بودن ” است و هم دارای کارآیی خوبی می باشد و
سرعت زیاد C بر محبوبیت آن افزوده است . مساله قابل حمل بودن ، یک مساله بسیار
مهم است زیرا هم موجب صرفه جویی در وقت شده و هم باعث صرفه جویی در هزینه ها
می گردد .
زبان C فقط دارای ۳۲ کلمه کلیدی است ( جدول (۳) ) که ۲۷ کلمه کلیدی آن توسط
ریچی ( طراح زبان ) معرفی شده و ۵ کلمه کلیدی دیگر توسط موسسه استاندارد سازی
زبان به آن اضافه شده است . این تعداد در مقایسه با ۱۵۹ کلمه کلیدی که در زبان
بیسیک وجود دارد قابل توجه است .
| auto | double | int | struct |
| break | else | long | switch |
| case | enum* | register | typedef |
| char | extern | return | union |
| const* | float | short | unsigned |
| continue | for | signed* | void* |
| default | goto | sizeof | volatile* |
| do | if | static | while |
اضافه شدن توسط موسسه استاندارد سازی زبان
جدول (۳) . کلمات کلیدی زبان C
بعضی از کامپایلرها علاوه بر ۳۲ کلمه کلیدی جدول (۳) کلمات کلیدی دیگری به
زبان اضافه نموده اند . ( جدول (۴) ) .
| asm | ess |- ds |- es |
|- ss | cdecl | far | huge |
| intrrupt | near | pascal | |
جدول (۴) . کلمات کلیدی زبان C که بعضی از کامپایلرها اضافه کرده اند
کلیه کلمات کلیدی در زبان C به حروف کوچک نوشته می شوند . چون در این زبان
بین حروف کوچک و بزرگ تفاوت است ، به عنوان مثال کلمه else یک کلمه کلیدی است