close
دانلود فیلم
آموزش C (بخش 6) :: تابع ()Printf

 

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




عبارت ” ۱ شامل تعدادی کاراکترهای کنترلی ، کاراکترهای قالب جهت تعیین شکل خروجی و رشته های دیگری است که باید به خروجی منتقل شوند . ” عبارت دیگر ” شامل اطلاعاتی هستند که با فرمت مشخص شده در ” عبارت ” ۱، باید به خروجی منتقل شوند.
کاراکترهایی که برای تعیین فرمت خروجی مورد استفاده قرار می گیرند با کاراکتر % شروع می شوند ( جدول ۱ ) .


نوع اطلاعات که باید به خروجی منتقل شود |کاراکتر |

%C   یک کاراکتر  
%
d   اعداد صحیح دهدهی مثبت و منفی  
%
i   اعداد صحیح دهدهی مثبت و منفی  
%e   نمایش علمی عدد همراه با حرف e  
%
E   نمایش علمی عدد همراه با حرف E  
%
f   عدد اعشاری ممیز شناور  
%
g   اعداد اعشاری ممیز شناور  
%
G   اعداد اعشاری ممیز شناور  
%
O   اعداد مبنای ۸ مثبت  
%
S   رشته ای از کاراکترها ( عبارت رشته ای )  
%
U   اعداد صحیح بدون علامت ( مثبت )  
%
x   اعداد مبنای ۱۶ مثبت با حروف کوچک  
%
X   اعداد مبنای ۱۶ مثبت با حروف بزرگ  
%
p pointer   ( اشاره گر )  
%
n   موجب میشود تا تعداد کاراکترهایی که تا قبل  
 ازاین کاراکتر به خروجی منتقل شده اند شمارش  
 شده و در پارامتر متناظر با آن قرار گیرد .  

جدول (۱) . کاراکترهای فرمت در تابع ()printf
کاراکترهای کنترلی که در تابع ()printf بکار میروند در جدول (۲) آمده است . بعضی از کاراکترهای کنترلی برای انتقال خروجی به یک محل معین از صفحه نمایش مورد استفاده قرار می گیرند .

 عملی که انجام می شود |  کاراکتر|

f  موجب انتقال کنترل به صفحه جدید می شود | 
n  موجب انتقال کنترل به خط جدید می شود |
t انتقال به ۸ محل بعدی صفحه نمایش |  
چاپ کوتیشن (”)|  "

 چاپ کوتیشن (’)|  '
V  انتقال کنترل به ۸ سطر بعدی |
N  ثابت های مبنای ۸|
xN  ثابت های مبنای ۱۶| 

جدول (۲) . کاراکترهای کنترلی

چند دستور متوالی که شامل تابع ()print باشند ، خروجی خود را بر روی یک سطر منتقل یم کنند . مگر این که با پارامتر کنترلی n کنترل را به سطر بعدی منتقل کنیم .

مثال ۱:

 
         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.

مثال ۲:
Main()
{
int num ;
printf(”the address of num is:” );
printf(” %p”/ &num );
}
در مثال فوق عبارت &num آدرس متغیر num را مشخص می کند که برای نوشتن آن ازکاراکتر فرمت p% استفاده شده است . نمونه ای از خروجی مثال ۲ بصورت زیر است .
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
مثال ۳
Main()
{
unsigned int num ;
num=100 ;
printf(”the value of num is:%u”/num);
}
 
the value of num is:100
مثال ۴:
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);
}
خروجی حاصل از اجرای برنامه مثال ۴ بصورت ذیل خواهد بود
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% استفاده کرد .
مثال ۵:
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
در مثال ۵ برای چاپ علامت % از کاراکتر %% و برای چاپ متغیر f از نوع float می باشد از f% استفاده شده است. کاراکتر فرمت n% از سایر کاراکترهای فرمت متفاوت است . این کاراکتر بجایانتقال مقادیری به خروجی ، موجب می شود تا تعداد کارکترهایی که تا قبل از اینکاراکتر به خروجی منتقل شده اند ، شمارش شده و در پارامتر متناظر با آن قراربگیرد .

همانطوری که در مثال ۳ مشاهده می شود ، برای چاپ عدد num که بصورت عدد صحیحبدون علامت تعریف شد ، از u%استفاده شده است .

لینک کوتاه پست
مطالب مرتبط با پست جاری
  • نکات مهم
    1- لطفا نظر خود را با زبان فارسی بیان کنید
    2- رایتم نظرات اسپم و تبلیغی شما را تایید نمی کند
    3- لطفا نظرات شما بدون ابهام و واضح باشد
  • نام
    ایمیل (منتشر نمی‌شود) (لازم)
    وبسایت
    :):(;):D;)):X:?:P:*=((:O@};-:B/:):S
    نظر خصوصی
    مشخصات شما ذخیره شود ؟[حذف مشخصات] [شکلک ها]
    کد امنیتی
به کانال تلگرام سایت ما بپیوندید