71
رة ك مذ ات ق ي ب ط ت ب س حا ل ا ي ص خ ش ل ا ة ج م ر لب ا ة غ ل ب ي س ل ا ذمة ق م: ة غ ل ي س ل ا ة غ ل ة ج م ر ب راض غ2 لأ ل عامة ل ا وي9 ت ح ت ي عل مات ي ل ع ت و لأحات صط ا ة ب ش ت رات ب ب ع ي ل ا ة ري ب ج ل ا و ومة ع مذ مات ل ك ب ة وز ج ح مKey Word ة ي ر لب ح تT ا ل ث م: If, Do, While و رها ب غZ ن م مات ل ك ل ا. ة ب ش ت ة غ ل ي س ل ا ات ع ل ة ج م ر لب ا ري خ2 الأ ة ب ق را ل ا ل ث م اسكال ث ل ا وZ ران ب وز ف. 1

c Program Ok

Embed Size (px)

DESCRIPTION

اساسيات لغه سى

Citation preview

Page 1: c Program Ok

مذكرةالشخصي الحاسب تطبيقات

السي بلغة البرمجة

: مقدمة و تعليمات على تحتوي العامة لألغراض برمجة لغة السي لغة

محجوزة بكلمات مدعومة و الجبرية التعبيرات تشبه اصطالحاتKey Wordمثل إنجليزية :If, Do, Whileالكلمات من غيرها و .

و الباسكال مثل الراقية األخرى البرمجة لغات السي لغة تشبه. فورتران

على باالستخدام لها تسمح إضافية سمات على السي لغة تحتوي أي النظم برمجة في استخدامها يمكن فبالتالي منخفض مستوى

أي التطبيقات برمجة في تستخدم كما ، التشغيل نظام كتابة. المختلفة البرامج كتابة

: السي لغة مميزات تعليماتها من تعزز كثيرة قياسية مكتبية دوال على / تحتوي1

إضافية مكتبية دوال كتابة على المستخدمين تشجع كما األساسيةبهم. خاصة

مختلفة. حاسب أجهزة على تشغيلها يمكن حيث متنقلة / لغة2 مما اآللة مع تتعامل اللغة أدوات ألن ذلك سبب و سريعة / لغة3

التنفيذ. وقت من يقلل الحاسب ألجهزة السي مترجمات تتاح بحيث قياسية / لغة4

. المختلفة

1

Page 2: c Program Ok

عن عبارة السي بلغة المكتوب البرنامج أن حيث تركيبية / لغة5 تنفذ دالة وكل األخرى الدوال من مجموعة تستدعي رئيسية دالة

. األوامر من مجموعة

: السي لغة في البرنامج هيكل بين يكون بحيث ،<include<…….h# بالعبارة البرنامج يبدأ(1)

في المستخدمة بالدوال الخاص التوجيه ملف العالمتين. البرنامج

.) (main الرئيسية الدالة من برنامج أي يتكون(2) .} باألقواس البرنامج يبدأ(3). البرنامج جسم(4) .; منقوطة بفاصلة تنتهي البرنامج عبارات جميع(5) .{ باألقواس البرنامج ينتهي(6). الصغيرة بالحروف البرنامج دوال جميع(7) من عدد ألي/*………….*/ عالمتين بين المالحظات تكتب(8)

. األسطر

: البيانات أنواع) حروف أو ،(Numbers) أرقام إما معها نتعامل التي البيانات

Characters)، . .(Float) حقيقية أو ،(Integers) صحيحة إما األرقام تكون-. اكثر أو واحد حرفا الحروف تكون-

: بالبايت طولها و البيانات أنواع يوضح التالي الجدول طولهالمتغير نوع

بالبايتChar1 حرفInt2 قصير صحيح

طويل صحيحLong

4

Float4 حقيقي

مضاعف حقيقيDouble

8

: المتغير تسمية2

Page 3: c Program Ok

: التالية للشروط المتغير اسم يخضع أن مالحظة يجب و ، بحرف المتغير اسم يبدأ أن يجب(1)

الحرف و الكبير الحرف بين يفرقCompiler المترجم .A المتغير عن يختلفa المتغير أن أي ، الصغير

. محجوزة كلمة المتغير اسم يكون أال يجب(2)

: المتغيرات عن اإلعالن int: مثل يلي كما البرنامج بداية في المتغيرات عن اإلعالن يجب

a;.

: الثوابت عن اإلعالن يمكن و التنفيذ أثناء تتغير ال قيم أحيانا البرنامج في تستخدم قيمتها تحديد و اسم بإعطائها تعريفها و الثوابت عن اإلعالن

. define# العبارة بإستخدام .define R 3.14#: مثل

تحتوي ال و ، الكبيرة بالحروف عادة تعرف الثوابت أن نالحظ و. منقوطة فاصلة على الثوابت تعريف عبارة: اإلدخال و اإلخراج دوال

بجميع البيانات لطباعة : تستخدم) (printf اإلخراج دالة(1). أنواعها

أنواع جميع إلدخال : تستخدم) (scanf اإلدخال دالة(2). البيانات

: هي و الرموز بعض اإلدخال و اإلخراج دالة مع تستخدم و%d صحيحه قيم إخراج و إلدخال تستخدم . %f حقيقية قيم إخراج و إلدخال تستخدم .%c واحد حرف إخراج و إلدخال تستحدم .%s حرفية عبارة إخراج و إلدخال تستحدم .

عدد تعني3) ( ، الفراغات عدد تعني5 ) 5.3f%: مالحظة( . المطلوبة العشرية الخانات

: المعامالت أنواعها تختلف و الثوابت و المتغيرات بين تربط رموز عن عبارة

: هي أنواعها و معامل كل وظيفتها باختالف

الحسابية ( المعامالت1): الرقيمة الثوابت و المتغيرات مع تستخدم .Div / القسمة ، Multiply* الضرب ،Sub - الطرح ،Add + الجمع

: السي في الجبرية المعادالت كتابة كيفية

3

Page 4: c Program Ok

السي بلغة المعادلةالجبرية بالصيغة المعادلة

Y=mx+bY=m*+b;

Y=a+b+c+dــــــــ

5

Y=(a+b+c+d)/5;

Y=a(b+c)+c(d+e)Y=a*(b+c)+c*(d+e);: الحسابية األولويات

( . عليا ) أولوية األولوية نفس لهما القسمة و / الضرب1( . دنيا ) أولوية األولوية نفس لهما الطرح و / الجمع2 من تنفيذ يتم المعامالت من لعدد األولويات تساوي حالة / في3

. اليمين إلى اليسار. الخارج إلى الداخل من األقواس من نبدأ األقواس / في4

المقارنة ( معامالت2): قيمتين بين للمقارنة تستخدم المقارنة معاملالرمز

>greater than<less than

==equal to

=>greater than or equal to

=<less than or equal to

=!not equal

( المعامالت المنطقية 3)السي لغة في الرمز المنطقي المعامل

And&&Or||

Not!

4

Page 5: c Program Ok

التخصيص ( معامالت4). ما متغير في قيمة تخزن معامالت هي

لغة في التخصيصالتقليدي التخصيصالسي

A=a+2a+=2;A=a-2a-=2;

A=a*2a*=2;

A=a/2a/=2;

( معامل الزيادة و النقصان 5) لغة في التخصيصالتقليدي التخصيص

السيA=a+1a++=1;A=a-1a--=1;

القسمة باقي ( معامل6) فإنa=5 كان : إذا مثل

a%2=1 ، a%5=0، هكذا و .

: أمثلة ؟Welcome To C العبارة يطبع برنامج ( : اكتب1) مثال: الحل

#include<stdio.h>#include<conio.h>

main) ({

clrscr;) (

5

Page 6: c Program Ok

printf("Welcom To C");

getch;) (return 0;

}

welcome العبارة يطبع برنامج ( : اكتب2) مثال To

C مرةprintf عبارة بإستخدام

؟ واحدة: الحل

#include<stdio.h>#include<conio.h>

main) ({

clrscr;) (printf("Welcom\nTo\nC");

getch;) (return 0;

}

من أكثرprintf عبارة بإستخدام السابقة العبارة / اكتب تمرين؟ مرة

التالي الشكل يطبع برنامج ( : اكتب3) مثال*

********

6

Page 7: c Program Ok

مرةprintf عبارة بإستخدام ؟ واحدة

: الحل#include<stdio.h>#include<conio.h>

main) ({

clrscr;) (printf("*\n***\n*****");

getch;) (return 0;

}

: بأن علما الدائرة مساحة يحسب برنامج ( : اكتب4) مثالarea=r*r*PI، و PI=3.14؟

: الحل#include<stdio.h>#include<conio.h>

define PI 3.14main) (

{int r;float area ;

clrscr;) (printf("Enter Radius:\t");scanf("%d",&r);area=r*r*IP;printf("\narea=%f",area);

getch;) (return 0;

}

بلغ المال من لمبلغ الزكاة مقدار يحب برنامج ( : اكتب5) مثال الزكاة معدل بأن علما عليع كامل عام مرور بعد الشرعي النصاب: التالية للمعادلة وفقا%2.5 يساوي

Zakah=mony*R؟

7

Page 8: c Program Ok

: الحل#include<stdio.h>#include<conio.h>

define R 0.025main) (

{int mony;

float zakah;/*zakah=mony*R /*clrscr;) (

printf("Enter Mony:\t");scanf("%d",&mony);zakah=mony*R;printf("\nZakah=%.2f",zakah);

getch;) (return 0;

}

عددين ضرب حاصل يطبع و يحسب برنامج ( : اكتب6) مثال؟ حقيقيين

: الحل

#include<stdio.h>#include<conio.h>

main) ({float x,y,result;

clrscr;) (printf("Enter Two Float:\t");scanf("%f%f",&x,&y);result=x*y;printf("\nresult=%.3f",result);

getch;) (return 0;

}

عددين جمع حاصل يطبع و يحسب برنامج ( : اكتب7) مثال ؟ صحيحين

8

Page 9: c Program Ok

: الحل#include<stdio.h>#include<conio.h>

main) ({int a,b,sum;

clrscr;) (printf("Enter Two integer:\t");scanf("%d%d",&a,&b);sum=a+b;printf("\nsum=%d",sum);

getch;) (return 0;

}

عددين ضرب حاصل يطبع و يحسب برنامج / اكتب تمرين؟ صحيحين

حقيقيين عددين جمع حاصل يطبع و يحسب برنامج / اكتب تمرين؟

9

Page 10: c Program Ok

التحكم عبارات(control Statements)

:(control Statements) اإلختيار جمل أو التحكم عبارات من و المقدمة الخيارات من مجموعة من واحد خيار بتنفيذ تسمح

: أنواعها

(if-statement) الشرطية إذا ( جملة1) إال و صحيحة المنطقي التعبير قيمة كانت إذا العبارة بتنفيذ تسمح

. تجاهلها يتم

:(if-statement) الشرطية إذا لجملة العامة الصيغة

10

Page 11: c Program Ok

واحدة عبارة حالة / في1if(condition)

statement ;

: مثلif(gread>=60)

printf("passed") ;

عبارة من أكثر حالة / في2if(condition)

{ statement1;

statement2; statement3;

}

: مثلif(gread>=60)

{printf("passed") ;

printf("good loock") ; }

(if-else statement) إال – إذا ( جملة2) المنطقي التعبير قيمة على اعتمادا الخيارين بأحد باألخذ تسمح

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

:(if-else statement) إذا-إال لجملة العامة الصيغة واحدة عبارة حالة / في1

if(condition)

11

Page 12: c Program Ok

statement1 ;else

statement2 ;

: مثلif(gread>=60)

printf("passed") ;els

printf("faild") ;

عبارة من أكثر حالة / في2if(condition)

statement1 ;else

{statement2 ;statement3 ;

}

: مثلif(gread>=60)

printf("passed") ;els

{printf("faild") ;

printf("You Must Take Thr cours agine ") ; }

األكبر يطبع ثم صحيحة أرقام ثالث يدخل برنامج ( : اكتب1) مثال؟ بينهما: الحل

#include<stdio.h>#include<conio.h>

main) ({

12

Page 13: c Program Ok

int a,b,c;clrscr;) (

printf("Enter Three integer:\t");scanf("%d%d%d",&a,&b,&c);

if(a>b&&a>c)printf("Max=%d",a);

if(b>a&&b>c)printf("Max=%d",b);

if(c>a&&c>b)printf("Max=%d",c);

getch;) (return 0;

}

حالة في صحيحين رقمين بين يقارن برنامج ( : اكتب2) مثال ؟) <= , >= , < , > , == , != (

: الحل#include<stdio.h>#include<conio.h>

main) ({int a,b;

clrscr;) (printf("Enter Two integer:\t");scanf("%d%d",&a,&b);

if(a==b)printf("%d Is Equal To %d",a,b);

if(a!=b)printf("%d Is Not Equal To %d",a,b);

if(a>b)printf("%d Is Greater Than %d",a,b);

: السابق المثال لحل تابعif(a<b)printf("%d Is Less Than %d",a,b);

if(a>=b)printf("%d Is Greater Than Or Equal %d",a,b);

13

Page 14: c Program Ok

if(a<=b)printf("%d Is Less Than Or Equal %d",a,b);

getch;) (return 0;

}

و ، ما مقرر في طالب تقدير يطبع كامل برنامج ( : اكتب3) مثال يطبع100 من أكبر درجة أو0 من أقل درجة المستخدم أدخل إذا

؟Erro رسالة: الحل

#include<stdio.h>#include<conio.h>

main) ({int gread;

clrscr;) (printf("Enter The Gread:\t");scanf("%d ",&gread);

if(gread>100&&gerad>0)printf("Error");

elseif(gread>=60)printf("Passed");

elseif(gread<60)printf("Failed");

getch;) (return 0;

}

(Condition Expression) الشرطي ( التعبير3) و الشرط قيمة على اعتمادا أمرين من واحد بتنفيذ يسمح

. الشرطي التعبير لبناء? , : المعامالت تستخدم

14

Page 15: c Program Ok

: الشرطي التعبير لجملة العامة الصيغةCondition?statement1:statement2;

: مثل(gread?)=>printf("Passed"):("Failed");

بإستخدام ما مقرر في طالب نتيجة يطبع برنامج ( اكتب1) مثال؟ الشرطي التعبير

: الحل#include<stdio.h>#include<conio.h>

main) ({int gread;scanf("%d",gread);

(gread>=60?)printf("Passed\n"):printf("Failed\n");getch;) (

return 0;}

(switch … case) ( : عبارة4)

15

Page 16: c Program Ok

داخل التعبير قيمة على اعتماداcase عبارات إحدى تنفيذ يتم switch عبارة و ، المتداخلةif محل تحل أن يكمن و ،switch عبارة

caseفقط المساواة حالة مع تتعامل .. رمزية أو صحيحةswitch عبارة داخل التعبير قيمة تكون و

: العامة الصيغةswitch(expression)

{Case<constant expression>

statement ;Case<constant expression>

statement ;Case<constant expression>

statement ;default :

statement ; }

تنفيذ سيتم إال و ،case حالة كل بعد;break عبارة استخدام يجب. متتالي بشكل الحاالت

: مثلswitch(gread)

{case1:printf("A\n") ;

break ;case2:printf("B\n") ;

break ;case3:printf("C\n") ;

break ;case4:printf("D\n") ;

break ;default: printf("F\n");

break ; }

16

Page 17: c Program Ok

: السابق المثال شرح العبارة لتنفيذ ينتقل ثم ،1(=gread) كانت إذاcase1 تنفيذ يتم نالحظ .وcase1 داخل;breakعبارة لوجود ذلك وswitch بعد التي

شكل يكون السابقة الحاالت من;break عبارة حذف عند : كالتاليgread=1 كانت إذا المخرجات

A BCDF

تقوم صغيرة حاسبة آلة عمل يحاكي برنامج ( : اكتب1) مثال: التالية بالعمليات

؟ القسمة ، الضرب ، الطرح ، الجمع : الحل

#include<stdio.h>#include<conio.h>

main) ({int x,y;char op;

clrscr;) (printf("Enter Two Inteager And Op :\t");scanf("%d%c%d",&x,&op,&y);

switch(op){case '+': printf("%d+%d=%d",x,y,x+y);break;case '-': printf("%d-%d=%d",x,y,x-y) ;

break;csse '*': printf("%d*%d=%d",x,y,x*y);break;case '/': printf("%d/%d=%d",x,y,x/y);break;default: }

getch;) (return 0;

}17

Page 18: c Program Ok

التكرارية الحلقات

: التكرارية الحلقات غير أو معلوم عددا الجمل من مجموعة أو جملة لتنفيذ تستخدم

. المرات من معلوم: هي أنواعها و

for ( : حلقة1)

:for لحلقة العامة الصيغة

18

Page 19: c Program Ok

for(initial value;condition;mcrement)

: أمثلة واحدة عبارة حالة / في1

for(i=1;i<=n;i++)

: مثلfor(i=1;i<=10;i++)

عبارة من أكثر حالة / في2for(i=1;i<=n;i++)

{statement1 ;statement2 ;statement3 ;

}

: مثلfor(i=1;i<=10;i++) {

printf("X:\t") ;scanf("%d",&x) ;

sum+=x ; }

؟ األعداد من قائمة متوسط يحسب برنامج ( : اكتب1) مثال: الحل

#include<stdio.h>#include<conio.h>

main) ({int x,n,i=1,sum=0;

19

Page 20: c Program Ok

float average;clrscr;) (

printf("Enter Number Of Values:\t");scanf("%d",&n);

for(i=1;i<=n;i++){Printf("Enter X%d=",i);scanf("%d",&x) ;

sum+=x;}average=sum/n;printf("sum=%d\nAverage=%.2f",sum,average);

getch;) (return 0;

}

قسم في طالب معدل يطبع و يحسب برنامج / اكتب تمرين؟ الحاسب

قسم في طالب معدل يطبع و يحسب برنامج / اكتب تمرين؟ مقررات عشر في الحاسب

للعدد الضرب جدول يطبع و يحسب برنامج ( : اكتب2) مثال ؟n الصحيح

: الحل#include<stdio.h>#include<conio.h>

20

Page 21: c Program Ok

main) ({int n,x,i=1;

clrscr;) (printf("Enter Number Of Values:\t");scanf("%d",&n);printf("\nEnter Integer:\t");scanf("%d",x);

for(i=1;i<=n;i++){printf("\n%d*%d=%d"x,i,x*i);

}getch;) (

return 0;}

: الالنهائية الحلقة الشكل تأخذ و منتهي غير بشكل الجملة تنفيذ تكرار معناها و

.;break عبارة نستخدم منها للخروج . و);;(for التالي

21

Page 22: c Program Ok

ال أنه طالما المدخل العدد مكعب يطبع برنامج ( : اكتب1) مثال؟ الصفر يساوي

: الحل#include<stdio.h>#include<conio.h>

main) ({int x;

clrscr;) (for);;(

{printf("Enter aValue:\t");scanf("%d"&x);

if(x==0)break;printf("\n%d Cube Is %d\n",x,x*x*x);

}getch;) (

return 0;}

while ( حلقة2)

22

Page 23: c Program Ok

الجمل من مجموعة أو جملة تنفيذ لتكرارwhile حلقة تستخدم قيمة تكون عندما التنفيذ يتوقف و المرات من معلوم غير عدد

. الحلقة في صحيحة غير الشرط

: whileلحلقة العامة الصيغةواحدة عبارة حالة / في1

while(condition)statement;

: مثلwhile(n!=0)

z=x/n ;

عبارة من أكثر حالة / في2while(condition) {

statement1 ;statemente2 ;

}

: مثلwhile(c<=5) {

n*=c ;c ;++

}

23

Page 24: c Program Ok

مقررات عشر في طالب درجات يدخل برنامج ( : اكتب1) مثال؟ المتوسط يطبع و يحسب ثم

: الحل#include<stdio.h>#include<conio.h>

main) ({int i=1,grade,sum=0;float average;

clrscr;) (while(i<=10){printf("Enter The Grade%d:\t",i);scanf("%d"&grade);sum+=grade;

}average=sum/10.0;printf("Total=%d\nAverage=%f",sum,average);

getch;) (return 0;

}

24

Page 25: c Program Ok

do … while ( حلقة3) نهاية في موجود الشرط ألن األقل على واحدة مرة تنفيذها يتم

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

المنقوطة الفاصلة نستخدمdo … while عبارة في أنه نالحظ و .while بعد

: العامة الصيغة واحدة عبارة حالة / في1

do statemente ;

while(condition) ;

: مثلdo

printf("%d",i) ;while(++i<=5) ;

عبارة من أكثر حالة / في2do

{statemente1 ;statemente2 ;

}while(condition) ;

: مثلdo

{printf("%d",i) ;

sum+=i ; }

while(++i<=5) ;

25

Page 26: c Program Ok

؟10 إلى1 من األعداد يطبع برنامج ( : اكتب1) مثال: الحل

#include<stdio.h>#include<conio.h>

main) ({int i=1;

clrscr;) (doprintf("%d,",i);while(++i<=10);

getch;) (return 0;

}

؟10 إلى1 من األعداد جمع حاصل برنامج ( : اكتب2) مثال: الحل

#include<stdio.h>#include<conio.h>

main) ({int i=1,sum=0;

clrscr;) (do{sum+=i;

i;++}while(i<=10);printf("\nsum=%d",sum);

getch;) (return 0;

}

26

Page 27: c Program Ok

:Nested loopالمتداخلة الحلقات التالي الشكل يطبع برنامج ( : اكتب1) مثال

* ** *** ****

؟ الحلقات باستخدام : الحل

#include<stdio.h>#include<conio.h>

main) ({int i,j;

clrscr;) (for(i=1;i<=4;++i){for(j=1;j<=I;j++)

printf;)"*"(printf("\n");

}getch;) (

return 0;}

عدد بإدخال المستخدم يقوم بحيث السابق المثال / عدل تمرين ؟n األعمدة و الصفوف

27

Page 28: c Program Ok

مرةn العدد مضروب يطبع و يحسب برنامج ( : اكتب2) مثال مرة و ،while حلقة بإستخدام مرة و ،for حلقة بإستخدام . ؟do … while حلقة بإستخدام

: الحلfor حلقة : باستخدام أوال

#include<stdio.h>#include<conio.h>

main) ({int n,fact=1;

clrscr;) (printf("Enter N:\t");scanf("%d",&n);

for(i=1;i<=n;i++)fact=fact*i;printf("%d!=%d",n,fact);

getch;) (return 0;

}

؟ السابق المثال حل أكمل

28

Page 29: c Program Ok

العبارات بعضالمهمة

: المهمة العبارات بعضbreak; ( : عبارة1)

العبارة إلى االنتقال و الحلقة من للخروج;break عبارة تستخدم. تليها التي

29

Page 30: c Program Ok

عدد هو هل يطبع ذلك بعد و صحيح رقم يدخل برنامج : اكتب مثال؟ ال أم أولي

الحل:#include<stdio.h>#include<conio.h>

main) ({int i,n;

clrscr;) (printf("Enter N:\t");scanf("%d",&n);

for(i=2;i<n;i++)if(n%i==0)break;

if(i<n)printf("%d Is Not Prim\n",n);

elseprintf("%d Is Prim\n",n) ;

getch;) (return 0;

}

continue ( عبارة2) بداية إلى التحكم تعيد و دائما الحلقات معcontinue عبارة تستخدم .;break عبارة بعكس الحلقة

30

Page 31: c Program Ok

تحتوي ال مدخلة أرقام10 جمع حاصل يحسب برنامج : اكتب مثال؟ الصفر على: الحل

#include<stdio.h>#include<conio.h>

main) ({int n,i=1,sum=0;

clrscr;) (while(i<=10){printf("Enter N%d:\t",i);scanf("%d",&n);

if(n==0)continue;sum+=n;

i;++printf("sum=%d\n",sum);

}getch;) (

return 0;

goto ( عبارة3). البرنامج داخل التنقل أو الحلقة من للخروجgoto عبارة تستخدم

31

Page 32: c Program Ok

التي الثانية الدرجة من معادلة جذور يحسب برنامج : اكتب مثال بالعالقة تعطى

بالعالقة الجذور تعطى و حقيقة ثوابت عن عبارةa,b,c حيثX=-b

#include<stdio.h>#include<conio.h>#include<math.h>

main) ({float a,b,c;float x1,x2;

clrscr;) (printf("Enter a,b,c:\t");scanf("%f%f%f",&a,&b,&c);d=pow(b,2)-4*a*c;

if(d>0){Printf("There Exit Un equal Real Root\n");goto k;

}elseif(d==0){printf("There Exit Equal Real Root\n");goto k;

}else{printf("There Exit an equal Imajnay Root\n");

}goto j;k:x1=(-b+sqrt*(d))/2*a;

: السابق المثال حل تابع

32

Page 33: c Program Ok

x2=(-b+sqrt*(d))/2*a;j:

getch;) (return 0;

33

Page 34: c Program Ok

الدوال(Functions)

:(Functions) الدوال نوعين إلى البرمجة لغات في الدوال تصنف

Library Functions مكتبة / دوال1 الجدول و ، المكتبية الدوال من الكثير على السي لغة تحتوي االستخدام شائعة المكتبية الدوال بعض يوضح التالي

التوجيه ملفالغرضالنوعالدالة

abs(I)صحيح

stdio.h المطلقةI قيمة تعيد

log(d)مزدوج

الطبيعي اللوغارتم تعيدd للعدد

math.h

pow(d1,d2)مزدوج

للعدد مرفوعاd1 العدد تعيدd2

math.h

sqrt(d)مزدوج

dmath.h للعدد التربيعي الجذر تعيد

rand) (صحيح

صحيحا عشوائيا رقما تولدموجبا

stdio.h

sin(d)مزدوج

d math.hالزاوية جيب تعيد

34

Page 35: c Program Ok

cos(d)مزدوج

dmath.h الزاوية تمام جيب تعيد

tan(d)مزدوج

dmath.h الزاوية ظل تعيد

printf) (صحيح

إلى بيانات عناصر ترسلنمطية مخرجات وحدة

stdio.h

putchar) (صحيح

وحدة إلى واحدا رمزا ترسلنمطية مخرجات

stdio.h

puts) (صحيح

إلى حرفية عبارة ترسلنمطية مخرجات وحدة

stdio.h

scanf) (صحيح

إلى بيانات عناصر تدخلنمطية مدخالت وحدة

stdio.h

getchar) (صحيح

وحدة إلى واحدا رمزا تدخلنمطية مدخالت

stdio.h

gets) (صحيح

إلى حرفية عبارة تدخلنمطية مدخالت وحدة

stdio.h

fmod(d1,d2)مزدوج

d2 علىd1 قسمة باقي تعيدd2 إشارة نفس وله

math.h

strcpy(s1,s2)السلسلة تنسخحرف s1في s2السلسلة

string.h

getch) (صحيح

واحد حرف إلدخال تستخدمالشاشة على يظهر ال

conio.h

clrscr) (صحيح

عند الشاشة لمسح تستخدمالتنفيذ

conio.h

tolower(c)صحيح

إلى الكبير الحرف تحولصغير حرف

stdio.h

كبير حرف إلى الصغير الحرف يحول برنامج : اكتب مثال؟ الدوال باستخدام

: الحل#include<stdio.h>#include<conio.h>

main) ({int lower,upper;

clrscr;) (lower=getchar;) (

upper=toupper(lower);

35

Page 36: c Program Ok

putchar(upper);getch;) (

return 0;}

User Functions المستخدم / دوال2 تسمح و ، الخاصة دوالهم بتصميم للمبرمجين السي لغة تسمح

البرنامج بتجزئة المستخدم قبل من المعرفة الدوال باستخدام و وحيد و فريد غرض منهما لكل ، صغيرة مكونات إلى الكبير

. معروف

: البرنامج في الدالة وصف#include<stdio.h>#include<conio.h>

36

Page 37: c Program Ok

F1( ); /*declaration/*main) (

{____

F1( ); /*function call/*____}

F1( ); /*function body/*{____}

: للدالة العام الشكلreturn-type function(parameters);

{declarationstatements;

}

: أمثلة؟ رقمين متوسط تحسب دالة ( : أنشئ1) مثال

float average (float a,float b){float sum,avr;sum=a+b;avr=sum/2;

37

Page 38: c Program Ok

return avr;}

المستخدم إنشاء من دالة على يحتوي برنامج ( اكتب2) مثال؟ رقمين متوسط تحسب

: الحل

#include<stdio.h>#include<conio.h>

float average(float a, float b);main) (

{float x,y,z;

clrscr;) (printf("Enter Three Numbers :\t");scanf("%f%f%f",&x,&y&z);printf("Averag Of %f And %f =%f",x,y,average(x,y));printf("Averag Of %f And %f =%f",x,z,average(x,z));printf("Averag Of %f And %f =%f",y,z,average(y,z));

getch;( )return 0;

}float avreag(float a, float b);

{return (a+b)/2;

}

؟ العدد مربع تحسب دالة ( : أنشئ3) مثال: الحل

int square(int y){return y*y;

38

Page 39: c Program Ok

}

إنشاء من أسية دالة على يحتوي برنامج ( : اكتب4) مثال؟ المستخدم

: الحل

#include<stdio.h>#include<conio.h>

int squar(int y);main) (

{int x;

clrscr;) (for(x=1;x<=10;x++)printf("%d*%d=%d\n",x,x,square(x));

getch;( )return 0;

}int square(int y);

{return y*y;

}

؟ أسية دالة ( : أنشئ5) مثال: الحل :for حلقة : باستخدام أوال

int power(int x, int n)

39

Page 40: c Program Ok

{int I, result=1;

for(i=1;i<=n;i++)result=result*x;return result;

}

:while حلقة : باستخدام ثانياint power(int x, int n){int I, result=1;

while(n--0)result=result*x;return result;

}

استخدام من أسية دالة على يحتوي برنامج ( : اكتب6) مثال؟ المستخدم

: الحل

#include<stdio.h>#include<conio.h>

int power(int x, int n);

main) ({int a,b,p;

clrscr;) (printf("Enter Two Numbers :\t");scanf("%d%d",&a,&b);p=power(a,b);printf("%d Power %d = %d",a,b,p);

: السابق المثال حل تابع

40

Page 41: c Program Ok

getch;( )return 0;

}int power(int x, int n){int I, result=1;

for(i=1;i<=n;i++)result=result*x;return result;

}

ثالثة بين منmax العظمى القيمة تحسب دالة ( : أنشئ7) مثال؟ أعداد: الحل

int maximum(int x, int y, int z);{int max=x;

if(y>max){max=y;

}if(z>max){max=z;

}return max;

}

41

Page 42: c Program Ok

العظمى القيمة تحسب دالة على يحتوي برنامج ( : اكتب8) مثال؟ المستخدم إلنشاء من أعداد ثالثة بين من

: الحل#include<stdio.h>#include<conio.h>

int maximum(int x, int y,int z);main) (

{int x,y,z;

clrscr;) (printf("Enter Three Numbers :\

t");scanf("%d%d%d",&x,&y,&z);printf("% The maximum = %d",maximum(x,y,z));

getch;( )return 0;

}int maximum(int x, int y, int z);

{int max=x;

if(y>max){max=y;

}if(z>max){max=z;

}return max;

}

42