Upload
bint-el-maghrabi
View
170
Download
0
Embed Size (px)
Citation preview
Functions
الدوال هى مجموعة من األوامر والبيانات تحت اسم واحد حيث يمكن استدعائها من أماكن مختلفة فى
، ومن فوائدها التقليل فى شفرة البرنامج وحجم subroutineوهى بما تعرف بالروتين الثانوى . البرنامج
: والصورة التالية توضح االعالن عن دالة . البرنامج، مما يجعله اكثر تنظيما
فسيكون ! Hello, World إذا أردنا عمل دالة تقوم بطباعة الجملة .ويمكن أن تحتوى الدالة على وسائط
: برنامجنا كالتالى
2
عدم تكرار التعليمات داخل البرنامج حيث يتم إنشاء الدالة مرة واحدة ثم يتم استدعائها أكثر من 1.
مرة عند الحاجة اليها
باستخدام الدوال يصبح البرنامج أكثر وضوحا 2.
3
int functionدوال تعيد قيمة صحيحة 1.
float functionدوال تعيد قيمة حقيقة 2.
string functionدوال تعيد عبارة حرفية 3.
char functionدوال تعيد حرف واحد 4.
void functionدوال ال تعيد أى قيمة 5.
structureدوال تعيد قيمة من نوع6.
4
#include<stdio.h>
Void Func HelloWorld ( )
{
printf (“Hello, World!\n”);
}
Main ( )
{
Func HelloWorld ( );
}
ثم نقوم بإعطائها ) prototype يسمى بالنموذج ( هذه طريقة ، أما الطريقة الثانية فهى اإلعالن عن الدالة
: األوامر بعد الدالة الرئيسية وسيصبح المثال السابق كالتالى
5
#include<stdio.h>
Void Func_HelloWorld ( );
Main ( )
{
Func HelloWorld ( );
}
Void Func HelloWorld ( )
{
printf(“Hello, World!\n”);
}
وتوجد طريقة أخرى ولكن ال يفضل استعمالها من ناحية التنظيم . وهى الطريقة االفضل من حيث التنظيم
: وأيضا بعض المترجمات ال تقبلها وهى
6
# include<stdio.h>
Main ( )
{
Func HelloWorld ( );
}
Void Func_HelloWorld ( )
{
printf(“Hello, World!\n”);
}
وذلك ،Func_HelloWorldالدالة prototypeوإن كان مترجمك قد نبهك عن وجود خطأ فسيكون عن الخطأ عن نموذج
الكلمة المحجوزة . فى األصل هذه الطريقة هى من طرق لغة السى، يعنى أنها طريقة صحيحة فقط بعض المترجمات ال تدعها
void بايت، وهى ال تقوم بأرجاع أى قيم, تستعمل مع الدوال حيث حجمها .
7
Function Type
بالنسبة لدوال . floatأوأعداد حقيقة intللدوال انواع وهى نفسها أنواع المتغير ، يمكن استعمال دالة من نوع أعداد صحيحة
من نوع أعداد صحيحة فهى لها قيمة تقوم بإرجاعها ، أى فى نهاية الدالة تقوم بإرجاع قيمة باستخدام الكلمة المحجوزة
return كما فى المثال التالى :
# include<stdio.h>
Int Int Func(const int num);
Main ( )
{
printf(“%d\n”, Int_Func (5));
}
int Int Func (const int num)
{
return num;
}
8
يمكننا كتابة دوال التى تقوم بإرجاع قيم printf، وفى السطر السابع ، فى الدالة Int _ Funcإلى الدالة int numهنا قمنا بإرجاع قيمة الوسيط
يمكن كتابة الدالة بدون نوع . النها بدون حجم وال يمكنها حمل قيم voidكما فى هذا المثال، وال يمكن استعمال هذه الطريقة مع الكلمة المحجوزة
والمثال السابق سيصبح على intبالنسبة للمثال السابق، ألن دالتنا من نوع أعداد صحيحة، وفى لغة السى الوضع االفتراضى لدوال بدون نوع هو
: الشكل التالى
# include<stdio.h>
Int Func(const int num);
Main ( )
{
printf(“%d\n”, Int_Func (5));
}
Int Func(const int num)
{
return num;
}
9
Function Name
: السم الدالة حدود وهى مثل اسم المتغير
حرف 31أن ال يتجاوز اسم الدالة
أن ال يبدأ اسم الدالة بأرقام
أن ال يكون اسم الدالة يحتوى على مؤثرات مثل الجمع والطرح و ....
باستثناء الرمز ... ( و }و# و % أن ال يكون اسم الدالة يحتوى على رموز مثل _ (
أن ال يكون اسم الدالة مستعمل سابقا فى متغير أو دالة أخرى
أن ال يكون اسم الدالة من أحد أسماء الكلمات المحجوزة
10
Function
Parameters
, long , int , floatالوسائط هى متغيرات تقوم بوضعها على حسب متطلباتنا حيث تكون من االنواع
double , char , char* , char [ ] , unsigned , signed , short . ويمكن أيضا أن تكون
الوسائط عبارة عن مصفوفات أو مؤشرات من كل األنواع
11