loading...
انجمن زیپ(دانلود نرم افزار .فیلم آموزشی سریال آهنگ...)
انجمن زیپ بازدید : 418 شنبه 23 مهر 1390 نظرات (0)

تابع ()printf 
اين تابع براي انتقال اطلاعات از كامپيوتر به صفحه نمايش مورد استفاده قرار 
مي گيرد و بصورت زير استفاده مي شود : ;
( عبارت ديگر " / عبارت " 1) printf) "
عبارت " 1 شامل تعدادي كاراكترهاي كنترلي ، كاراكترهاي قالب جهت تعيين شكل 
خروجي و رشته هاي ديگري است كه بايد به خروجي منتقل شوند . " عبارت ديگر " شامل 
اطلاعاتي هستند كه با فرمت مشخص شده در " عبارت " 1، بايد به خروجي منتقل شوند. 
كاراكترهايي كه براي تعيين فرمت خروجي مورد استفاده قرار مي گيرند با كاراكتر %
شروع مي شوند ( جدول 1 ) . 
كاراكتر | نوع اطلاعات كه بايد به خروجي منتقل شود | 
%C | % يك كاراكتر | |
%d | % اعداد صحيح دهدهي مثبت و منفي | |
%i | % اعداد صحيح دهدهي مثبت و منفي | |
%e | % نمايش علمي عدد همراه با حرف e | |
%E | % نمايش علمي عدد همراه با حرف E | |
%f | % عدد اعشاري مميز شناور | |
%g | % اعداد اعشاري مميز شناور | |
%G | % اعداد اعشاري مميز شناور | |
%O | % اعداد مبناي 8 مثبت | |
%S | % رشته اي از كاراكترها ( عبارت رشته اي ) | |
%U | % اعداد صحيح بدون علامت ( مثبت ) | |
%x | % اعداد مبناي 16 مثبت با حروف كوچك | |
%X | % اعداد مبناي 16 مثبت با حروف بزرگ | |
%p pointer | % ( اشاره گر ) | |
%n | % موجب ميشود تا تعداد كاراكترهايي كه تا قبل | |
| ازاين كاراكتر به خروجي منتقل شده اند شمارش | |
| شده و در پارامتر متناظر با آن قرار گيرد . | |
%% | % علامت % | 
جدول (1) . كاراكترهاي فرمت در تابع ()printf 
كاراكترهاي كنترلي كه در تابع ()printf بكار ميروند در جدول (2) آمده است . 
بعضي از كاراكترهاي كنترلي براي انتقال خروجي به يك محل معين از صفحه نمايش 
مورد استفاده قرار مي گيرند . 
| كاراكتر عملي كه انجام مي شود | 
f | موجب انتقال كنترل به صفحه جديد مي شود | |
n | موجب انتقال كنترل به خط جديد مي شود | |
t | انتقال به 8 محل بعدي صفحه نمايش | |
" | چاپ كوتيشن (") | |
' | چاپ كوتيشن (') | |
NULL | رشته تهي | | back slash | \ |
|
V | انتقال كنترل به 8 سطر بعدي | |
N | ثابت هاي مبناي 8( N( عدد مبناي 8 است ) | |
xN | ثابت هاي مبناي 16( N( عدد مبناي 16 است ) | 
جدول (2) . كاراكترهاي كنترلي 
چند دستور متوالي كه شامل تابع ()print باشند ، خروجي خود را بر روي يك سطر 
منتقل يم كنند . مگر اين كه با پارامتر كنترلي n كنترل را به سطر بعدي منتقل 
كنيم . 
مثال 1: 
main)(
{
printf(" i like %c "/'c' );
printf("%s"/"very much." );
}
خروجي حاصل از اجراي برنامه فوق بصورت ذيل خواهد بود : i like c very much.
با استفاده از n مي توانيم خروجي را در چند سطر داشته باشيم . main)(
{
printf("this is second program.n" );
printf("output is in two line." );
}
خروجي حاصل از اجراي برنامه فوق بصورت ذيل است : this is second program.
output is in two line.
مثال 2: main)(
{
int num ;
printf("the address of num is:" );
printf(" %p"/ &num );
}
در مثال فوق عبارت &num آدرس متغير num را مشخص مي كند كه براي نوشتن آن از 
كاراكتر فرمت %p استفاده شده است . نمونه اي از خروجي مثال 2 بصورت زير است . the address of num is : 6A30:OFE4
اگر در تابع ()printf چند كاراكتر فرمت داشته باشيم ، هر كاراكتر با يك عنصر 
داده كه بايد به خروجي برود تطبيق داده مي شود : main)(
{
int a=10 ;
float b=20 ;
printf(" a is:%d/b is :%f"/a/b);
}
خروجي حاصل از اجراي برنامه فوق بصورت ذيل است : a is:10/b is:20:000000
مثال 3: main)(
{
unsigned int num ;
num=100 ;
printf("the value of num is:%u"/num);
}
همانطوري كه در مثال 3 مشاهده مي شود ، براي چاپ عدد num كه بصورت عدد صحيح 
بدون علامت تعريف شد ، از %u استفاده شده است . 
خروجي حاصل از اجراي برنامه مثال 3 به صورت ذيل است : the value of num is:100
مثال 4: main)(
{
double d ;
d=le+007 ;
printf("the value of d is:%en"/d);
printf("the value of d is:%En"/d);
printf("the value of d is:%gn"/d);
}
خروجي حاصل از اجراي برنامه مثال 4 بصورت ذيل خواهد بود : the value of d is:1.00000e+07
the value of d is:1.00000E+07
the value of d is:1e+07
همانطور كه مشاهده مي شود براي چاپ اعدادي كه بصورت نماد علمي باشند ميتوان 
از كاراكترهاي فرمت % e، % E،و % gو استفاده كرد . 
مثال 5: main)(
{
float f=12.50 ;
int t=10 ;
printf("n f is:%f"/f );
printf(" tenper is:%%%d"/t );
}
خروجي حاصل از اجراي برنامه فوق بصورت زير است : f is:12.500000/tenper is:%10
در مثال 5 براي چاپ علامت % از كاراكتر %% و براي چاپ متغير f از نوع float 
مي باشد از %f استفاده شده است . 
كاراكتر فرمت %n از ساير كاراكترهاي فرمت متفاوت است . اين كاراكتر بجاي 
انتقال مقاديري به خروجي ، موجب مي شود تا تعداد كاركترهايي كه تا قبل از اين 
كاراكتر به خروجي منتقل شده اند ، شمارش شده و در پارامتر متناظر با آن قرار 
بگيرد . 
مثال 6: main)(
{
printf("neachtwordtisn" );
printf("tabbedtovertonce" );
}
خروجي از اجراي برنامه فوق بصورت زير خواهد بود : each word is
tabbed over once
كاراكتر كنترلي b موجب انتقال مكان نما به اندازه يك كاراكتر به عقب ميشود 
( بسمت چپ ). كاراكترهاي كنترلي "و و براي چاپ كوتيشن درخروجي مورد استفاده 
قرار مي گيرند . 
تعيين طول ميدان در تابع ()printf 
در حين انتقال اطلاعات توسط تابع ()printf ميتوانيم طول ميدان خروجي را مشخص 
كنيم . در اين مورد مي توانيم محل نقطه اعشار و تعداد ارقام اعشار را نيز تعيين 
كنيم . تعيين طول ميدان در جدول بندي ها بسيار مفيد است . طول ميدان ، بصورت w.d 
است كه در اعداد اعشاري مميز شناور ، w طول ميدان و d تعداد ارقام اعشار را 
مشخص مي كند . 
مثال 7: main)(
{
printf("n%8.1f %8.1f %8.1fn"
/3.0/12.5/523.3 );
printf("n%8.1f %8.1f %8.1fn"
/300.0/1200.5/5300.3 );
}
خروجي حاصل از اجراي برنامه فوق بصورت زير است : 3.0 12.5 523.3
300.0 1200.5 5300.3
همانطوركه مشاهده مي گردد طول ميدان برابر با 8 و تعداد ارقام اعشار، برابر 
با يك كه در منتهااليه سمت راست ميدان قرار گرفته ، منظور شده است . براي توضيح 
بيشتر ، عدد 5300/3 را در حافظه نشان مي دهيم : 
ؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤ ؤؤؤؤؤؤؤؤ | | | 5 | 3 | 0 | 0 | . | 3 |
ؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤ ؤؤؤؤؤؤؤؤ 
اگر فرمت w.d كه طول ميدان را مشخص مي كند در مورد رشته ها استفاده گردد ، w 
حداقل طول ميدان و d حداكثر كاراكترهاي قابل چاپ را مشخص مي كند . 
اگر w.d در مورد اعداد صحيح بكار برده شود ، w مشخص كننده حداقل طول ميدان 
و d تعيين كننده حداكثر طول ميدان است . 
مثال 8: main)(
{
printf("%7.4fn"/123.1234567 );
printf("%3.8dn"/1000 );
printf("%10.16an"/"this is a" );
printf(" simple test" );
}
خروجي حاصل از اجراي برنامه فوق بصورت زير است : 123.1235
00001000
this is a simple
در خروجي اول ، تعداد ارقام اعشاري 4 در نظر گرفته شده كه بقيه ارقام حذف 
شده اند و ضمنا" عدد حاصل گرد شده است . 
در خروجي دوم كه : ميدان 3/8 است عدد صحيح 1000 چاپ شده است . 
در خروجي سوم از رشته this is a simple به اندازه 16 كاراكتر چاپ شده است . 
در حالت معمولي ، خروجي حاصل در سمت راست ميدان قرار مي گيرد كه مي توان با 
قرار دادن علامت منها ( - ) بلافاصله پس از علامت % ، اطلاعات را در سمت چپ ميدان

ارسال نظر برای این مطلب

کد امنیتی رفرش
اطلاعات کاربری
  • فراموشی رمز عبور؟
  • پیوندهای روزانه
    آمار سایت
  • کل مطالب : 238
  • کل نظرات : 69
  • افراد آنلاین : 8
  • تعداد اعضا : 378
  • آی پی امروز : 123
  • آی پی دیروز : 137
  • بازدید امروز : 320
  • باردید دیروز : 370
  • گوگل امروز : 0
  • گوگل دیروز : 0
  • بازدید هفته : 2,447
  • بازدید ماه : 5,050
  • بازدید سال : 29,131
  • بازدید کلی : 321,006
  • کدهای اختصاصی