English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل تعليمي أساسي بلغة C

تحكم في عملية لغة C

الوظائف في لغة C

المسافات في لغة C

المراجع في لغة C

الخطوط في لغة C

مباني لغة C

ملفات لغة C

C أخرى

دليل مرجعي لـ C

علامات التحويل الخاصة بنمط C

علامات التحويل هي النصوص المستخدمة في وظائف الدخول والخروج المسطحة. تحدد سلسلة النمط تنسيق الدخول والخروج. تبدأ دائمًا بسلسلة '%'.

أولاً شرح علامات التحويل كجزء من الطباعة الناتجة كنتيجة

شرح التحويل

الإخراج

%a

عدد عشري بسيط، عدد عشري، ونظام العد p (C99)

%A

عدد عشري بسيط، عدد عشري، ونظام العد P (C99)

%c

حرف واحد

%d

عدد عشري موجه

%e

عدد عشري بسيط، نظام العد e

%E

عدد عشري بسيط، نظام العد E

%f

عدد عشري بسيط، نظام العد العشري

%g

اختيار تلقائي ل%f أو%e بناءً على القيمة. يستخدم نمط%e عند قيمة الأ指数 أقل من-4 أو أكبر من أو تساوي دقة

%G

اختيار تلقائي ل%f أو%E بناءً على القيمة. يستخدم نمط%E عند قيمة الأ指数 أقل من-4 أو أكبر من أو تساوي دقة

%i

عدد عشري موجه (مثل%d)

%o

عدد عشري غير الموقع

%p

المرجع (وهو العنوان)

%s

السلسلة

㩵n

عدد عشري غير الموقع

%x

استخدام عدد عشري غير الموقع 0f كعدد عشري غير الموقع

%X

%X

استخدام عدد عشري بدون علامة النقطة عشرة 0F للعدد العشري غير المsigned

%%

طباعة علامة في المائة

المعديل

المعنى

ثانيًا، ميزات printf()

العلامات

digit(s)

خمس علامات (-، +، فراغ، # و 0) ستتم شرحها في الجدول الثالث، يمكن استخدام عدد لا محدود من العلامات

الدقة. بالنسبة للتحويلات %e، %E و %f، هي عدد الأرقام التي سيتم طباعتها إلى يمين نقطة العشرية. بالنسبة للتحويلات %g و %G، هي عدد الأرقام الصحيحة القصوى. بالنسبة للتحويل %s، هو عدد الأحرف التي سيتم طباعتها. بالنسبة للتحويلات العددية، هي عدد الأرقام التي سيتم طباعتها. إذا لزم الأمر، سيتم استخدام الصفر كحرف مقدم لتحقيق هذا العدد.digit(s)

أقل قيمة للعرض.الدقة. بالنسبة للتحويلات %e، %E و %f، هي عدد الأرقام التي سيتم طباعتها إلى يمين نقطة العشرية. بالنسبة للتحويلات %g و %G، هي عدد الأرقام الصحيحة القصوى. بالنسبة للتحويل %s، هو عدد الأحرف التي سيتم طباعتها. بالنسبة للتحويلات العددية، هي عدد الأرقام التي سيتم طباعتها. إذا لزم الأمر، سيتم استخدام الصفر كحرف مقدم لتحقيق هذا العدد..

”يعني أن ما يتبعه هو صفر، لذا %.f هو نفس %.0f. مثال: “%5.2f” طباعة عدد عشري، عرض حقله هو 5 أحرف، بعد نقطة العشرية هناك数字ان.

باستخدام معرفات التحويل مع الأرقام الصحيحة، ليعبر عنh أو short int unsigned char

unsigned short int

hh

باستخدام معرفات التحويل مع الأرقام الصحيحة، ليعبر عنمثال: “%hu”、“%hx” و “%6.4hd” أوsigned charunsigned char

قيمة النوع.

مثال: “%hhu”、“%hhx” و “%6.4hhd”

j

باستخدام معرفات التحويل مع الأرقام الصحيحة، ليعبر عن قيمة intmax_t أو uintmax_t.

l

باستخدام معرفات النوع مع الأرقام الصحيحة، ليعبر عنlong int أوunsigned long int قيمة النوع.

مثال: “%ld” و “%8lu”

ll

باستخدام معرفات النوع مع الأرقام الصحيحة، ليعبر عنlong long intأو unsigned long long int قيمة النوع (C99).

مثال: “%lld” و “%8llu”

L

باستخدام معرفات التحويل مع الأرقام العشرية، ليعبر عنlong doubleالقيمة.

مثال: “%Lf” و “%10.4Le”

t

باستخدام معرفات التحويل مع الأرقام الصحيحة، ليعبر عن قيمة ptrdiff_t (نوع يمثل الفرق بين اثنين من المؤشرات) (C99)

مثال: “%td” و “%12ti”

z

باستخدام معرفات التحويل مع الأرقام الصحيحة، ليعبر عنsize_tالقيمة(نوع العودة لـ sizeof) (C99).

مثال: “%zd” و “%12zx”

ثلاثة علامة printf()

المعديل

المعنى

-

المشاريع معادلة إلى اليسار، مما يعني أن المشاريع سيتم طباعتها في بداية حقل الحقل. مثال: “%-20s”

+

القيم المزودة بالعلامة إذا كانت إيجابية، فسيتم عرضها مع علامة الإيجابية؛ وإذا كانت سلبية، فسيتم عرضها مع علامة السلبية. مثال: “%+6.2f”

(مسافه)

إذا كان القيمة سالبة، يتم عرضها مع مسافه مقدمة (لكن لا يتم عرض الرمز)؛ إذا كانت سالبة، يتم عرضها مع علامة العدد السالب. العلامة + تغطي العلامة المسافه.

#

استخدام شكل اختياري للمصطلح التحويل. إذا كان شكلاً %o، يبدأ بـ 0؛ إذا كان شكلاً %x و %X، يبدأ بـ 0x أو 0X، لجميع نماذج الأرقام العشرية، يضمن # طباعة مسافه عشرية حتى لو لم يكن هناك أي رقم، لـ %g و %G يمنع حذف الأصفار الزائدة. مثال: “%#o”、“%#8.0f” و “%+#10.3E”

0

لجميع نماذج الأرقام، استخدم الصفر كمقدمة بدلاً من المسافه لملء عرض الحقل. إذا كان هناك علامة - أو تم تحديد دقة (للأرقام) يتم تجاهل هذا العلامة. مثال: “%010d” و “%08.3f”

الجزء الرابع: مصطلحات التحويل لـ scanf() في ANSI C

مصطلح التحويل

المعنى

%c

تفسير الإدخال كحرف

%d

تفسير الإدخال كعدد عشري سالب

%e،%f،%g، %a

تفسير الإدخال كعدد عشري (%a هو معيار C99)

%E،%F،%G،%A

تفسير الإدخال كعدد عشري (%A هو معيار C99)

%i

تفسير الإدخال كعدد عشري سالب

%o

تفسير الإدخال كـمعياريعدد ثماني

%p

تفسير الإدخال كمعرف (عنوان)

%s

㩵n

تفسير الإدخال كعدد عشري غير سالب

%x،%X

تفسير الإدخال كـمعياريعدد عشري

الجزء الخامس: معديلات تحويل scanf()

المعديل

المعنى

*

التخصيص المتأخر. مثال: “%*d”

digit(s)

أكبر عرض حقل؛ يوقف قراءة عنصر الإدخال عند الوصول إلى عرض الحقل الأكبر أو عند ظهور أول مسافه (يهم أيهما يحدث أولاً). مثال: “%10s”

hh

قراءة العدد كsigned char أو unsigned char. مثال: “%hhd”“%hhu”

ll

قراءة العدد كlong long أو unsigned long long (C99). مثال: “%lld”“%llu”

h،l أو L

“%hd” و “hi” يشير إلى أن القيمة ستخزن في short int.

“%ho”“%hx” و “%hu” يشير إلى أن القيمة ستخزن في unsigned short int.

“%ld” و “%li” يشير إلى أن القيمة ستخزن في long.

“%lo”“%lx” و “%lu” يشير إلى أن القيمة ستخزن في unsigned long.

“%le”“%lf” و “%lg” يشير إلى أن القيمة مخزنة كنوع double. استخدم L (بدلاً من l) مع e، f و g لتشير إلى أن القيمة مخزنة كنوع long double.

إذا لم يكن هناك هذه التعديلات، فإن d، i، o و x يشير إلى نوع int، بينما تشير e، f و g إلى نوع float.