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

توابع ورودی و خروجی در c رو این جلسه شروع می کنیم و وارد محیط نرم افزار Devcpp میشیم ، قبل از خوندن این قسمت پیشنهاد میکنم تنبلیو کنار بزارید برای چند دقیقه و حتما دو تا  آموزش قبلی رو یک بار دور کنید.

آموزش برنامه نویسی به زبان C – جلسه اول : مقدمات

آموزش برنامه نویسی به زبان C – جلسه دوم: متغیرها در C

 کد فرمت و کاراکترهای کنترلی

از این کاراکترها و فرمتهای چاپ در توابع ورودی و خروجی در c که امروز بحثشون رو یاد میگیریم استفاده میشه .

 

کد فرمت مفهوم کاراکتر کنترلی مفهوم
c% کاراکتر f\ انتقال کنترل به صفحه جدید
d%

i%

عدد صحیح با علامت n\ انتقال مکانما به خط بعد
u% عدد صحیح بدون علامت t\ انتقالب مکان نما به 8 مکان بعد
s% رشته r\ ابتدای سطر جاری
f% اعداد اعشاری “\ چاپ کوتیشن
e% نمایش عدد علمی ‘\ چاپ تک کوتیشن
p% اشاره گر %% علامت %

یادتونه گفتم که 32 تا کلمه کلیدی داریم که برای توی زبون C و کامپایلر مفهوم دارن؟ خب بعد یکم جلوتر فهمیدیم میتونیم توی هر برنامه یک سری متغیر تعریف کنیم و به اونها هم مفهوم بدیم، ،خب یک سری تابع هم داریم که با فراخوانی و اضافه کردن فایل سرعنوانشون به برناممون برای کامپایلر مفهوم پیدا میکنن، برای فراخوانی اینجور تابع ها باید با استفاده از #include قبل از تابع اصلیِ main() اونهارو صدا بزنیم.

ممکنه کسی بپرسه که چرا مثل متغیر ها اونهارو خودمون توی برنامه تعریف نمی کنیم ؟
به این فکر کنید که مثلا شما برای نمایش یک متن یا هر اطلاعاتی روی صفحه ی نمایش میاین و از تابع  printf استفاده میکنید، اینطوری شما فقط با یک دستور چند حرفی printf  کاری رو که میخواید میتونید انجام بدید ، اما اگر وارد فایل کتابخونه بشین میبینید که کلی تابع و داده پشتشه و نوشتن اون حجم کد برای ما فعلا کار ساده ای نیست و اینطوری خیلی ساده سازی ها برای برنامه ها انجام میشه و بی دردسر مارو به مقصود میرسونه.

حالا از پرحرفی بگذریم! اولین فایل سرعنوانی که قراره باهاش کار کنیم اسمش stdio.h هست که مربوط به توابع ورودی و خروجی در c  و به شکل  استاندارد میشه.
اولین تابعی که قراره با استفاده ازاین سرعنوان استفاده و معرفی کنیم تابع زیره:

printf :

یک تابع خروجی است که براي نمایش اطلاعات روي صفحه نمایش بکار میره.

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

 

همینجا بریم سراغ نرم افزار  devc++ و اون رو باز کنیم، Ctrl+n رو بزنید تا یک سورس فایل جدید باز بشه، حالا طبق گفته های قبل میخوایم کد نویسی رو شروع کنیم، خط اول قراره stdio.h رو فراخوانی کنیم و بعد اون باید تابع main رو معرفی کنیم.و با استفاده از تابع printf قراره روی صفحه بنویسیم levinic  ، وقتی قراره یک متن ثابت رو روی صفحه با استفاده از این تابع بنویسیم لازم نیست که از کدهای فرمت و یا کنترلی استفاده کنیم و متغیری هم معرفی نمیکنیم و فقط داخل دابل کوتیشن ها متنمون رو مینویسیم:
کد هارو کپی نکنید؛ خودتون بنویسید و با Error هایی که میده آشنا بشین، مطمئن باشید اینطوری بهتر یاد میگیرید.

 

 

خب ، بعد از نوشتن کد حتما باید اونو save کنید ، بعد از save کلید F11 رو بزنید و یا از منوی Execute  گزینه ی compile & run رو انتخاب کنید تا صفحه ی زیر براتون باز بشه و کلمه ی لوینیک ای که نوشتین براتون به نمایش در بیاد.

آموزش C - توابع ورودی و خروجی در c

حالا میخوایم مقدار یک متغیر رو روی صفحه نمایش نشون بدیم ، این بار هم طبق تعاریفی که قبلا خوندیم کدش رو مینویسیم.

خروجی:

آموزش C - توابع ورودی و خروجی در c

اینبار توی تابع از کد فرمت استفاده کردیم ، کد %d به کامپایلر اینو میفهمونه که ما میخوایم مقدار صحیح یک متغیری رو نمایش بدیم ، که بعد از بستن دابل کوتیشن و گذاشتن یک کاما اینکه این متغیر کدوم متغیره رو هم به کامپایلر نشون میدیم.(تیکه ی آخر اونجا که نوشته x رو میگم)

این یک مثال دیگه که کل مباحث قبلی به شکل دیگه ای داخلش تکرار شده:

خروجی:

آموزش C - توابع ورودی و خروجی در c

نکته ی جالبه این کد اینه که ،توی کد فرمت %f  با اینکه متغیرمون فقط 2 رقم بعد اعشار داره ، اما این کد فرمت کار خودشو میکنه و تا 6 رقم اعشار رو به ما نمایش میده  و 4 رقم بعدی رو صفر میزاره.

تعیین طول میدان یا فرمت چاپ:

توی تابع ( )printf میتونیم طول میدان خروجی یا فرمت خروجی را مشخص کنیم.

تعیین طول میدان براي رشته ها بصورت ns %که n طول میدان رو نشان میده.

این مثالو ببینید:

در حالت عادي، خروجی در سمت راست میدان قرار میگیره.(کدش رو خودتون بنویسید و توی نرم افزار کامپایلش کنید و خروجی رو ببنیدی.) توی خروجی میبینید که نوشته یک مقداری اومده سمت راست.

خروجی رو این شکلی تصور کنید: یازده خونه در نظر گرفته میشه ، اگر تعداد کاراکتر های ورودی کمتر باشه تعدادی ازون خالی میمونه و باز هم 11 خونه باقی میمونه.

تعیین طول میدان  یا فرمت چاپ در اعداد اعشاری :

تعیین طول میدان براي داده های اعشاري بصورت n.mf% که n اندازه کل عدد اعشاري شامل علامت ممیز و m تعداد ارقام اعشار رو نشان میده. باید به این نکته توجه داشت که اگر تعداد ارقام اعشار عدد مورد نظر از m بیشتر باشه، تعداد ارقام قسمت اعشار به m گرد میشه. در مثال زیر حداکثر طول میدان 5 و حداکثر اعشـار 2 در نظر گرفته شده.

 

خروجی:

آموزش C - توابع ورودی و خروجی در c

برای تعیین طول میدان رشته و اعداد اعشاری تا اینجا توضیح دادیم ، در آخر هم طول میدان اعداد صحیح  میمونه.

طول میدان اعداد صحیح

برای اعداد صحیح  از nd% استفاده میشه که n تعداد ارقام مورد نظر برای چاپ متغیر رو نشون میده.
مثال های زیاد تری میشه برای این بخش و تا اینجا زد ، که پیشنهاد میکنم خیلی هاشو خودتون توی ذهنتون با کد ها ایجاد کنید ، بنویسید و خروجیشون رو ببینید.

چند تا مثال دیگه:

 

 

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

تابع scanf :

این تابع برای دریافت اطلاعات از صفحه کلید مورد استفاده قرار میگیره. شکل کلی این تابع بصورت زیره:

مثال:

 

فایل سرعنوان این تابع هم دیدیم که stdio.h هستش و اگر اونو نزارین کامپایلر نمیشناسه کد رو و اررور میده (همه اینارو تست کنید، برنامه نویسی برای C به درک مفهوم پروژه و خلاقیت احتیاج داره)
توضیح درباره ی این سرعنوان و توابع ورودی و خروجی در c زیاده ولی بقیش باشه جلسه بعد 🙂

یا علی…

حمیدرضا مودت

یک مهندس الکترونیک ، علاقه مند به یاد دادن و یاد گرفتن پیرامون دانش برق و الکترونیک

شما ممکن است این را هم بپسندید

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *