آموزش برنامه نویسی به زبان c ساختار ورود و خروج اطلاعات

c programing 1 آموزش برنامه نویسی به زبان c قسمت 3

همانطور که در فصل اول بیان شد زبان c از توابع گوناگونی تشکیل شده است , در این فصل میخواهیم توابع ورود و خروج اطلاعات را بررسی کنیم.

اولین تایع مورد بحث تابع ()printf میباشد که در فایل stdio.h قرار دارد , این تابع جهت چاپ اطلاعات در صفحه نمایش به کار میرود , شکل کلی این تابع به صورت زیر است :

(<عبارت ۲>,”<عبارت ۱>”)printf

در این دستور <عبارت ۲>, لیست متغییر هایی است که میخواهیم در خروجی نمایش داده شوند , عبارت اول میتواند شامل متن و کارکترهای کنترلی جهت نمایش مقدار متغییرها باشد.

کارکترهای کنترلی جهت نمایش مقدار متغییرها با علامت % شروع میشوند , برای مثال d% برای نمایش داده هایی از نوع صحیح به کار میرود , در صورتی که از متغییر ها یا عبارت استفاده نکنید نیازی به قسمت <عبارت ۲> نمیباشد.

کارکترهای کنترلی که در دستور printf میتوان از آنها استفاده کرد در جدول زیر نمایش داده شده اند :

printf 300x260 آموزش برنامه نویسی به زبان c قسمت 3

مهمترین کارکترهای فرمت که در دستور printf میتوان از آنها استفاده کرد در جدول زیر نمایش داده شده است :

printf 1 300x199 آموزش برنامه نویسی به زبان c قسمت 3

در ادامه برای آشنایی با طریقه استفاده از تابع ()printf در برنامه مثالی را بررسی میکنیم :

printf 2 300x126 آموزش برنامه نویسی به زبان c قسمت 3در این برنامه دو پیغام قرار گرفته در دستور printf به خروجی نمایش داده میشود یا چاپ میکند.

 تعیین طول میدان در تابع printf :

در تابع ()printf میتوانیم فضایی را که به عنوان متغییر برای هر خروجی چاپ میشود را تایین کنیم , که به آن طول میدان خروجی میگویند , اینکار باعث میشود که اعداد به صورت منظم در خروجی چاپ شوند , برای طول میدان مقادیر ثابت از کارکترهای wd% استفاده میشود , که در آن w طول میدان را مشخص میکند , اگر طول میدان ار تعداد ارقام صحیح بیشتر یاشد , عدد در سمت راست میدان قرار میگیرد و سمت چپ خالی میماند , اگر طول میدان از عدد کمتر باشد طول میدان نادیده گرفته شده  و تمامی ارقام عدد در خروجی چاپ میشود.

برای تعیین طول میدان اعداد اعشاری از کارکترهای w.df% استفاده میشود , که در آن w طول میدان و d تعداد ارقام اعشار را مشخص میکند.

برای مثال عبارت ۵٫۳f% یک عدد اعشاری را در یک فضای پنج کارکتری قرار میدهد در این پنج کارکتر سه کارکتر از ارقام اعشا و یک کارکتر جهت نقطه اعشاری و یک کارکتر جهت رقم صحیح میباشد.

در نمایش اعداد اعشاری چنانچه طول میدان از تعداد ارقام بیشتر باشد , ارقام اعشاری در سمت چپ میدان قرار میگیرند و اگر طول میدان کمتر از اعداد اعشاری باشد , قسمت اعشاری عدد گرد میشود.

تابع scanf :

 تا اینجا با استفاده از تابع ()printf توانستیم اطلاعات را بر روی صفحه بنویسیم , در ادامه میخواهیم با استفاده ار تابع ()scanf اطلاعات مورد نیاز برنامه را از کاربر دریافت کنیم , این تابع در stdio.h تعریف شده است.

برای ورود اطلاعات به وسیله صفحه کلید از تابع scanf() استفاده میشود , با استفاده از این تابع میتوان انواع داده را از ورودی خواند و در متغییر قرار داد , اگر این تابع با موفقیت اجرا شود , تعداد متغییر هایی را که از ورودی خوانده است برمیگرداند.

شکل کلی این تابع به صورت زیر است :

(<عبارت ۲>و”<عبارت ۱>”)scanf

در این ساختار عبارت ۲ آدرس متغییر هایی است که باید از ورودی خوانده شود و در عبارت ۱ چگونگی ورود داده ها مشخص میشود.

 کاراکترهای فرمت : توسط کاراکترهای فرمت که در قسمت عبارت ۱ تعیین میشود که چه نوع اطلاعاتی باید از ورودی خوانده شود و مانند کاراکترهای فرمت در تابع ()printf با کاراکتر % شروع میشود.

برای مثال استفاده از کاراکتر s% اطلاعاتی از نوع رشته از ورودی دریافت میشود , در جدول زیر پرکاربرد ترین انواع کاراکترهای فرمت را مشاهده میکنید :

scanf 300x203 آموزش برنامه نویسی به زبان c قسمت 3

در ادامه برنامه ای مینویسیم که توسط دو تابع ()printf و ()scanf طول و عرض مستطیل را از ورودی خوانده و سپس مساحت و محیط مستطیل را محاسبه و در صفحه نمایش چاپ میکند:

 scanf 1 300x190 آموزش برنامه نویسی به زبان c قسمت 3مشاهده میکنید که در پارامتر اول تابع scanf در دو عبارت d% وجود دارد , پس توسط این دستور دو متغییر عدد صحیح یعنی پارامترهای دوم و سوم خوانده میشوند , پارامتر دوم آدرس متغییر a یعنی a& و پارامتر سوم آدرس متغییر b یعنی عبارت b& میباشد.

در خطوط بعدی محیط و مساحت محاسبه شده و در دو متغییر p و s ذخیره میشوند , در انتها نیز با استفاده از یک دستور printf مقدار محیط و مساحت بر روی صفحه نمایش چاپ میشوند.

در ادامه میخواهیم برنامه ای بنویسیم که سه عدد را از ورودی دریافت کرده و میانگین آنها را محاسبه نموده و در خروجی چاپ کند :

scanf 2 آموزش برنامه نویسی به زبان c قسمت 3

توسط این برنامه ابتدا یک متن جهت ورود سه عدد به کاربر نمایش داده میشود , سپس دستور scanf سه عدد را از ورودی دریافت میکند و به ترتیب در متغییر های b , a و c ذخیره میکند.

در خط بعد سه متغییر b , a و c با هم جمع شده و سپس تقسیم بر سه میشوند و حاصل توسط دستور (float) تبدیل به نوع float شده و در متغییر ave ذخیره میشود در ادامه نیز مقدار میانگین بر روی صفحه نمایش داده میشود.

توجه کنید در این برنامه چون هر سه عدد از نوع صحیح هستند , مجموع آنها نیز صحیح خواهد بود , سپس مجموع بر عدد سه تقسیم میشود و در متغییر ave که برای نگه داری میانگین میباشد ریخته میشود برای اینکه میانگین به صورت اعشاری در خورجی چاپ شود باید تبدیل نوع صورت بپذیرد , برای این منظور قبل از عمل تقسیم نوع اعشاری یعنی float را در داخل پرانتر قرار دادیم , به این روش تبدیل نوع type casting میگویند.

در ادامه میخواهیم با استفاده از توابعی که تا کنون آموخته اید برنامه ای بنویسیم که درجه دمای هوا را بر حسب فارانهایت گرفته و آنرا به درجه سلسیوس تبدیل کند و در خروجی نمایش دهد :

فرمول برای درجه حرارت فارنهایت به صورت زیر است :

(۲۳ – فارنهایت)*(۵/۹)=سلسیوس

scanf 3 آموزش برنامه نویسی به زبان c قسمت 3

 ادامه در فصل بعد

موفق و پیروز باشید

نظرات مربوط به مطلب : بدون دیدگاه