منبع: http://nazari2642hadi.persianblog.ir

ورود اطلاعات و تابع scanf()

تابع scanf() برای ورود اطلاعات از طریق صفحه کلید مورد استفاده قرار می کیره. این تابع توی فایل stdio.h قرار داره و به صورت زیر کار می کنه:

scanf("عبارت1",عبارت2);

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

برای درک بهتر تابع scanf() بهتره اونو توی چندتا مثال توضیح بدم.قسمت آبی رنگ کد برنامه هست و قسمت سیاه نتیجه ی اجرای برنامه هست.

مثال1:

برنامه ای که طول و عرض مستطیل رو بگیره بعد مساحت و محیط اونو حساب کنه.

ورودی برنامه طول و عرض مستطیل هست که اونا رو a و b نامگذاری می کنیم. خروجی هم مساحت و محیط هست که اونارو میذاریم s و p .

#include

int main()

{

int a,b,s,p;

printf("Enter length and width:");

scanf("%d%d", &a, &b);

s=a*b;

p=2*(a+b);

printf("s=%d p=%d",s,p);

return 0;

}

 

Enter length and width:3 5

s=15 p=16

نکته

توی تابع scanf() وقتی می خوایم داده ها رو توی یک متغیر بریزیم کنار متغیر علامت & رو بکار می بریم.

همچنین می تونیم با یک دستور scanf() چند تا داده رو دریافت کنیم و اونا رو توی متغیر های مختلف بریزیم که باید برای هر متغیر که استفاده می کنیم مشخص کنیم که نوع اون متغیر چیه مثلا توی مثال بالا  متغیر از نوع صحیح هست پس از %d استفاده کردیم.

در واقع دستور scanf("%d%d", &a, &b); ورودی ها رو توی متغیر های a و b میریزه که از نوع صحیح هستن.

توی مثال قبل وقتی برنامه رو اجرا میکنیم اول باید یک عدد رو وارد کنیم که اونو داخل a میریزه بعد space میزنیم و عدد دوم رو وارد می کنیم که اونو توی b می ریزه. بعدش هم enter می زنیم و برنامه مقدار مساحت و محیط رو برای ما حساب و چاپ می کنه. (من اعداد 3 و 5 رو وارد کردم )

 

مثال2:

برنامه ای که 3 عدد از ورودی بگیره و میانگین اونارو حساب کنه و اونو چاپ کنه.

توی این برنامه اعدادمون رو با دستور scanf("%d%d%d", &a, &b, &c); توی متغیرهای a و b و c می ریزیم و بعد ازشون میانگین می گیریم. فقط اینجا یک نکته هست که وقتی ما اعدادمون را از نوع صحیح می دیم میانگین ممکنه اعشاری باشه ولی وقتی این 3 تا عدد رو با هم جمع کنیم بعدش به 3 تقسیم کنیم مقداری که به ما میده عدد صحیح است به خاطر همین ما باید جمع این 3 عدد رو از صحیح به اعشاری تبدیل کنیم که برای این کار از دستور (float)(a+b+c) استفاده می کنیم.

#include

int main()

{

int a,b,c;

float ave;

printf("Enter 3 numbers:");

scanf("%d%d%d", &a, &b, &c);

ave= (float)(a+b+c)/3;

printf("ave=%f",ave);

return 0;

}

 

Enter 3 number:7 11 13

ave=10.333333

 

دستور خروجی c

  1. دستور ()printf : شکل کلی دستور بصورت زیر است:

printf(“پیغام و کاراکترهای کنترلی”) ;

printf(“پیغام و کاراکترهای کنترلی و کارامترهای فرمت”,نام متغیرها یا مقادیر داده ها);

    فرم اول دستور بیشتر برای چاپ پیغام به کار میرود. برای مثال دستور زیر پیغام Hello world! را نشان میدهد.

 printf(“Hello world!”);

 فرم دوم این دستور مواقعی به کار می رود که میخواهیم مقادیر متغیرها را نیز همراه پیغام چاپ کنیم. منظور از کاراکترهای کنترلی و کاراکترهای فرمت را در جدول زیر نشان داده ام. توجه کنید که این کاراکترها را باید در داخل کوتیشن به کار برید.

کاراکتر فرمت printf()

مفهوم

%c

Character

%d

Decimal

%f

Float

%ld

Long decimal

%u

Unsigned

%s

String

%p

Pointer

%%

کاراکتر%

                                                            

کاراکتر کنترلی printf()

 مفهوم

\n

New line

\r

Carriage-return

\t

Tab

\b

Back space

\”

نمایش کاراکتر “

\’

نمایش کاراکتر’

\\

نمایش کاراکتر \

      کاراکترهای فرمت را موقعی به کار میبریم که میخواهیم یک متغیر از نوع خاصی را در خروجی نشان دهیم. بری این کار ابتدا نوع کاراکتر را در داخل کوتیشن با استفاده از کاراکترهای فرمت مشخص میکنیم و سپس بیرون از کوتیشن نام متغیر را ذکر میکنیم. به مثال زیر توجه کنید:

printf(“your average is:%f”, ave);

 این دستور ابتدا پیغام your average is: را نشان میدهد و سپس به یک کاراکتر فرمت که یک متغیر از نوع اعشاری را بیان میکند برخورد میکند و در خارج از کوتیشن متغیر متناظر با %f را میابد که در این مثال متغیر ave می باشد. ave بصورت float ave; تعریف شده است. اگر یک دستور printf() دیگر بعد از این دستور قرار دهیم پیغام بلافاصله بعد از آن چاپ خواهد شد اگر بخواهیم پیغام در سر خط بعد ظاهر شود از کاراکتر کنترلی \n استفاده میکنیم. برای این کار می توانیم به دو روش عمل کنیم یا در آخر دستور قبل کاراکتر کنترلی را قرار دهیم یعنی دستور بالا بصورت زیر باشد:

 printf(“your average is:%f \n”, ave);

برای حمایت از نویسنده روی عکس تبلیغاتی زیر کلیک کنید




تاریخ: شنبه 6 آبان 1391برچسب:,
ارسال توسط ارشیو

صفحه قبل 1 صفحه بعد

آرشیو مطالب
پيوند هاي روزانه
امکانات جانبی

نام :
وب :
پیام :
2+2=:
(Refresh)

خبرنامه وب سایت:





آمار وب سایت:  

بازدید امروز : 1
بازدید دیروز : 0
بازدید هفته : 50
بازدید ماه : 95
بازدید کل : 79257
تعداد مطالب : 6
تعداد نظرات : 1
تعداد آنلاین : 1