التحويلات الصريحة
تحويلات يدوية
التحويلات الصريحة درس مجاني في C Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في C Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة C Academy 4 دروس في المجموع.
ما هو التحويل الصريح
يحوّل التحويل الصريح قيمةً صراحةً إلى نوع آخر باستخدام (type)value. وهو يخبر المصرّف بما تريده تحديدًا.
#include <stdio.h>
int main(void) {
double d = (double)5;
printf("%.1f\n", d);
return 0;
}فرض القسمة الحقيقية
حوّل أحد المعاملين إلى double لكي تحتفظ القسمة بالجزء الكسري.
#include <stdio.h>
int main(void) {
int a = 7, b = 2;
double r = (double)a / b;
printf("%.2f\n", r);
return 0;
}الاقتطاع عمدًا
يؤدي تحويل double إلى int إلى حذف المنازل العشرية. وأحيانًا يكون هذا هو المطلوب تمامًا.
#include <stdio.h>
int main(void) {
double price = 19.95;
int dollars = (int)price;
printf("dollars = %d\n", dollars);
return 0;
}التحويل الصريح مقابل الضمني
يحدث التحويل الضمني تلقائيًا، بينما يوضّح التحويل الصريح القصد ويخفي التحذيرات.
#include <stdio.h>
int main(void) {
long big = 100000L;
int n = (int)big;
printf("n = %d\n", n);
return 0;
}التحويل الصريح في التعبيرات
ينطبق التحويل الصريح على القيمة المجاورة له فقط، لذلك يهم ترتيب العمليات واستخدام الأقواس.
#include <stdio.h>
int main(void) {
int total = 5, count = 2;
double avg = (double)total / count;
printf("avg = %.2f\n", avg);
return 0;
}التحويل الصريح بين char وint
يمكنك التحويل بين char وint للتنقل بين المحرف ورمزه.
#include <stdio.h>
int main(void) {
int code = 66;
char c = (char)code;
printf("c = %c\n", c);
return 0;
}التقريب باستخدام التحويل الصريح
أضف 0.5 قبل التحويل الصريح لتقريب عدد موجب إلى أقرب عدد صحيح.
#include <stdio.h>
int main(void) {
double d = 2.7;
int rounded = (int)(d + 0.5);
printf("rounded = %d\n", rounded);
return 0;
}التحويل الصريح إلى unsigned
يمكنك التحويل إلى unsigned، لكن القيمة السالبة تلتف لتصبح عددًا موجبًا كبيرًا.
#include <stdio.h>
int main(void) {
int x = 10;
unsigned int u = (unsigned int)x;
printf("u = %u\n", u);
return 0;
}تجنب التحويلات الصريحة غير الضرورية
إجراء تحويل صريح عندما يكون التحويل آمنًا وضمنيًا أصلًا يضيف ضوضاء لا حاجة إليها. استخدم التحويلات الصريحة عندما توضّح القصد أو تكون مطلوبة.
#include <stdio.h>
int main(void) {
int a = 4;
double d = a;
printf("%.1f\n", d);
return 0;
}التحويل الصريح في صيغة
يحافظ التحويل الصريح داخل حساب النسبة المئوية على دقة النتيجة.
#include <stdio.h>
int main(void) {
int done = 3, total = 8;
double pct = (double)done / total * 100.0;
printf("%.1f%%\n", pct);
return 0;
}التحويل الصريح مع الدوال الرياضية
تساعد التحويلات الصريحة عند تمرير قيم صحيحة إلى العمليات الحسابية ذات الفاصلة العائمة.
#include <stdio.h>
int main(void) {
int n = 9;
double root = (double)n / 3.0;
printf("%.2f\n", root);
return 0;
}اختبار سريع
اختبر مدى فهمك للتحويلات الصريحة.
مراجعة: التحويلات الصريحة
تعلمت كيفية تحويل الأنواع عمدًا.
- الصيغة هي
(type)value - استخدم التحويل الصريح لفرض القسمة الحقيقية
- استخدم التحويل الصريح للاقتطاع عمدًا
- توضح التحويلات الصريحة القصد وتخفي التحذيرات
- يؤثر التحويل الصريح في القيمة المجاورة فقط، لذا استخدم الأقواس
الأسئلة الشائعة
هل درس «التحويلات الصريحة» مجاني؟
نعم — نص درس «التحويلات الصريحة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة C Academy، انتقل إلى CoddyKit PRO. تتضمن دورة C Academy 4 دروس في المجموع.
ماذا ستتعلم في «التحويلات الصريحة»؟
تحويلات يدوية تتمرن على C Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ C Academy؟
لا تُشترط خبرة سابقة. C Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «التحويلات الصريحة»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس C Academy هذا؟
نعم. كل درس في C Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- التحويلات الضمنية
- التحويلات الصريحة
- تحويلات الأعداد الصحيحة والعشرية
- مزالق التحويل