c Program Ok

Post on 19-Jun-2015

232 views 0 download

description

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

Transcript of c Program Ok

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

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

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

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

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

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

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

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

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

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

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

. المختلفة

1

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

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

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

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

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

. األسطر

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

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

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

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

طويل صحيحLong

4

Float4 حقيقي

مضاعف حقيقيDouble

8

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

: التالية للشروط المتغير اسم يخضع أن مالحظة يجب و ، بحرف المتغير اسم يبدأ أن يجب(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

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

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

التخصيص ( معامالت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

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

مرة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

: الحل#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

: الحل#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

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

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

: أنواعها

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

. تجاهلها يتم

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

10

واحدة عبارة حالة / في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

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

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

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

: الشرطي التعبير لجملة العامة الصيغة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

داخل التعبير قيمة على اعتمادا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

: السابق المثال شرح العبارة لتنفيذ ينتقل ثم ،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

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

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

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

for ( : حلقة1)

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

18

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

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

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

ال أنه طالما المدخل العدد مكعب يطبع برنامج ( : اكتب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

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

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

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

while(condition)statement;

: مثلwhile(n!=0)

z=x/n ;

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

statement1 ;statemente2 ;

}

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

n*=c ;c ;++

}

23

مقررات عشر في طالب درجات يدخل برنامج ( : اكتب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

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

؟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

: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

مرة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

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

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

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

29

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

الحل:#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

تحتوي ال مدخلة أرقام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

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

بالعالقة الجذور تعطى و حقيقة ثوابت عن عبارة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

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

getch;) (return 0;

33

الدوال(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

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

putchar(upper);getch;) (

return 0;}

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

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

. معروف

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

36

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

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

}

إنشاء من أسية دالة على يحتوي برنامج ( : اكتب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

{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

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

العظمى القيمة تحسب دالة على يحتوي برنامج ( : اكتب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