کاراکترهای تبدیل (Conversion Characters) برای قرار دادن مقادیر مختلف (رشته، عدد صحیح، عدد اعشاری و ...) در یک متن خروجی، در زبان برنامه نویسی C

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

با فرض اینکه نام دریافتی از کاربر، برابر ali باشد، متنی که در خروجی چاپ می شود، به صورت زیر خواهد بود :

برای این جایگزینی، باید تابع printf را به صورت زیر به کار ببریم :

در کد بالا، عبارت ali جایگزین عبارت %s خواهد شد. عبارت %s یک کاراکتر تبدیل (Conversion Character) می باشد که برای رشته ها (Strings) به کار می رود (حرف s از ابتدای کلمه string گرفته شده است).

بنابراین کد کامل به صورت زیر می باشد :

نتیجه :

کاراکترهای تبدیل (Conversion Characters) برای قرار دادن مقادیر مختلف (رشته، عدد صحیح، عدد اعشاری و ...) در یک متن خروجی، در زبان برنامه نویسی C

بنابراین مشاهده کردید که چگونه کاراکتر تبدیل %s برای جایگزینی یک رشته (String) در متن خروجی به کار رفت. در ادامه، کاراکترهای تبدیل (Conversion Characters) لازم برای جایگزینی اعداد صحیح و اعداد اعشاری را نیز ذکر خواهیم نمود.

کاراکتر تبدیل %d برای اعداد صحیح (decimal - بر مبنای 10) :

کاراکتر تبدیل %d برای اعداد صحیح (decimal - بر مبنای 10) به کار می رود.

به مثال زیر توجه کنید :

مثال

نتیجه :

عدد صحیح 4 جایگزین عبارت %d می شود :

کاراکترهای تبدیل (Conversion Characters) برای قرار دادن مقادیر مختلف (رشته، عدد صحیح، عدد اعشاری و ...) در یک متن خروجی، در زبان برنامه نویسی C

کاراکتر تبدیل %f برای اعداد اعشاری (float) :

کاراکتر تبدیل %f برای اعداد اعشاری (float) به کار می رود.

به مثال زیر توجه کنید :

مثال

نتیجه :

عدد اعشاری 5.624831 جایگزین عبارت %f می شود :

کاراکترهای تبدیل (Conversion Characters) برای قرار دادن مقادیر مختلف (رشته، عدد صحیح، عدد اعشاری و ...) در یک متن خروجی، در زبان برنامه نویسی C
نکته

اگر بخواهیم تعداد رقم اعشاری که باید نمایش داده شوند را تعیین کنیم، می توانیم کاراکتر تبدیل %f را به صورت زیر بنویسیم :

که در آن تعیین کرده ایم که تنها 2 رقم از رقم های اعشاری نمایش داده شوند (به جای عدد 2 ، می توانید عدد مورد نظر خود را بنویسید).

به مثال زیر توجه کنید :

مثال

نتیجه :

عدد اعشاری 5.62 جایگزین عبارت %f می شود (تنها 2 رقم از رقم های عدد اعشاری اصلی ذکر می گردد) :

کاراکترهای تبدیل (Conversion Characters) برای قرار دادن مقادیر مختلف (رشته، عدد صحیح، عدد اعشاری و ...) در یک متن خروجی، در زبان برنامه نویسی C

استفاده از چند کاراکتر تبدیل (Conversion Character) :

مثالی را برای استفاده از چند کاراکتر تبدیل (Conversion Character)، ذکر می کنیم :

مثال

نتیجه :

کاراکترهای تبدیل (Conversion Characters) برای قرار دادن مقادیر مختلف (رشته، عدد صحیح، عدد اعشاری و ...) در یک متن خروجی، در زبان برنامه نویسی C

لیست کاراکترهای تبدیل (Conversion Characters) :

در جدول زیر، کاراکترهای تبدیل (Conversion Characters) ذکر شده اند :

Conversion Character Displays
%% The percent character, %
%c Single character (char) value
%d Integer (int, short int, long int) value
%e Floating-point (float or double) value in scientific notation with a little E
%E Floating-point (float or double) value in scientific notation with a big E
%f Floating-point (float or double) value in decimal notation
%g Either %f or %e is used, depending on which is shorter
%G Either %F or %E is used, depending on which is shorter
%i Integer (int, short int, long int) value
%o Unsigned octal value (no leading 0)
%p Memory location or address in hexadecimal (pointer)
%s String constant or variable (char *)
%u Unsigned integer (unsigned int, unsigned short int, unsigned long int) value
%x Unsigned hexadecimal value, lowercase a–f, no leading 0 or x
%X Unsigned hexadecimal value, uppercase A–F, no leading 0 or X
  • فهرست مباحث
نویسنده علیرضا گلمکانی
شماره کلید 4754
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 0 0 0

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)