مرجع
آخر الزيارات

سي99

280 كلمة•0 مشاهدة•🗒️ منذ 4 أيام
باختصار: C99 (المعروف سابقًا باسم C9X ) هو اسم غير رسمي لـ ISO / IEC 9899: 1999، وهو إصدار سابق من معيار لغة البرمجة C. تجد هنا «puts("z is not a number");»، «}» و«puts("z is infinite");» ضمن 7 أقسام.
المحتويات
  1. puts("z is not a number");
  2. }
  3. puts("z is infinite");
  4. bool raised = fetestexcept(FE_OVERFLOW); // [8]
  5. #ifndef __STDC_IEC_559__
  6. مثال
  7. قراءة متعمقة
سي99

في البداية، C99 (المعروف سابقًا باسم C9X ) هو اسم غير رسمي لـ ISO / IEC 9899: 1999، وهو إصدار سابق من معيار لغة البرمجة C. يمتد الإصدار السابق (C90) بميزات جديدة للغة والمكتبة القياسية، ويساعد التطبيقات على الاستفادة بشكل أفضل من أجهزة الكمبيوتر المتاحة، مثل حساب الفاصلة العائمة IEEE 754-1985 وتقنية المترجم. يحل إصدار C11 من معيار لغة البرمجة C، الذي تم نشره في سنة 2011، محل C99. وتعرض الأقسام التالية جوانب أخرى من الموضوع.

puts("z is not a number");

if (isinf(z))

}

int main(void)

{

puts("z is infinite");

وفي هذا السياق، long double r = 7.0 - 3.0/(z - 2.0 - 1.0/(z - 7.0 + 10.0/(z - 2.0 - 2.0/(z - 3.0)))); // [5, 6]

feclearexcept(FE_DIVBYZERO); // [7]

bool raised = fetestexcept(FE_OVERFLOW); // [8]

  • if (raised)
  • puts("Unanticipated overflow.");
  • return r;

#ifndef __STDC_IEC_559__

علاوةً على ذلك، puts("Warning: __STDC_IEC_559__ not defined. IEEE 754 floating point not fully supported."); // [9]

  • #endif
  • #pragma STDC FENV_ACCESS ON
  • #ifdef TEST_NUMERIC_STABILITY_UP
  • fesetround(FE_UPWARD); // [10]
  • #elif TEST_NUMERIC_STABILITY_DOWN
  • fesetround(FE_DOWNWARD);
  • #endif
  • printf("%.7g\n", compute_fn(3.0));
  • printf("%.7g\n", compute_fn(NAN));
  • return 0;
  • }

مثال

وفي السياق ذاته، يوضح المثال التالي المشروح من كود C99 لحساب دالة الكسر المستمر الميزات الرئيسية: #include

  • #include
  • #include
  • #include
  • #include
  • #include
  • #include
  • double compute_fn(double z) // [1]
  • {
  • #pragma STDC FENV_ACCESS ON // [2]
  • assert(FLT_EVAL_METHOD == 2); // [3]
  • if (isnan(z)) // [4]

قراءة متعمقة

روابط خارجية

ومن جهة أخرى، الأساس المنطقي للمعيار الدولي - لغات البرمجة - التنقيح C 5.10 ، أبريل 2003 ، الأساس المنطقي لـ C99

أشياء جديدة في C9X

ما رأيك في هذه المقالة؟

📝 هل في هذه المقالة خطأ؟

إذا وجدت معلومة تحتاج تصحيحاً أو إضافة، أو أردت حذف المقالة، أرسل لنا طلباً وسنراجعه.