Programming Lec 03
Programming Lec 03
2 */ % multiplicative Left-to-right
3 + - additive Left-to-right
6 != == equality Left-to-right
9 | bitwise OR Left-to-right
11 || logical OR Left-to-right
14 , comma Left-to-right
Program 1 اﻟﺘﻨﻔﯿﺬ
/* my first program in C */ C is Good Language
#include <stdio.h>
main ( )
{
printf ( "C is Good Language" ) ;
}
Program 2 اﻟﺘﻨﻔﯿﺬ
#include <stdio.h> 5–2=3
main ( )
{
int a, b ;
float result ;
a=5;
b=2;
result = a – b ;
printf ( "%d - %d = %f" ,a ,b ,result) ;
}
ﺑﻌﺪ اﻻﻃﻼع ﻋﻠﻰ اﻟﻤﺜﺎﻟﯿﻦ اﻋﻼه،ﯾﻤﻜﻨﻨﺎ اﻻن ﺷﺮح ھﯿﻜﻠﯿﺔ اﻟﺒﺮﻧﺎﻣﺞ ﺑﻠﻐﺔ ، Cﺣﯿﺚ أن ھﺬه اﻟﮭﯿﻜﻠﯿﺔ ﺗﺘﺄﻟﻒ ﻣﻦ :
اﻟﺼﯿﻐﺔ اﻟﻌﺎﻣﺔ
) (main
{
; Program Body
}
ﺿﻤﻦ ﻣﻠﻒ اﻟﻌﻨﻮان ،stdio.hوھﺬه اﻟﺪاﻟﺔ ﺗﺄﺧﺬ اﻟﻤﻌﻄﯿﺎت ﻣﻦ ﻟﻮﺣﺔ اﻟﻤﻔﺎﺗﯿﺢ وﺗﺨﺼﺼﮭﺎ ﻻﺳﻤﺎء ﻣﺘﻐﯿﺮات ،ﺣﯿﺚ ﯾﻤﻜﻦ اﺳﺘﺨﺪاﻣﮭﺎ ﻓﻲ اﻟﺒﺮﻧ ﺎﻣﺞ ﻓﯿﻤ ﺎ
ﺑﻌﺪ .
اﻟﻤﻌﻨﻰ اﻟﻤﺆﺛﺮ
) (2اﻻﺧﺮاج -:ﺗﺴﺘﺨﺪم اﻟﺪاﻟﺔ ) ( printfﻻﺧﺮاج اﻟﺒﯿﺎﻧﺎت ﻋﻠﻰ وﺣﺪة اﻻﺧﺮاج اﻟﻘﯿﺎﺳﯿﺔ)اﻟﺸﺎﺷﺔ( ،وھﺬه اﻟﺪاﻟﺔ ﻣﻮﺟ ﻮدة ﺿ ﻤﻦ ﻣﻠ ﻒ اﻟﻌﻨ ﻮان
. stdio.h
ﻣﻼﺣﻈﺔ) -:(2.4.3اﻟﺒﺮﻧﺎﻣﺞ اﻟﺠﯿﺪ ھﻮ اﻟﺒﺮﻧﺎﻣﺞ اﻟﺬي ﺗﻜﻮن ﻣﺨﺮﺟﺎﺗﮫ ﻣﻨﺴﻘﺔ وذات ﺗﻮﺻﯿﻒ ﺟﯿﺪ ﻟﻠﺒﯿﺎﻧﺎت.
أﻣﺎ : arg_1, arg_2, arg_3, ….. ,arg_nﻓﮭﻲ ﻋﻨﺎﺻﺮ اﻟﺒﯿﺎﻧﺎت ،وھ ﻲ اﺧﺘﺼ ﺎر ﻟﻜﻠﻤ ﺔ اﻻدﻟ ﺔ) (Argumentsوﯾﻤﻜ ﻦ أن ﺗﻜ ﻮن
ھﺬه اﻻدﻟﺔ ﺛﻮاﺑﺖ ﻋﺪدﯾﺔ أو ﻣﺘﻐﯿﺮات ﻣﻦ اﻟﻨﻮع )اﻟﺼﺤﯿﺢ – اﻟﺤﻘﯿﻘﻲ –اﻟﺤﺮﻓﻲ( اﻟﻤﻄﻠﻮب ﻃﺒﺎﻋﺘﮭﺎ ﻋﻠﻰ اﻟﺸﺎﺷﺔ ،وﻋﻠ ﻰ أن ﺗﻔﺼ ﻞ اﻻدﻟ ﺔ ﻋ ﻦ
ﺑﻌﻀﮭﺎ ﺑﻮاﺳﻄﺔ ﻓﻮاﺻﻞ .
ﻣﻼﺣﻈﺔ) -:(2.4.4ھﻨﺎك ﺑﻌﺾ اﻟﺮﻣﻮز اﻟﺨﺎﺻﺔ ،ﯾﻄﻠﻖ ﻋﻠﯿﮭﺎ أﺣﯿﺎﻧﺎً )رﻣﻮز اﻟﮭﺮوب( ،و اﻟﻤﻤﻜﻦ اﺳﺘﺨﺪاﻣﮭﺎ ﻣﻊ داﻟﺔ اﻻﺧﺮاج ) ( printfﻟﻠﺘﺤﻜﻢ
ﻓﻲ اﻟﻤﺨﺮﺟﺎت أو اﻟﻄﺒﺎﻋﺔ ﻋﻠﻰ اﻟﺸﺎﺷﺔ ،وھﺬه اﻟﺮﻣﻮز ﯾﻤﻜﻦ أن ﺗﻮﺿﻊ ﺿﻤﻦ اﻟﺘﻮﺻﯿﻔﺎت) (Formatأو ﺑﺼﻮرة ﻣﻨﻔﺮدة وﻓﻲ ﺣﺎﻟﺔ ﻛﺘﺎﺑﺘﮭﺎ ﺑﺼ ﻮرة
ﻣﻨﻔﺮدة ﻓﯿﺠﺐ وﺿﻌﮭﺎ داﺧﻞ ﻋﻼﻣﺔ اﻟﺘﻨﺼﯿﺺ اﻟﻤﺰدوﺟﺔ)" "( وھﻲ ﻛﺎﻻﺗﻲ :
\n اﻻﻧﺘﻘﺎل اﻟﻰ ﺳﻄﺮ ﺟﺪﯾﺪ \f اﻻﻧﺘﻘﺎل اﻟﻰ ﺻﻔﺤﺔ ﺟﺪﯾﺪة
ﻣﺜﺎل)-: (2.4.5
Program اﻟﺘﻨﻔﯿﺬ
>#include <stdio.h Hello World! I'm a C program
) ( main
{
;)" !printf ("Hello World
; )"printf ("I'm a C program
}
ﻧﻼﺣﻆ ﻣﻦ ﺧﻼل ھﺬا اﻟﻤﺜﺎل أن اﻟﺘﻔﯿﺬ ﻗﺪ أﻇﮭﺮ اﻟﻄﺒﺎﻋﺔ ﻟﻠﻌﺒﺎرﺗﯿﻦ ﺑﺴﻄﺮ واﺣﺪ ،وھﺬا ﺗﻨﺴﯿﻖ ﻏﯿﺮ ﺟﯿ ﺪ ﻟﻠﻄﺒﺎﻋ ﺔ اذ اﻧﻨ ﺎ ﻧﺮﯾ ﺪ ﻃﺒﺎﻋ ﺔ ﻛ ﻞ ﻋﺒ ﺎرة ﺑﺴ ﻄﺮ
واﺣﺪ ﻣﺴﺘﻘﻞ ﻋﻦ اﻟﺴﻄﺮ اﻻﺧﺮ ،ﻟﺬﻟﻚ ﺳﻮف ﻧﺴﺘﺨﺪم اﻟﺮﻣﻮز \nﻟﮭﺬا اﻟﻐﺮض .
Program اﻟﺘﻨﻔﯿﺬ
>#include <stdio.h !Hello World
) ( main I'm a C program
{
;)" printf ("Hello World!\n
; )"printf ("I'm a C program
}
ﻣﺜﺎل) -:(2.4.6أﻛﺘﺐ ﺑﺮﻧﺎﻣﺠﺎً ﻟﺤﺴﺎب وﻃﺒﺎﻋﺔ ﻣﺴﺎﺣﺔ وﻣﺤﯿﻂ داﺋﺮة ﻧﺼﻒ ﻗﻄﺮھﺎ . r =5.2
Program اﻟﺘﻨﻔﯿﺬ
/* calculate area and circumference */ The Area of circle =84.948663
>#include <stdio.h The Circumference of circle =32.672563
)( main
{
; const double PI=3.1415926
;float r=5.2
; double area ,circumference
; area = PI * r * r
; circumference = 2 * PI * r
; ) printf("The Area of circle =%f" ,area
; )printf("\n The Circumference of circle =%f",circumference
}
. ﺛﻢ ﺣﺴﺎب وﻃﺒﺎﻋﺔ ﻣﺤﯿﻂ وﻣﺴﺎﺣﺔ ھﺬا اﻟﻤﺴﺘﻄﯿﻞ، اﻟﻤﻄﻠﻮب ﻛﺘﺎﺑﺔ ﺑﺮﻧﺎﻣﺞ ﻻدﺧﺎل اﻟﻄﻮل واﻟﻌﺮض ﻟﻤﺴﺘﻄﯿﻞ ﻣﺎ-:(2.4.7)ﻣﺜﺎل
Program اﻟﺘﻨﻔﯿﺬ
#include <stdio.h> Length= 20
main() Width= 15
{ Perimeter is 70
int length, width ; Area is 300
int perimeter, area ;
printf("Length =") ;
scanf("%d",&length) ;
printf("\n Width =") ;
scanf("%d",&width) ;
perimeter = 2*(length+width) ;
area = length*width ;
printf("Perimeter is %d " ,perimeter) ;
printf("\n Area is %d", area) ;
}
. وﺣﺴﺎب وﻃﺒﺎﻋﺔ ﻣﻌﺪل اﻟﻄﺎﻟﺐ،( 77 82 69 95 ) أﻛﺘﺐ ﺑﺮﻧﺎﻣﺠﺎً ﻟﻘﺮاءة درﺟﺎت ﻃﺎﻟﺐ ﻓﻲ أرﺑﻌﺔ ﻣﻮاد-:(2.4.8)ﻣﺜﺎل
Program اﻟﺘﻨﻔﯿﺬ
#include <stdio.h> Enter Four Degrees : 77 82 69 95
main() The Average of Student is 80.75
{
int d1, d2, d3, d4, sum = 0 ;
float average ;
printf("Enter Four Degree : ") ;
scanf("%d%d%d%d",&d1,&d2,&d3,&d4) ;
sum =(d1+d2+d3+d4) ;
average = sum/4 ;
printf("\n") ;
printf("The Average of Student is %f ", average ) ;
}
: ﻟﺬﻟﻚ ﯾﻤﻜﻦ أﻋﺎدة اﻟﻤﺜﺎل اﻋﻼه ﺑﺎﻟﺒﺮﻧﺎﻣﺞ اﻻﺗﻲ، داﺋﻤﺎ ﯾﺒﺤﺚ ﻋﻦ ﻛﺘﺎﺑﺔ ﺑﺮﻧﺎﻣﺠﺔ ﺑﺄﻗﻞ اﻟﺨﻄﻮات، اﻟﻤﺒﺮﻣﺞ اﻟﺠﯿﺪ-:(2.4.9)ﻣﻼﺣﻈﺔ
Program اﻟﺘﻨﻔﯿﺬ
#include <stdio.h> Enter Four Degrees : 77 82 69 95
main() The Average of Student is 80.75
{
int d1, d2, d3, d4 ;
cout << "Enter Four Degree : " ;
scanf("%d%d%d%d",&d1,&d2,&d3,&d4) ;
printf("\n The Average of Student is %f " << (d1+d2+d3+d4)/4 ;
}
ﺗﻤﺮﯾﻦ -: 2أﻛﺘﺐ ﺑﺮﻧﺎﻣﺠﺎً ﯾﻘﺮأ درﺟﺔ اﻟﺤﺮارة ﺑﺎﻟﺪرﺟﺔ اﻟﻔﮭﺮﻧﮭﺎﯾﺘﯿﺔ ،ﺛﻢ ﯾﻄﺒﻌﮭﺎ ﺑﺎﻟﺪرﺟﺔ اﻟﻤﺌﻮﯾﺔ ﻣﺴﺘﺨﺪﻣﺎً اﻟﻤﻌﺎدﻟﺔ )C = ( F – 32
ﺗﻤﺮﯾﻦ -: 3أﻛﺘﺐ ﺑﺮﻧﺎﻣﺠﺎً ﻻدﺧﺎل ﻗﯿﻢ ﺣﻘﯿﻘﯿﺔ ﻟﻠﻤﺘﻐﯿﺮات ، x , y , z , wوﺣﺴﺎب وﻃﺒﺎﻋﺔ ﻛﻞ ﻣﻤﺎ ﯾﺎﺗﻲ :
ﺗﻤ ﺮﯾﻦ -: 4أﻛﺘ ﺐ ﺑﺮﻧﺎﻣﺠ ﺎً ﻟﻘ ﺮاءة اﻟﻌﺠﻠ ﺔ اﻟﺜﺎﺑﺘ ﺔ Aواﻟ ﺰﻣﻦ ، Tﺛ ﻢ أﺣﺴ ﺐ وأﻃﺒ ﻊ اﻟﻤﺴ ﺎﻓﺔ Dواﻟﺴ ﺮﻋﺔ اﻟﻨﮭﺎﺋﯿ ﺔ ، Vاذا ﻋﻠﻤ ﺖ أن
D=0.5Aوأن اﻟﺴﺮﻋﺔ اﻟﻨﮭﺎﺋﯿﺔ ھﻲ . V=AT
Program
>#include <stdio.h
) ( main
{
; short a,b,c
; short d,e
; d=e=30
; a=4
; b=--a+1
; c=++a + b++
;) printf( "A=%d \t B=%d \t C=%d\n",a,b,c
; c+=--a + --b
; )a=b=c-(a*b
; d/=a+b
; e=e/a +b
; )printf( "\n D=%d \t E=%f" ,d,e
}
ﺗﻤﺮﯾﻦ -: 6أﻛﺘﺐ ﺑﺮﻧﺎﻣﺠﺎً ﻻدﺧﺎل اﻟﺠﻨﺲ) (Sexوﻓﺼﯿﻠﺔ اﻟﺪم ﻟﺰوﺟﯿﻦ ،وأﻇﮭﺎر اﻟﻨﺘﺎﺋﺞ ﻛﺎﻻﺗﻲ
SEX BLOOD SPECIES
M A+
F O+