logo

وظيفة isdigit() في C

سنناقش في هذا الموضوع الدالة isdigit() في لغة C. الدالة isdigit() هي دالة محددة مسبقًا في مكتبة C، والتي تُستخدم للتحقق مما إذا كان الحرف عبارة عن حرف رقمي من 0 إلى 9 أم لا. وإذا كان الحرف المحدد رقمًا أو رقمًا، فإنه يُرجع قيمة منطقية حقيقية أو غير صفرية؛ وإلا فإنها ترجع قيمة صفر أو خطأ. تم الإعلان عن الدالة isdigit داخل ملف الرأس ctype.h، لذلك يجب علينا إضافتها إلى برنامج C.

على سبيل المثال، لنفترض أننا أدخلنا الحرف 'h' في الدالة isdigit()؛ تتحقق الوظيفة مما إذا كان حرف الإدخال رقمًا أم لا. هنا الحرف ليس رقما. وبالتالي فإن الدالة isdigit() ترجع صفر (0) أو قيمة خاطئة. وبالمثل، نقوم مرة أخرى بإدخال الحرف الرقمي '5' إلى الدالة isdigit(). هذه المرة، تقوم الدالة بإرجاع قيمة حقيقية أو غير صفرية لأن الرقم '5' عبارة عن حرف رقمي يتكون من 0 إلى 9 أرقام.

جافا العودية

بناء جملة الدالة isdigit()

فيما يلي بناء جملة الدالة isdigit() في لغة C.

 int isdigit (int ch); 

حدود:

الفصل - يحدد الحرف الرقمي الذي سيتم تمريره في الدالة isdigit().

قيمة الإرجاع:

تتحقق الدالة isdigit() من الوسيطة 'ch'، وإذا كان الحرف الذي تم تمريره رقمًا، فإنها تُرجع قيمة غير صفرية. وبخلاف ذلك، فإنه يعرض قيمة منطقية صفرية أو خاطئة.

خلفية المغلق

مثال 1: برنامج للتحقق مما إذا كان الحرف المحدد رقمًا أم لا

لنقم بإنشاء برنامج للتحقق من أن الأحرف المعطاة أرقام أو لا تستخدم الدالة isdigit() في برمجة C.

 /* Check whether the given characters are digits or not in C. */ #include #include int main () { // Use the isdigit() function to check the character is digit or not. */ if (isdigit ( 'P' ) == 0) //check 'P' is digit { printf (' 
 The given character 'P' is not digit'. '); } else { printf ('
 The given character 'P' is a digit. '); } if (isdigit ( '3' ) == 0) //check for '3' { printf (' 
 The given character '3' is not digit'. '); } else { printf ('
 The given character '3' is a digit. '); } if (isdigit ( '!' ) == 0) //check for '!' character { printf (' 
 The given character '!' is not digit'. '); } else { printf ('
 The given character '!' is a digit. '); } if (isdigit ( '' ) == 0) //check for '44' { printf (' 
 The given character '' is not digit'. '); } else { printf ('
 The given character '' is a digit. '); } if (isdigit ( '0' ) == 0) //check for '0' { printf (' 
 The given character '0' is not a digit. '); } else { printf ('
 The given character '0' is a digit. '); } return 0; } 

انتاج:

 The given character 'P' is not a digit. The given character '3' is a digit. The given character '!' is not a digit. The given character '' is not a digit. The given character '0' is not a digit. 

في البرنامج أعلاه، قمنا بتعريف أحرف مختلفة مثل 'P'، '3'، '!'، ''، 0 للتحقق مما إذا كانت هذه أحرف صالحة أم لا تستخدم الدالة isdigit(). وبعد ذلك، نستخدم الدالة isdigit() التي تتحقق من أن الأحرف 'P' و'1' و ليست أرقامًا وتعيدها.

مثال 2: برنامج للتحقق مما إذا كان الحرف الذي أدخله المستخدم رقمًا أم لا

لنكتب برنامجًا لمعرفة ما إذا كان حرف الإدخال صالحًا أم لا باستخدام الدالة isdigit() في لغة C.

 /* Check whether the given characters are digits or not in C. */ #include #include int main () { char n; // declare an integer type variable n printf (' Enter a number to check for valid digits: '); scanf ('%c', &n); // use the isdigit() function to check the digit if (isdigit (n)) { printf (' 
 It is a digit. '); } else { printf (' 
 It is not a digit. '); } return 0; } 

انتاج:

 Enter a number to check for valid digits: 5 It is a digit. 

في البرنامج أعلاه، نقوم بإدخال الحرف '5' من المستخدم ثم نستخدم الدالة isdigit للتحقق مما إذا كانت الوسيطة التي تم تمريرها عبارة عن رقم. هنا، الحرف الذي تم تمريره هو رقم، لذلك تقوم الدالة isdigit() بإرجاع العبارة 'إنه رقم'.

تعليق جافا سكريبت

2اختصار الثانيتنفيذ

 Enter a number to check for valid digits: A It is not a digit. 

وبالمثل، عندما نقوم بإدخال الحرف 'A' في الدالة isdigit()، تتحقق الدالة من الحرف الصالح، ويمكننا أن نرى أن الحرف 'A' ليس رقمًا. لذلك، تقوم الدالة بإرجاع العبارة 'إنه ليس رقمًا'.

مثال 3: برنامج لطباعة أرقام صفرية وغير صفرية للأحرف التي تم تمريرها في لغة C

لنكتب برنامجًا للتحقق من جميع الأحرف المعطاة وإرجاع قيم أصفار وغير أصفار بناءً على الأحرف التي تم تمريرها إلى الدالة isdigit() في لغة C.

جافا قابلة للمقارنة
 /* create a simple program to return zeroes and non-zeroes values based on the given characters. */ #include #include int main () { char num; // declare num as the character type variable num = '0'; // check character 0 using the isdigit() function printf (' 
 The isdigit() function returns result based on character (0) passed: %d ', isdigit (num)); num = 'o'; // check character o using the isdigit() function printf (' 
 The isdigit() function returns result based on character (o) passed: %d ', isdigit (num)); num = '08'; // check character 08 using the isdigit() function printf (' 
 The isdigit() function returns result based on character (08) passed: %d ', isdigit (num)); num = '+'; // check character + using the isdigit() function printf (' 
 The isdigit() function returns result based on character (+) passed: %d ', isdigit (num)); num = '%'; // check character % using the isdigit() function printf (' 
 The isdigit() function returns result based on character ('%') passed: %d ', isdigit (num)); return 0; } 

انتاج:

 The isdigit() function returns result based on character (0) passed: 1 The isdigit() function returns result based on character (o) passed: 0 The isdigit() function returns result based on character (08) passed: 1 The isdigit() function returns result based on character (+) passed: 0 The isdigit() function returns result based on character (%) passed: 0 

في البرنامج أعلاه، نقوم باختبار الأحرف الرقمية المعطاة الصالحة باستخدام الدالة isdigit(). تقوم الدالة isdigit() بإرجاع 1 إلى الأحرف الرقمية و0 إلى الرموز الأبجدية أو الرموز الخاصة المحددة في البرنامج والتي ليست أرقامًا.

مثال 4: برنامج للتحقق من كافة عناصر المصفوفة باستخدام الدالة isdigit()

لنكتب برنامجًا للعثور على كافة الأرقام الصحيحة لعنصر المصفوفة باستخدام الدالة isdigit() في لغة C.

 #include #include #include int main () { int i; // declare and initialize the character type array char arr[8] = {&apos;E&apos;, &apos;08&apos;, &apos;@&apos;, &apos;-&apos;, &apos;3&apos;, &apos;/&apos;, &apos;007&apos;, &apos;$&apos;}; int arr2[8] = {0, 0, 0, 0, 0, 0, 0, 0}; // initialize arr2 with containing all zeroes element // use for loop to iterate all elements for (i = 0; i <8; i++) { check and assign digits to the arr2[i] using isdigit() function (arr[i]); } for (i="0;" i < 8; display array characters printf (' 
 '%c'', arr[i]); elements if (arr2[i] !="0)" is a digit character. '); else not valid return 0; pre> <p> <strong>Output:</strong> </p> <pre> &apos;E&apos; is not a valid digit character. &apos;8&apos; is a digit character. &apos;@&apos; is not a valid digit character. &apos;-&apos; is not a valid digit character. &apos;3&apos; is a digit character. &apos;/&apos; is not a valid digit character. &apos;7&apos; is a digit character. &apos;$&apos; is not a valid digit character. </pre> <p>We declared and initialized the arr[] variable with some elements in the above program. And then, we create another array arr2[] that contains zero (0) to assign the result to those elements that are not valid digits. The isdigit() function checks all the arr[] array elements and returns non-zero values to the valid digit elements. Else it returns zeroes (0) to non-digit elements.</p> <hr></8;>

لقد أعلنا وقمنا بتهيئة المتغير arr[] مع بعض العناصر في البرنامج أعلاه. وبعد ذلك، نقوم بإنشاء مصفوفة أخرى arr2[] تحتوي على صفر (0) لتعيين النتيجة لتلك العناصر التي لا تمثل أرقامًا صالحة. تتحقق الدالة isdigit() من جميع عناصر المصفوفة arr[] وتعيد قيمًا غير الصفر إلى عناصر الأرقام الصالحة. وإلا فإنه يقوم بإرجاع الأصفار (0) إلى العناصر غير الرقمية.