پاسخ : آموزش زبان C (گام به گام) هر برنامه در زبان C داراي خصيصه هايي است كه بعضي از آنها عبارتند از : 1 - در زبان C هر دستور برنامه به يك ; ختم مي شود . 2 - هر دستور ميتواند در چند خط ادامه داشته و يك خط ممكن است شامل چند دستور باشد . 3 - حداكثر طول يك خط برنامه 254 كاراكتر است . 4 - در زبان C برنامه نويس مي تواند در هر نقطه از برنامه ، بااستفاده از علائم { و } يك بلاك را مشخص كرده و هر متغيري را كه مي خواهد در آنجا تعريف نمايد . اين متغيرها فقط در آن بلاك معني خواهند داشت . توجه داريم كه هر بلاك مجموعه اي از دستورات وابسته به يكديگر خواهد بود : 5 - براي داشتن توضيحات در برنامه كافي است آنها را دربين /* و */ قرار داد: C يك زبان ساخت يافته بلاكي نيست . اين بدان معني است كه تعريف يك زيربرنامه ( در اينجا تابع ) در زيربرنامه ديگر ( همانند پاسكال ) امكان پذير نيست و اين امر از مساله coupling مي كاهد . C زبان برنامه نويسي سيستم است . منظور از برنامه هاي سيستم عبارتند از : 1 - سيستم عامل ( Operating system ) 2- مفسر (Interpreter) 3- ويراستار (Editor) 4- اسمبلر (Assrmbler) 5- كامپايلر (Compiler) 6- مديريت بانكهاي اطلاعاتي (Database management) امروزه C در اكثر امور برنامه نويسي مورد استفاده قرار مي گيرد . زيرا اين زبان هم داراي خصيصه " قابل حمل بودن " است و هم داراي كارآيي خوبي مي باشد و سرعت زياد C بر محبوبيت آن افزوده است . مساله قابل حمل بودن ، يك مساله بسيار مهم است زيرا هم موجب صرفه جويي در وقت شده و هم باعث صرفه جويي در هزينه ها مي گردد .
پاسخ : آموزش زبان C (گام به گام) زبان C فقط داراي 32 كلمه كليدي است كه 27 كلمه كليدي آن توسط ريچي ( طراح زبان سی ) معرفي شده و 5 كلمه كليدي ديگر توسط موسسه استاندارد سازي زبان به آن اضافه شده است . اين تعداد در مقايسه با 159 كلمه كليدي كه در زبان بيسيك وجود دارد قابل توجه است . كليه كلمات كليدي در زبان C به حروف كوچك نوشته مي شوند . چون در اين زبان بين حروف كوچك و بزرگ تفاوت است ، به عنوان مثال كلمه else يك كلمه كليدي است کلمات کلیدی زبان 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 | بعضي از كامپايلرها علاوه بر 32 كلمه كليدي كلمات كليدي ديگري به زبان C اضافه نموده اند که در زیر آمده است: کد: | asm | ess |- ds |- es | |- ss | cdecl | far | huge | | intrrupt | near | pascal |
پاسخ : آموزش زبان C (گام به گام) انواع داده همان طور كه قبلا" گفته شد در هر زبان برنامه سازي تعدادي از نوع هاي داده وجود دارند كه بازه اي را شامل بوده و اعمال خاصي روي آنها انجام پذير است و در C پنج نوع داده اصلي وجود دارد كه عبارتند از : char، int ، float ، double و void . در اين زبان اندازه و محدوده اي كه هر نوع داده اختيار مي كند بستگي به نوع پردازشگر (Processor ) و نحوه پياده سازي كامپايلر دارد. (برنامه زیر طول متغیرها را در کامپیوتر شما بر می گرداند) : شناسه هايي ( متغير برچسب ، اسامي توابع و ... ) كه از نوع char باشند براي ذخيره كردن مقاديري كه توسط كاراكترهاي اسكي تعريف شده اند به كار مي روند. شناسه هايي از نوع int براي ذخيره كردن مقادير صحيح و از نوع float و double و براي ذخيره كردن اطلاعات عددي اعشاري به كار ميروند كه محدوده آنها توسط تعداد ارقام و دقت آنها مشخص ميشود. نوع void در مورد بدون مقدار به كار مي رود . نوعهاي داده اصلي ( به جز void ) مي توانند با عباراتي مثل signed ، long ، unsigned و short تركيب شده و نوع هاي ديگري را به وجود آورند .
پاسخ : آموزش زبان C (گام به گام) متغيرها متغير، نامي براي يك محل حافظه است كه محتويات آن در طول اجراي برنامه ممكن است تغيير كند . اسم هر متغير شامل حروف a تا z ، A ، تا Z ، ارقام 0 تا 9 و خط ربط است . به طوري كه با يكي از حروف و يا خط ربط شروع شده باشند . طول نام هر متغير بستگي به نوع كامپايلر دارد كه معمولا" از 1 تا 31 كاراكتر قابل استفاده است .
پاسخ : آموزش زبان C (گام به گام) تعريف نوع متغير براي استفاده از متغيرها درC بايد ابتدا آنها را تعريف كنيم . تعريف متغيرها شامل نامگذاري و تعيين نوع آنها است كه به صورت زير انجام مي شود : کد: int var1 , var2; نوع اسامي متغيرها يكي از انواعی است كه قبلا ذكر كرديم و مي خواهيم داراي آن نوع باشد . براي تعريف چند متغير در يك دستور ، همانند مثال فوق بايد اسامي را با كاما از يكديگر جدا کرد. دستور فوق دو متغير به اسامي var2 و var1 را از نوع int تعريف مي كند . کد: float flovar1, flovar2; دستور فوق ، دو متغير به نام هاي flovar2 و flovar1 را از نوع float تعريف مي كند . کد: double d1; char ch; اولين دستور ، d1 را از نوع double و دستور دوم متغير ch را از نوع char تعريف مي كند .
پاسخ : آموزش زبان C (گام به گام) مقدار دادن به متغيرها براي مقدار دادن به متغيرها مي توان به دو طريق عمل كرد: 1 - به هنگام تعريف متغير . 2 - پس از تعريف متغير . به عنوان مثال : کد: int a=0; int b, c, d, e=0; char ch= 'a'; b=0; c=d=0; دستور اول ضمن تعريف a از نوع int مقدار آن را برابر با 0 قرار مي دهد . دستور دوم چهار متغير b، c، d ، e را از نوع int تعريف كرده و فقط مقدار متغير e را برابر صفر قرار می دهد. دستور سوم مقدار متغیر ch را از نوع كاراكتري تعريف كرده و مقدار آن را برابر با حرف a قرار مي دهد . دستور چهارم مقدار متغير b را برابر با 0 قرار مي دهد . (در این دستور متغیری تعریف نشده یعنی قبل از این خط باید متغیر تعریف شده باشد) . دستور پنجم مقدار دو متغير c و d را برابر صفر قرار مي دهد و اين دستور ، انتساب چندتايي را مشخص مي كند .
پاسخ : آموزش زبان C (گام به گام) const همان طور كه قبلا" گفته شد مقدار متغيرها ممكن است در طول اجراي برنامه تغيير كند . با استفاده از كلمه كليدي const مي توانيم متغيرهايي را تعريف كنيم كه مقدار آنها در طول اجراي برنامه ثابت باشد . براي تعريف اين نوع متغيرها بصورت زير عمل مي شود : مثال : کد: const int a = 10 , b = 20; دستور فوق دو متغير a و b را از نوع int تعريف كرده و مقادير آنها را برابر 10 و 20 قرار مي دهد . اين مقادير در طول اجراي برنامه غیر قابل تغيير هستند .
پاسخ : آموزش زبان C (گام به گام) عملگرها عملگرها نمادهايي هستند كه براي انجام اعمال خاصي مورد استفاده قرارميگيرند. عملگرها در زبان C از تنوع زيادي برخوردارند . در C چهار دسته عملگر به نامهاي ( محاسباتي ، رابطه اي ، منطقي و دستكاري بيت ها ) وجود دارند كه آنها را بررسي مي كنيم .
پاسخ : آموزش زبان C (گام به گام) عملگرهاي محاسباتي عملگرهاي محاسباتي كه در C مورد استفاده قرار مي گيرند در جدول زیر فهرست شده اند . عملگرهاي رديف 1 تا 4 جدول تقريبا" در همه زبانهاي برنامه سازي وجود دارند. عملگر % كه در بقيه زبانها با علامت ديگري ( مثلا" در بيسيك به صورت MOD) وجود دارد باقيمانده تقسيم دو عدد را محاسبه مي كند : کد: x= 13; y= 5; z= x%y; اگر سه دستور فوق را توسط ماشين اجرا كنيم مقدار 3 كه باقيمانده تقسيم 13 بر 5 است در z قرار مي گيرد . عملگر كاهش - - ، يك واحد از عملوند مربوط كم مي كند . کد: x= 10; -- x; دستور x - - از x يك واحد كم مي كند و نتيجه را در x قرار مي دهد كه معادل دستور x = x-1 است . عملگر افزايش ، يك واحد به عملوند مربوطه اضافه مي كند : کد: x= 40; ++x; دستور ++x معادل دستور x = + 1 است كه موجب افزودن يك واحد به x مي شود . عملگرهاي افزايش و كاهش يك واحد را مي توان بعد از عملوند مربوطه نيز به كار برد مثل : x + + و - - x . یعنی هم قبل از x می توان انها را استفاده کرد و هم بعد از x. اگر در يك عبارت از عملگرهاي افزايش و كاهش يك واحد ، استفاده كنيم به كار بردن اين عملگرها در قبل و بعد از عملوند مربوطه ، با يكديگر متفاوت است . بدين معني كه اگر اين عملگرها قبل از عملوند باشند مقدار فعلي عملوند مورد استفاده قرار گرفته و سپس عملگرها بر روي آن عمل ميكنند، ولي اگر بعد از عملوند مربوطه باشند پس از انجام عمل افزايش و كاهش يك واحد به آنها مقادير جديد ، در عبارت مورد استفاده قرار مي گيرند. استفاده ازعملگرهاي افزايش و كاهش يك واحد ، سرعت محاسباتي را بالا مي برد .
پاسخ : آموزش زبان C (گام به گام) اگر در يك عبارت از چند عملگر محاسباتي استفاده شود ، مساله تقدم عملگرها مطرح مي شود جدول زیر : بالاترين تقدم - - و + + ( تفريق يكاني - ) و * و % پايين ترين تقدم - و + همان طور كه در جدول فوق مشاهده مي شود ، عملگرهاي افزايش و كاهش يك واحد داراي بالاترين تقدم و عملگرهاي جمع و تفريق داراي كمترين تقدم هستند و منهاي يكاني ، داراي دومين تقدم است . عملگرهايي كه در يك سطر آمده اند ، مثل - و + بدين معني است كه داراي تقدم مكاني نسبت به يكديگر هستند. در اين صورت هر كدام از غملگرها كه اول ظاهر شود ، زودتر انجام خواهد شد .