0Pricing
C Academy · درس

المحارف كأعداد صحيحة

قيم ASCII

المحارف كأعداد صحيحة درس مجاني في C Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في C Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة C Academy 4 دروس في المجموع.

المحارف أعداد

في C، لا يعدو char كونه عددًا صحيحًا صغيرًا. ولكل محرف قيمة عددية يحددها جدول ASCII.

يُخزَّن الحرف 'A' على هيئة العدد 65، بينما تكون قيمة 'B' هي 66، وهكذا.

#include <stdio.h>

int main(void) {
    char c = 'A';
    printf("The character %c has value %d\n", c, c);
    return 0;
}

طباعة قيمة ASCII

استخدم محدد التنسيق %d لطباعة char باعتباره قيمته الصحيحة، واستخدم %c لطبعته باعتباره محرفًا.

يمكن عرض المتغير نفسه بالطريقتين.

#include <stdio.h>

int main(void) {
    char letter = 'z';
    printf("As char: %c\n", letter);
    printf("As int:  %d\n", letter);
    return 0;
}

للأرقام رموز أيضًا

المحرف '0' ليس العدد 0. فقيمته في ASCII هي 48.

تتوالى محارف الأرقام من '0' إلى '9' ضمن الرموز من 48 إلى 57.

#include <stdio.h>

int main(void) {
    printf("'0' = %d\n", '0');
    printf("'9' = %d\n", '9');
    return 0;
}

تحويل char إلى رقم

نظرًا إلى أن محارف الأرقام متجاورة، يمكنك تحويل محرف الرقم إلى قيمته العددية بطرح '0'.

تساوي '7' - '0' العدد 7.

#include <stdio.h>

int main(void) {
    char d = '7';
    int value = d - '0';
    printf("The digit value is %d\n", value);
    return 0;
}

الحساب على المحارف

بما أن المحارف أعداد صحيحة، يمكنكم إجراء العمليات الحسابية عليها. تؤدي إضافة 1 إلى 'A' إلى الحصول على الرمز الخاص بـ 'B'.

ينجح ذلك لأن حروف الأبجدية متجاورة في ASCII.

#include <stdio.h>

int main(void) {
    char c = 'A';
    char next = c + 1;
    printf("After A comes %c\n", next);
    return 0;
}

التكرار عبر الأبجدية

يمكنكم التكرار من 'a' إلى 'z' باستخدام محرف بوصفه عداد الحلقة.

تقارن الحلقة رموز المحارف تمامًا كما تقارن الأعداد.

#include <stdio.h>

int main(void) {
    for (char c = 'a'; c <= 'z'; c++) {
        printf("%c", c);
    }
    printf("\n");
    return 0;
}

الفارق بين حالتي الأحرف

يفصل بين الأحرف الكبيرة والصغيرة 32 موضعًا في ASCII. قيمة 'a' هي 97 وقيمة 'A' هي 65.

لذلك فإن 'a' - 'A' تساوي 32.

#include <stdio.h>

int main(void) {
    printf("'A' = %d\n", 'A');
    printf("'a' = %d\n", 'a');
    printf("Gap = %d\n", 'a' - 'A');
    return 0;
}

تحويل حالة الأحرف يدويًا

بمعرفة أن الفارق يساوي 32، يمكنكم تحويل الأحرف الصغيرة إلى أحرف كبيرة بطرح 32.

وهذا بالضبط ما تنفذه toupper داخليًا.

#include <stdio.h>

int main(void) {
    char lower = 'm';
    char upper = lower - 32;
    printf("%c becomes %c\n", lower, upper);
    return 0;
}

المحارف الخاصة

للمحارف التحكمية رموز أيضًا. فمحرف السطر الجديد '\n' قيمته 10، وعلامة الجدولة '\t' قيمتها 9، ومحرف النهاية الفارغ '\0' قيمته 0.

أما محرف المسافة فقيمته 32.

#include <stdio.h>

int main(void) {
    printf("newline = %d\n", '\n');
    printf("tab     = %d\n", '\t');
    printf("space   = %d\n", ' ');
    return 0;
}

يخزن char أعدادًا صغيرة

يخزن char عادةً قيمًا من -128 إلى 127 (موقعة)، أو من 0 إلى 255 (غير موقعة).

يمكنكم تخزين أعداد صحيحة صغيرة مباشرةً في متغير من النوع char.

#include <stdio.h>

int main(void) {
    char small = 100;
    small = small + 5;
    printf("small = %d\n", small);
    return 0;
}

بناء إزاحة قيصر

بدمج هذه الأفكار، تقوم شيفرة قيصر البسيطة بإزاحة كل حرف بمقدار ثابت باستخدام العمليات الحسابية على المحارف.

نزيح هنا حرفًا واحدًا إلى الأمام بمقدار 3.

#include <stdio.h>

int main(void) {
    char c = 'x';
    char shifted = 'a' + (c - 'a' + 3) % 26;
    printf("%c shifted by 3 = %c\n", c, shifted);
    return 0;
}

اختبار سريع

اختبروا فهمكم للمحارف بوصفها أعدادًا صحيحة.

مراجعة

تعلمتم أن:

  • ‏char عدد صحيح صغير يخزن رمز ASCII.
  • تطبع %c القيمة بوصفها محرفًا، بينما تطبعها %d بوصفها عددًا.
  • الأرقام '0'-'9' والحروف متجاورة، مما يتيح إجراء العمليات الحسابية عليها.
  • يحوّل c - '0' محرف الرقم إلى قيمته، والفارق بين حالتي الأحرف هو 32.

الأسئلة الشائعة

هل درس «المحارف كأعداد صحيحة» مجاني؟

نعم — نص درس «المحارف كأعداد صحيحة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة C Academy، انتقل إلى CoddyKit PRO. تتضمن دورة C Academy 4 دروس في المجموع.

ماذا ستتعلم في «المحارف كأعداد صحيحة»؟

قيم ASCII تتمرن على C Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ C Academy؟

لا تُشترط خبرة سابقة. C Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «المحارف كأعداد صحيحة»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس C Academy هذا؟

نعم. كل درس في C Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. المحارف كأعداد صحيحة
  2. مكتبة ctype
  3. قراءة المحارف
  4. بناء أدوات المحارف
← العودة إلى C Academy