وبلاگ اطلاع رسانی درسی حسین غلامعلی نژاد

وبلاگ اطلاع رسانی درسی حسین غلامعلی نژاد

وبلاگ اطلاع رسانی درسی حسین غلامعلی نژاد

یا سلام و آرزوی توفیق روز افزون برای شما دانشجویان عزیز
برای دسترسی راحت تر شما به جزوات درسی، اسلایدها و تمرینات درسی اینجانب، وبلاگ پیش رو را راه اندازی نمودم. امید آنکه با فعالیت های علمی خود بتوانیم نقشی هرچند کوچک در پیشرفت ایران اسلامی عزیز داشته باشیم و در سیل خروشان پیشرفت علمی کشور، سهیم باشیم.
شادمان باشید و برقرار-غلامعلی نژاد

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

1
printf("عبـارت مورد نـظر");

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

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

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

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

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

f\  : موجب انتقال کنترل به صفحه جدید می شود
n\ : موجب انتقال کنترل به خط جدید می شود
t\  : انتقال به ۸ محل بعدی صفحه نمایش
“\  : چاپ دابل کوتیشن (“)
‘\  : چاپ کوتیشن (‘)
V\ : انتقال کنترل به ۸ سطر بعدی
N\ : ثابت های مبنای ۸ ( Nعدد مبنای ۸ است )
xN\ : ثابت های مبنای ۱۶ ( N عدد مبنای ۱۶ است )

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

1
2
3
4
5
main()
{
printf("Hello Micropedia");
printf(" We Love Micropedia");
}

خروجی حاصل از اجرای برنامه فوق بصورت ذیل خواهد بود : Hello Micropedia We Love Micropedia . با استفاده از n\ می توانیم خروجی را در چند سطر داشته باشیم .

مثال ۲ :

1
2
3
4
5
6
main()
 {
 int num ;
 printf("the address of num is:" );
 printf(" %p", &num );
 }

در مثال فوق عبارت &num آدرس متغیر num را مشخص می کند که برای نوشتن آن از کاراکتر فرمت p% استفاده شده است . نمونه ای از خروجی مثال ۲ بصورت زیر است . the address of num is : 6A30:OFE4

اگر در تابع ()printf چند کاراکتر فرمت داشته باشیم ، هر کاراکتر با یک عنصر داده که باید به خروجی برود تطبیق داده می شود :

1
2
3
4
5
6
main()
 {
 int a=10 ;
 float b=20 ;
 printf(" a is:%d,b is :%f",a,b);
 }

خروجی حاصل از اجرای برنامه فوق بصورت ذیل است : a is:10,b is :20.000000

مثال ۳ :

1
2
3
4
5
6
main()
 {
 unsigned int num ;
 num=100 ;
 printf("the value of num is:%u",num);
 }

همانطوری که در مثال ۳ مشاهده می شود ، برای چاپ عدد num که بصورت عدد صحیح بدون علامت تعریف شد ، ازu% استفاده شده است . خروجی حاصل از اجرای برنامه مثال ۳ به صورت ذیل است : the value of num is:100

مثال ۴ :

1
2
3
4
5
6
7
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% از سایر کاراکترهای فرمت متفاوت است . این کاراکتر بجای انتقال مقادیری به خروجی ، موجب می شود تا تعداد کارکترهایی که تا قبل از این کاراکتر به خروجی منتقل شده اند ، شمارش شده و در پارامتر متناظر با آن قرار بگیرد .

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

در حین انتقال اطلاعات توسط تابع ()printf میتوانیم طول میدان خروجی را مشخص کنیم . در این مورد می توانیم محل نقطه اعشار و تعداد ارقام اعشار را نیز تعیین کنیم . تعیین طول میدان در جدول بندی ها بسیار مفید است . طول میدان ، بصورت w.d است که در اعداد اعشاری ممیز شناور ، w طول میدان و d تعداد ارقام اعشار را  مشخص می کند .

مثال ۵ :

1
2
3
4
5
main()
{
printf("\n %8.1f %8.1f %8.1f\n" ,3.0,12.5,523.3 );
printf("\n %8.1f %8.1f %8.1f\n" ,300.0,1200.5,5300.3 );
}

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

۵۲۳٫۳   ۱۲٫۵   ۳٫۰

۵۳۰۰٫۳  ۱۲۰۰٫۵  ۳۰۰٫۰

همانطورکه مشاهده می گردد طول میدان برابر با ۸ و تعداد ارقام اعشار، برابر با یک که در منتها الیه سمت راست میدان قرار گرفته ، منظور شده است .
اگر فرمت w.d که طول میدان را مشخص می کند در مورد رشته ها استفاده گردد ، w حداقل طول میدان و d حداکثر کاراکترهای قابل چاپ را مشخص می کند . اگر w.d در مورد اعداد صحیح بکار برده شود ، w مشخص کننده حداقل طول میدان و d تعیین کننده حداکثر طول میدان است .


hosein gholamalinejad

نظرات (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی