0% found this document useful (0 votes)
62 views

WWW Worldbook Ir

This document is a study guide for computer science students prepared by Ali Chodari Khosroshahi. It provides an overview of topics like algorithms and flowcharts, arrays, C programming basics like data types and operators, program structure and input/output functions in C, loops and decision structures, functions, and memory classes. The author notes that the study guide was hastily prepared so there may be errors and asks students to point out any issues.

Uploaded by

Ha Sh
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
62 views

WWW Worldbook Ir

This document is a study guide for computer science students prepared by Ali Chodari Khosroshahi. It provides an overview of topics like algorithms and flowcharts, arrays, C programming basics like data types and operators, program structure and input/output functions in C, loops and decision structures, functions, and memory classes. The author notes that the study guide was hastily prepared so there may be errors and asks students to point out any issues.

Uploaded by

Ha Sh
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 66

www.worldbook.

ir


.
.
.
[email protected]

Email: [email protected] and


) (

www.worldbook.ir

-1-1

-2-1

-1-2-1
-2-2-1
-3-2-1
-4-2-1
-5-2-1 )(
-6-2-1

-3-1

7
7
7
8
8
9
14
14
14
15

-1-3-1
-2-3-1
-3-3-1

: 2 C

19

-1-2

20

-2-2

20

-3-2

20

-4-2 C

20

-5-2

20

-6-2

21

-7-2

21
22
23
23
24
24
24
25
25

-1-7-2
-2-7-2
-3-7-2
-4-7-2
-5-7-2
-6-7-2 & *
-7-7-2 ?
-8-7-2 sizeof

-8-2

25

-3 C /
-1-3

www.worldbook.ir

26
26

-1-1-3 )(printf
-2-1-3 )(scanf
-3-1-3 )( getch )(getche
-4-1-3 )(getchar
-5-1-3 )( putch )(putchar

-4

26
28
28
29
29
30

-1-4 for

30

-2-4

31

-3-4 while

32

-4-4 dowhile

32

-5-4 if

33

-6-4 break

34

-7-4 continue

34

-8-4 switch

34

-5
-1-5

36
36

-1-1-5
-2-1-5
-3-1-5

-2-5

38
40
40
42
43
43
43
44

-1-2-5
-2-2-5
-3-2-5
-4-2-5

-6

45

-1-6

46

-2-6

47

-1-2-6
-2-2-6

-3-6

48

-1-3-6
-2-3-6

48
48

-4-6

49

-1-4-6

-5-6

47
47

www.worldbook.ir

49
49

-6-6 n

49

-7-6

50

-1-7-6
-2-7-6
-3-7-6
-4-7-6
-5-7-6
-6-7-6
-7-7-6

-7

50
50
50
52
52
52
52
53

-1-7

53

-2-7

53

-1-2-7
-2-2-7

54
54

-3-7

55

-4-7

55

-5-7

55

-6-7

57

-7-7

57

-8-7

58

-9-7 )(main

58

-8

60

-1-8

60

-2-8

61

-3-8

62

-4-8

62

-5-8

63

www.worldbook.ir

www.worldbook.ir

-1
-1-1
.
.
: 1 a,b .

Start
)Input(a,b
c a+b
)Output (c
End

Start
)Input(a
Input a,b
)Input(b
)Output (a+b
End

1.
2.
3.
4.
5.

1.
2.
3.
4.
5.

: 1 .1

start end
.
:2 aX 2 + bX + c = 0 2 .
: = b 2 4ac .
(1 > 0
(2 = 0

b+
b
= , x2
2a
2a
b
= x1 , x2
2a

= x1

(3 < 0 .

1. start
2. input a,b,c
goto 2

3. if a=0 then
4. b2-4ac

b+
b
, x2
) , output( x1 , x 2
2a
2a
)output (not result
b
x1 , x 2
) , output( x1 , x 2
2a

x1

5. if >0 then

then

6. if <0

then

7. if =0
8. end

: 2 2

www.worldbook.ir

1.
2.
3.
4.
5.

start
input a,b,c
if a=0 then goto 2
b2-4ac
if <0 then goto 10
b+
6. x1
2a
b
7. x 2
2a
) 8. output( x1 , x 2
9. goto 11
)10. output (not result
11. end
: 3 2

9. start
10. input a,b,c
11. if a=0 then goto 2
12. b2-4ac
)13. if <0 then output (not result
b+
b
, x2
)
14. if 0 then output ( x1
2a
2a
15. end
: 4 2

a .
: 3 a b .

1. start
)2. input (a,b
3. if b<0 goto 2
4. c1 , i 1
5. if i>b then goto
6. c c a
7. i i+1
8. goto 5
) 9. output ( c
10. end

: 5 a b

www.worldbook.ir

2
do

start
input a,b
if b<0 goto
c 1
for i=1 to b
cac
end for
output
end

1.
2.
3.
4.
5.
6.
7.
8.
9.

: 6 a ) for (

-2-1
)(
.
: .
:
-1-2-1

end .
Start
End

End

: 7

-2-2-1

. .
:
C 25
C A-B
I1


: 8

-3-2-1
.

www.worldbook.ir

a , b , c .
b a c

a, b, c

: 9

-4-2-1
) ( ) T( ) F(
. 10-A a<b
f , t . 10-B a .
.

)( > 0

) < 0(

a<b

)( = 0

)(B

)(A

: 10 (A (B

-5-2-1 )(
. 11
. a,b,c .

a,b,c

:11 b a c

www.worldbook.ir

-6-2-1

.

A
A

:4 1
:5 ax2+bx+c .

Start

Start
a,b

a,b,c

ca+b

a=0

F
Db2-4ac

End
Start

a,b

b+ D
2a

= x1

b D
2a

= x2

>0

x1 , x2

a+b

<0

""not result

=0
b
=x
2a
x

End

End

:12 1

:13 ) 2 (2

www.worldbook.ir

Start

a,b,c

a=0
F
Db2-4ac

b+ D
2a
b D
= x2
2a
= x1

D0
F
""not result

x1 , x2

End
:14 ) 2 (4

:6 a , b , c .
:7 n .
17 16 18 .

: 8 .

1 1
1
1
+ +L+
+
!1! 2
!(n 1)! n

e = 1+

: ! n

1. n!=1*2*3**n
2. n!=(n-1)!*n
19

www.worldbook.ir

10

: 9 .

1 1
1
+ + L + (1) n 1
ni
!2! 3

:10 .

x2 x4 x6
x2n
+

+ L + (1) n
!2! 4! 6
!)(2n

e = 1

cos x = 1

: x n ! n .

x n = ( x n 2 ) x x n!= (n 2)!(n 1) n
:11 n .
1,1,2,3,5,8,13,. . .

Start

Start

a,b,c
ta
ab
bt

ta
ac
ct

tb
bc
ct

I1
S 0
K 0

a<b
F

R n-[nI]I

a<c
F

K K+1
S S+1

b<c

II+1

F
a,b,c
End
:15 6

R =0

K,S

In
T

End

:16 7

www.worldbook.ir

11

Start
n
S n+1
I2
K2
I

n
2

K,S

End

T
M n-I [n I ]

M=0

S S+I
K K+1

F
II+1
7 :17

Start
n
S0
I1
K2

K,S

End

S S+I
K K+1

n
I
I

T
M n-I [n I ]

M=0

n
I
k k+1
S S+

II+1

7 :18

12

www.worldbook.ir

Start
n
e1
i2
f1
F

End

i 1 n

in
T
f fi
)ee+(1/f
ii+1

:19 8

e1
i2
f1
s1

e1
s-1
p1
f1
c1
i2

in

End

f fi
)s s(-1
))e e+(s(1/f
i i+1

i2n
T
p pxx
ff+(i-1)i
))cc+(s(pf
)s s(-1
ii+2

End

:20 9

i 2 2n

i 2 n

Start

Start

:21 10

www.worldbook.ir

13

Start
n
1,1
a1=1
a2=1
i 3
End

in
T
a3 a1+a2
a1 a2
a2 a3
i i+1

a3

:22 11

-3-1 ) (

0 1
C 0 .
.
-1-3-1
A .

0
7

5
6

A(2) 5 5 ) 2 ( A A(7) 0
0 ) 7 ( A .
-2-3-1
.
) A(4,1 4 1

www.worldbook.ir

14

A
0
1
2

)A (2,2

3
4
) A(4,1
-3-3-1

.

)A (0,0,0



.
.
.
34
12 ) (34=12.
3

0
0

11

10

) A(m,n
.

I = (Y m) + n


= I
= Y
m = n

www.worldbook.ir

15

) A(1,2 :

I = (4 1) + 2 I = 6

:12 n 2.
:13 n ) n ( a,b
a,b a,b c,d .
A: A0,A1,A2,. . . ,An-1
B: B0,B1,B2,. . . ,Bn-1
)A+ B =( A1+ B1 , A2+ B2 , . . . ,An + Bn
)A - B =( A1 - B1 , A2 - B2 , . . . ,An - Bn
)A . B =( A1. B1 + A2. B2 + . . . +An . Bn
:14 n .
:15 N N N

.

i i -1

A0,A1,,A i-1

)A(i

i0

i i -1

A(i) n MOD 2
]n [n2
i i+1

Start
n
i1

i>= 0
F
End

n2i
F

n= 0

I I +1

F
n 2

.

:23 12

www.worldbook.ir

16

Start
n

C1,C2,,Cn-1
D1,D2,,Dn-1

i0

A1,A2,,An-1
B1,B2,,Bn-1

B(i) , C(i)

i0
s0

i0

i i +1

C(i) A(i)+B(i)
D(i) A(i)-B(i)
s s+A(i).B(i)
i i+1

x,y
A (i) x
B (i) y
i i +1

i<n
F
S

i<n
F

i<n

End

13 :24

Start
B

i0

A0,A1,. . . ,An-1

A(i)
i2
A(0) 1
A(1) 1

i i +1

A(i) A(i-2)+A(i-1)

i<n

ii+1

I<n

F
T

End

14 :25

17

www.worldbook.ir

Start
n

s s+A(i)
i i+1
T

i<n
F

A0,A1,,A n-1

avg sn
I0
B1 0
B2 0

i0
c

A(i)>avg

A(i) c

B1 B1+1

F
T

A(i)<avg

i i +1

B2 B2+1

F
T

i i+1

i<n
F
i0
s0

i<n

B3 n-(B1+ B2)
B1,B2,B3,avg

End
15 :26

18

www.worldbook.ir

www.worldbook.ir

19

-2 C
-1-2
) (compiler C
. switch else for int : ...
: 1-3 1-4

Comment -2-2
Comment .
Comment C .
1.
2.

/* This is a sample comment */


//This is a sample comment
* / */ Comment

.
// Comment
.

-3-2
C char , int , float, double,void char
int float double
void void .
) signed () unsigned ( long short .
. char
char 1 byte 8 bit 28 = 256
127 -128
A=65
C 1-5 .
-4-2 C

.
.2
.3
.4

C ; .
255 .
.
.

-5-2
C C
C .
:1 undrline .

www.worldbook.ir

20

0 . . . . . . 9 :
A . . . . . . .Z :

. . . . . .z :
_ :UNDERLINE

:2 . A1

:3 .
C .

;
:

;int a
,
.
;int A,B,C
A,B,C (int) INTIGER .
;int A
;int B
;int C
:
.1 : ; INT A=5 5 A .
.2 : A=10 10 A .
.3 : scanf .
. ;) scanf (%d ,&a a
.
: C .
INT

Int

int

-6-2
C .
. #define
. const
#define . #define
.
3.14

PI

#define

#define . .
: #define ; .
const :
>< = > < > < const
;PI=3.14

float

const

-7-2
C
.

www.worldbook.ir

21

-1-7-2
C

) (+ .
) (+ .
)*( .
) (/ .
) (% .
) (++
) (--

a+b
a-b -a

+
-

a*b
a/b
a%b
a++ ++a

*
/
%
++

a-- --a

--

6 :7 ++ -- .
) (
.
2 3
.
:1
;int a=5, b=5
;++a
;b++

:2
;int a=5, b
;b=a++

a=6 , b=5 a b a
.
:3
;Int a=5,b
;b=++a
a=6 , b=6 a a b

.
.

++ ,-) ( -
*,/,%
+,-

:
A= b + 4 * c - d / 2

www.worldbook.ir

22

a=b + 4 * c - d / 2
*

:
.

a=b + 2 c
+

+
-2-7-2

>
=>
<
=<
==
=!

a>b

a>=b

a<b

a<=b

a==b

a!=b

-3-7-2

!
&&
||

)(not

!a

(and)

a>b && c<d

)(or

a>b || c<d

!
=< > , < , >= ,
=! == ,
&&
||

www.worldbook.ir

23

-4-7-2

=+

a+=b

a=b+a a=a+b

=-

a-=b

a=ab

=*

a*=b

a=b*a a=a*b

= /

a /=b

a=a/b

=%

a%=b

A=a%b

-5-7-2

and
or
xor
not
right shift
left shift

&
|
^
~
>>
<<

.
~a
a^b
a|b
a&b
b
a
1
0
0
0
0
0
1
1
1
0
1
0
0
1
1
0
0
1
0
0
1
1
1
1
: .
01100101
00010111
01101111
01100101
00100110
01010010
01111001
&
|
^
~
00100100
01010111
00010110
10011010
1-15 shift left shift right .
.

>>

<<

.
. 6 C .
: 1 2 1 2
.
-6-7-2 * &
. & )(
* .

www.worldbook.ir

24

. a &
p p ) *( 5
4 p m .
;1. int a,*p,m
*p
a
m
;2. p= &a
5
5
;3. *p=5
;4. m=*p

-7-7-2
.
;>> : <3> ? <2 = <1

a>b
b a a-b a .
;A= A>B ? B : A-B
-8-7-2 sizeof


a 1 s int 2 s . . . . .sizeof
float s ). (4
:
;)s=sizeof(float

;s=sizeof a

-8-2
;char ch
;int a
;float b
;double c
; ) b = ( ch / a ) + ( b+ c ) + ( b + a


.
unsighned char unsighned int
intiger

.
.
) .
1-17 .

www.worldbook.ir

25

-3 C /
C #include
)( ) (stdio.h > <
.
) ( main ) ( main C
({) 3 (}) 7
4
5 main
return 0 6 .
>#include <stdio.h
)int main (void
{


;return 0
}

1.
2.
3.
4.
5.
6.
7.

-1-3
) ( ) ( .
C .
-1-1-3 ) ( printf

) ( printf stdio.h . ) ( printf


. printf .
;)>>",<2printf("<1
:1 .
:2 1
.

%d

%f

%s

%c

%%

2-1 .

1 .

.1 : @# . ...

www.worldbook.ir

26

.2 : 2
. % . 2-1
.
.3 : .

. ) \ ( . \n
) ( \f .
\r. \b
. 2-2 .

;)printf("%d*%d%%+\"A\"-\"string\" ",A,B
) ( clrscr stdio.h .

) gotoxy(int x,int y conio.h .


. .
short : long short %hd
long %ld .

) (: printf
) ( printf
.
.
%wd w .
.
.
.
%wd w d .

.
.
.
w .
A=123 %3d %5d %2d .
2

%5d

1
3

%3d

%2d

B=-15.25431 %6.2f %7.2f %4.2f


5

%7. 2f

www.worldbook.ir

27

%6.2f

%4.2f

-2-1-3 ) (scanf

C ) ( scanf stdio.h .
EOF . ) ( scanf ) ( printf
.
;)>>",<2scanf("<1

. & .
:
(1 : .
(2 : ) ( scanf
.
(3 :
.
;)scanf("%d",&A
;)scanf("char?%c",&ch

-3-1-3 ) ( getch ) (getche

conio.h .
.
. A 65
.
:

:
.
:
.
... .
F1 F12 ) ( ... .
) ( getch ) ( getche .
.

www.worldbook.ir

28

-4-1-3 ) (getchar

) ( getche . stdio.h .
Enter .
-5-1-3 ) ( putch ) (putchar

. ) ( putch conio.h
) ( putchar stdio.h .

www.worldbook.ir

29

-4
-1-4 for
for C ; .
) ; ; ( for
{
1
2

n
}

. .
.
.
for :
(1
)for(i=0; i<100;i++
;)printf("i=%d\n",i

(2
) { ( ) } ( for .
)for(i=0;i<100;i++
{
;)scanf("%d",&A
;)printf("A=%d\n",A
}

for
. " ", .
. .
)for (i=0; i<100;i++
)for (i=0 , j= 0 ;i<100;i++
)for ( ; i<100 ; i++

for
.
)for (i=0 ; ; i++

C
" ", . for
for . .
)for (i=0,j=0;i<100;i++,j+=2
) ;for (i=0;<100

www.worldbook.ir

30

: for
.
:1 20 .
>#include <stdio.h
>#include <conio.h
) (int main
{
;int i,sum=0,num
;float ave
;) (clrscr
)for(i=0;i<20;i++
{
;)printf("\n Enter a number %d:",i+1
;)scanf("%d",&num
;sum+=num
}
;ave=(float)sum/num
;)printf("the average is:%6.2f ",ave
;) (getch
;return 0
}
:1 20

-2-4
-1 : C .
. .
-2 :
.
-3 : .
.
:2 1010 .
>#include<stdio.h
>#include<conio.h
) (int main
{
;int i,j
;) (clrscr
)for(i=1;i<=10;i++
{
)for(j=1;j<=10;j++
;)printf("%4d",i*j
;)"printf("\n
}
;) (getch
;return 0
}
: 2 1010

www.worldbook.ir

31

-3-4 while
while
. while .
while .
) ( while

) ( while
{
1
2

n
}

:3 .
>#include<stdio.h
>#include<conio.h
) (int main
{
;int i=0
;long int s=0
;'char ch='y
)'while(ch=='y
{
;)"printf("\n Enter a number:
;)scanf("%d",&i
;s+=i
;)"?printf("Do you want to continue
;)(ch=getch
;i++
}
;)printf("Avy=%f",(float)s/i
;return 0
}
:3

-4-4 dowhile
dowhile while while
dowhile . dowhile
.

www.worldbook.ir

32

;i=0
do
{
;)printf("%d",i
;i++
;)}while(i<100

;i=0
do
;)printf("%d",(++
;)while(i<100

-5-4 if
if . if .
.
if else .
; : if(A<B) A=B-1
; : if (A<B) A=B
;else A=B+1

: for, do while, while, if .


, 0=false
~0=True :
) if(!A A=0
) if(A A0
:4 N D

>#include<stdio.h
) (int main
{
;unsigned int N,D,i=0,T,S=0
;)"? printf("Enter N
;)scanf("%d",&N
do
{
;)"?)printf("\n Enter a digit (0..9
;)scanf("%d",&D
;)}while(D>=9
do
{
;T=N%10
;N/=10
;if(T==D)i++
;S+=T
;)}while(N!=0
;)printf("\nS=%d , i=%d",S,i
;return 0
}
: 4 4

www.worldbook.ir

33

-6-4break

break switch .
-7-4 continue

break continue .
-8-4 switch
:
)( switch
{
>:case <1
><1
;break
>:case <2
><2
;break
.
.
.
defult:
><n
}
if

else if switch
. case case break
case break case or
c R,G,Y .
switch, if :
;)"if (c= ='R') printf('Red
;)"else if (c= ='G') printf("Green
;)"else if (c= ='Y') printf("Yellow
;)"else printf("error
ifelse

)switch(c
{
;)"case 'R': printf("Red
;break
;)"case 'G': printf("Green
;break
;)"case'Y': printf("Yellow
;break
default:
;)"printf ("error
}
switch

www.worldbook.ir

34

switch ifelse .
switch :
)switch(c
{
case'r':
;)"case 'R': printf("Red
;break
case 'g':
;)"case 'G': printf("Green
;break
case 'y':
;)"case'Y': printf("Yellow
;break
default:
;)"printf ("error
}
switch case default . default

. case switch . case


switch
.
:5
.
>#include<stdio.h
>#include<conio.h
) ( int main
{
;int n1,n2
;char op
;)"printf ("\n Enter two numbers:
;)scanf ("%d%d",&n1,&n2
;) (op=getch
{)switch(op
;)case '+': printf ("sum=%d",n1+n2
;break
;)case '-': printf ("\n minus=%d",n1-n2
;break
case '/ ' :
;)case '\\': printf ("\n division=%f",(float)n1/n2
;break
;)case '*': printf("\n multiply=%d",n1*n2
;break
;)"default: printf ("error in operator
}
;return 0
}
:5 5

www.worldbook.ir

35

-5
-1-5
C .
) (

> <
{

><1
><2
.
.
.
><n
}

:
: C
.
: C .
: ) ( 0 N
" ", .
: C.
c ) ( main . 4 10
.
c .

>#include<stdio.h
;)void somple(int x , int y

) (int main
{

; int a,b
...

;)sample(a,b
...

;return 0
}

)void sample (int x , int y
{
;)printf("\n x = %d, y = %d", x, y

www.worldbook.ir

36

) ( void func1
{

}
.

;) (void func1
;) (void func2
)( int main
{

;) (func1

;) (func2
...
;return 0
}

) ( void func1
{


.
: 6
.
>#include<stdio.h
;) void max(int a,int b,int c
)(int main
{
;int a1,a2,a3
;)"? printf("\n enter three number
;)scanf("%d%d%d",&a1,&a2,&a3
;)max(a1,a2,a3
;return 0
}
*********************************//
)void max (int a,int b,int c
{
;int m=a
;if(b>m) m=b
;if (c>m) m=c
;)printf("max=%d",m
}
: 6 6
return

return . return
return .
void return ; return
void return .

www.worldbook.ir

37

:7
>#include <stdio.h
>#include <conio.h
;)int Dsum(float f
)(int main
{
;float p
;)"?printf("\n Enter a float number
;)scanf("%f",&p
;))printf("\n Digit sum of %8.4f = %d",p,Dsum(p
;return 0
}
****************************************//
)int Dsum(float f
{
;float t
;int s=0,i,p
)if(f<0
;f*=-1
;i=(int)f
;t=f-i
do
{
;p=i%10
;i=i/10
;s+=p
;)}while(i
;i=4
do
{
;t*=10
;p=(int)t
;t-=p
;s+=p
;i--
;) }while( t && i
;return s
}
:7 7 4 .

-1-1-5

.1 )(call by value
.2 )(call by reference


.
: call by value
.

www.worldbook.ir

38

)( f1
a i ) 0 ( )(f2
*a i
) 5(.

in call by value i = 0
in call by reference i =5

;)void f1(int a
;)void f2(int *a
)(int main
{
;int i=0
;)f1(i
;)printf("\n in call by value i = %d",i
;)f2 (&i
;)printf("\n in call by reference i = %d",i
;return 0
}
)void f1(int a
{

;a=5
}
)void f2(int *a
{

*a=5
}

>#include <stdio.h
>#include <conio.h
;)int Dsum(float f
)(int main
{
;float p
;)"?printf("\n Enter a float number
;)scanf("%f",&p
;))printf("\n Digit sum of %8.4f = %d",p,Dsum(p
;return 0
}
****************************************//
)int Dsum(float f
{
;int s=0,p
;long int i
)if(f<0
;f*=-1
;while(f != (long int)f) f*=10
;i=(long int)f
do
{
;p=i%10
;i=i/10
;s+=p
;)}while(i
;return s
}
:8 7 .

www.worldbook.ir

39

-2-1-5
C
.1
.2
) (local variables
) (global variables .

t p main ) f1
( a b ) f1
( main .

>#include <stdio.h
;int a,b
;)(void f1
)(int main
{
;int p,t

;return 0
}
)(void f1
{
;float x


.
-3-1-5
f1 f2 f2 f1
.
)(int f1
{

) ( f2

}
) (int f2
{

) (f1

) ( int f1
{

;) ( f1

www.worldbook.ir

40

:8 .
: n!= 1 2 ... (n 1) n
n!= (n 1)!n .
)long int fact (int n
{
;long int t=1
;int i
)for (i=1;i<=n;i++
;t*=i
;return t
}

)long int fact (int n


{
;if (n==1)return 1
else
;return fact(n-1)*n
}


:9 8

:
) if (n==1 .
:9
: AB A B ) (A B = A+A+A++A B
A ).(A B = B+B+B++B
: A B = ( A (B 1)) + A .
)int mul(unsigned int A, unsigned int B
{
)if(B==0
;return 0
else
;return mul(A,B-1)+A
}

)int mul(unsigned int A, unsigned int B


{
;unsigned int R=0 ,i
)for(i=1 ; i<=B ; i++
;R += A
;return R
}


:10 9

: A, B

: AB A B AB
.
: A B = (( A B ) B ) + 1 .

www.worldbook.ir

41

)int div(unsigned int A, unsigned int B


{
;unsigned int R=0
)while(A>=B
{
;A-=B
;R++
}
;return R
}

)int div(unsigned int A, unsigned int B


{
)if(A<B
;return 0
else
;return div(A-B,B)+1
}


:10 9

: 10 n
)void fib(int a , int b , int i, int n
{
;int t
;if (i== n) return
else
{
;t =a+b
;)printf ( , %d ",t
;)fib(b,t,i+1,n
}
}
:10 10

: a b i n
.

-2-5
C :
scope .1
life time .2

) (.
C
.1 )(automatic
.2 )(register
.3 )(static
.4 )(extern
:
;

www.worldbook.ir

> < > <

42

:
;static int x
;register char y

-1-2-5
.
)
(
C auto
.
;: auto int a
-2-2-5

.

RAM .
.
:
.
.
.
.
-3-2-5
:
.1 .
.2 .
:
. .
:

a=0 , b=0
a=0 , b=1
a=0 , b=2
a=0 , b=3
a=0 , b=4

;) (void f1
)(int main
{
;int I
)for (I= 0, I< 5;I++
;)(f1
;return 0
}
) (void f1
{
;int a=0
;static int b=0
;)print f (\n a= %d , b=%d, a++ ,b++
}

www.worldbook.ir

43

b a
b .

a,b f1 ,f2
main .
;) (void f1
;) (void f2
)( vnt main
{

}
; static int a,b
) (void f1
{

}
) ( void f2
{

-4-2-5

.
1 f1.c f2.c
static , a, b f1 m ,n
; extern int m,n f2.c m,n int
.
k extern int k f1
f1 k int
.
;int k
;) (void f1
)( int main
{

}
; static int a , b
;) (void f1
{
;extern int k

f2.c

f1.c

;extern int m,n


) ( void f2
{

}
) (void f3
{

extern

static int a,b


; int m ,n
;) ( void f1
;) ( void f2
;) ( void f3
)( vnt main
{

}
) (void f1
{
..
}

www.worldbook.ir

44

-6
10
10

o
o
o .....
o n

-1-6
5 int
C .
;]int A[5
;A[2]=5
A

5
]A[4

]A[3

]A[2

]A[1

]A[0

:11 20

>#include<stdio.h
#define N 20
)(int main
{
;float a[N],max =0,min=20,sum=0
;int i
)for( i=0; i<N; i++
{
;)printf ("\n enter number %d :", i+1
;)]scanf ("%f",&a[i
}
)for (i=0; i<N; i++
{
;]sum += a[i
;]if(a[i]<min) min=a[i
;]else if(a[i]>max) max=a[i
}
printf ("\n max = %5.2f , min = %5.2f , avg = %5.2f",max, min,
;)sum/N
;return 0
}
:11 11

www.worldbook.ir

45

: :
.1
.2
) (
max min
) (
max min :
: 12 10

>#include<stdio.h
#define N 10
)(int main
{
;int a[N],max , min , sum=0
;int i
)for (i=0; i<N; i++
{
;)printf ("\n enter number %d :",i+1
;)]scanf ("%d",&a[i
}
;]min=max=a[0
)for(i=0; i<N; i++
{
;]sum += a[i
;]if(a[i]<min) min = a[i
;]else if(a[i]>max)max = a[i
}
printf ("\nmax =%d , min = %d , avg = %f",max, min,
;)(float)sum/N
;return 0
}
:12 12

:
.
)]void f1(int arr[15


.
)void f2(int arr[],int len

) (.

www.worldbook.ir

46

-2-6
-1-2-6
) (
.
.
) (

) void bubble(int a[] , int len


{
;int i, j, temp
) for(i=len-1; i>0; i--
) for(j=0; j<i; j++
)]if ( a[j] > a[j+1
{
;]temp = a[j
;]a[j] = a[j+1
; a[j+1] = temp
}//end of if
}
:13

-2-2-6
) (

.
.
:

)void selection(int a[] , int len


{
;int i, j, temp, min
)for (i=0 ; i<len ; i++
{
;min = i
)for (j=i ; j< len ; j++
;if (a[min] > a[j] )min = j
;]temp = a[i
;]a[i] = a[min
a[min] = temp
}
}
:14

www.worldbook.ir

47

-3-6


.
-1-3-6

.

) int search(int A[] , int len , int no


{
;int i
)for(i=0;i<len;i++
;if(A[i]==no) return i
; return -1
}
: 15

-2-3-6

.

.
.

.
)
( .

) int bsearch(int a[] , int len , int no


{
;int l=0 , r=len-1,m
)while(l<=r
{
;m=(l+r)/2
)]if(no < a[m
;r = m-1
)]else if (no > a[m
;l=m+1
;else return m
}
; return -1
}
: 16

www.worldbook.ir

48

-4-6
. C
.

;]][2 [1

;]: int A[4][3


) (4 ) (3
12 ) (43=12 int .

)(
.
:
=

] A[x][y .
) + y = ( x

.
-1-4-6


;)]: void f1(int A[5][4

)
( .
;): void f1(int A[][4],int row

) (.

-5-6

.
} int a1[4] ={ 1,2,4,0
;} int a2 [ ] = { 3,2,4,5
;} } int a[2][3]={ {1,0,3 } , { 3,10,2
;} int a[2][3] = { 1,0,3,5,10,2
;} int a[ ] [3] = { 1,0,3,5,10,2

-6-6 n
C .
;]][n][2 [1

n n-1 n-1 n-2


.

www.worldbook.ir

49

-7-6
C " "Ali
s 7
(NULL) \0 .
;]char s[7

" "Ali s .
?
]s[6

?
]s[5

?
]s[4

\0
]s[3

i
]s[2

l
]s[1

A
]s[0

: C A A
A
) A '('\0
-1-7-6
;"char str1[15] = "Computer
;"char str2 [ ] = "Computer
;}'char str3 [ ] = {'C','o','m','p','u','t','e','r','\0

-2-7-6
scanf gets scanf format
%s & scanf
tab enter tab
ali reza " "ali
gets . gets stedio.h . Enter
.
;) scanf (%s, str
;) gets (str

printf puts stdio.h


;) printf (\n string = %s , str
;)puts (str

-3-7-6


)]void f1 (char str [15
) ] [ void f2 (char str

:13
: 32 .
) ] [void upper (char s
{
;int i
) for (i=0 ; s[i] ; i++
;if ((s[i] >= 'a' ) && (s[i] <= 'z')) s[i]-=32
}
: 17 13

www.worldbook.ir

50

." COMPUTER" " Computer"


:14
#include<stdio.h>
void strinvert(char s[]);
int main()
{
char str[50];
printf("\n enter a string :");
gets(str);
strinvert(str);
puts (str) ;
return 0;
}
//******************************
void strinvert(char s[])
{
int i,length;
char t;
for(length=0 ; s[length] ; length++);
length--;
for(i=0 ; i<(length/2) ; i++)
{
t = s[i];
s[i] = s[length-i];
s[length-i] = t;
}
}
:18

:15
#include<stdio.h>
void delspace(char s[]);
int main()
{
char str[50];
printf("\n enter a string :");
gets(str);
delspace(str);
puts(str);
return 0;
}
//******************************
void delspace(char s[])
{
int i=0,j;
while(s[i])
if(s[i] == ' ')
for (j=i ; s[j] ; j++)
s[j] = s[j+1];
else i++;
}
:19

51

www.worldbook.ir

-4-7-6
C = strcpy
string.h . .
;)strcpy(s1,s2

s1 s2 s1
.
-5-7-6
C strcmp
string.h .
;)strcmp(s1,s2

s1 s2
s1 s2 s1 s2 .
-6-7-6
C strcat string.h .
;)strcat(s1,s2

s2 s1 s1
s1 .
-7-7-6
name
5 12 ) (13-1=12 .
;]char name[5][13

www.worldbook.ir

52

-7
-1-7
* .
.
;int *p

p int .
;int *P , A , B
;p=&A
;*P=5
;B=*P

1000

*P

A
1000

: .
5.95 b . 5.95

b . (int) p ) (float .
; float a,b
;int *P
;a=5.95
;P=&a
;b=*P

int *P
float a

float b
a ) b 4(
.

-2-7
:

www.worldbook.ir

53

.1
.2
.3
-1-2-7
.

; int *P1 , *P2 , a=50 , b=100


;P1 = &a
;P2 = &b
;*P1 = *P2
;P1 = P2

1.
2.
3.
4.
5.

a
100

*P1

b
100

*P2

: 4 P2 ) ( b
P1 ) . (a 5 P2 P1 .
P2 P1 .
-2-2-7
. P P+x x ) P (P
P-x x ) P (P . P char P+1
P+2 ... . P int P+1 P+2 ...
.
;int *P
;char *ch

P
P+1
P+2
P+3
P+4

1001

ch
ch+1
ch+2

1003

ch+3

1004

ch+4

1005

ch+5

1006

ch+6

1007

ch+7

1008

ch+8

1000

1002

www.worldbook.ir

54

-3-7
C )( malloc Stdlib.h .
.
;) ) malloc( size( =

. void
10
int )( malloc )* (int int
P .
;int *P
;) )P = (int *) malloc ( 10*sizeof(int
NULL )( malloc .

)( free .
;)free (p

-4-7
:16 .
>#include<stdio.h
;)void swap(int *a,int *b
)(int main
{
;int i,j
;)"?printf ("\n Enter two numbers
;)scanf ("%d%d",&i,&j
;)swap(&i,&j
;)printf ("\n i=%d , j=%d",i,j
;return 0
}
)void swap(int *a,int *b
{
;int t
;t = *a
;*a = *b
;*b = t
}
:20 16

)( swap a,b
i,j )( swap )) (swap (&i,&j
i,j )( swap . ) (call by reference .
scanf .

-5-7
C .
p :
] P[0 p[1] *p ) p[2] *(p+1 ) ... *(p+2 ] p[i ) *(p+i .

www.worldbook.ir

55

int Arr [5] , *P;


P = Arr ;
*( P + 3) = 4 ; \\ OR p[3] = 4 ;
*( P + 2) = 3 ;
\\ OR p[2] = 3 ;
* S char *S="Computer"; C

(char S[ ] char *S) .


double int float char :17
.
int main()
{
int i , *P1, a ;
char *P2 , b ;
float *P3 , c ;
double *P4 , d ;
for ( i = 0 ; i < 5 ; i ++)
printf("\n P1=%P, P2 = %P , P3=%P , P4=%P in P+ %d", P1+ i ,P2+ i ,P3+ i ,P4+ i , i );
for ( i = 0; i < 5 ; i ++)
printf("\n P1=% P, P2 = % P , P3=% P, P4=% P in P- % d", P1- i ,P2- i ,P3- i ,P4- i , i );
return 0;
}
17 :21

:18
.
int main( )
{
int *a,*b,c ;
a = ( int* )malloc(sizeof (int));
if (!a)
{
printf ("\n Error in allocate memory.");
exit(1);
}// end if
b = (int * ) malloc (sizeof (int));
if(!b)
{
printf ("Error in allocation memory.");
exit(1);
}//end if
printf ("\n Enter two number:");
scanf ("%d%d",a,b);
c = *a**a + *b**b ;
printf ("\n result = %d ", c);
free(a);
free(b);
return 0;
}//end main
18 :22

56

www.worldbook.ir

-6-7
)( malloc 10
)( malloc :
;int *P
;)P = ( int * ) malloc (sizeof(int)*10


) ( 5 ) *(P+5 ] P[5
)( free .
:19 strcpy copy
) (.
>#include<stdio.h
>#include<stdlib.h
;)* void strcopy(char *, char
)(int main
{
;char str1[50] , *str2,l
;)"?printf("\n Enter a string
;)gets(str1
)for( l=0 ; str1[l] ; l++
;l++
;)str2 = (char *)malloc(sizeof(char)*l+1
;)strcopy(str2 , str1
;)printf("\n Str2 = %s",str2
;)free(str2
;return 0
}
*************************************//
)void strcopy(char *s1,char *s2
{
;int i
)for(i=0 ; s2 [i] ; i++
;]s1[i] = s2[i
;'s1[i] = '\0
}
:23 19

: 20
.

-7-7
S
.
;} int *A = { 1 , 4 , 3 , 2 , 0
; "char S[ ] = "computer
)void f1 ( int A [ ] , int len

OR
OR

;} int A[ ] = { 1 , 4 , 3 , 2 , 0
; "char S[ ] = "computer

OR

)void f1 ( int A [ ] , int len

) ( .

www.worldbook.ir

57

1
)char *stringcat( char *s1 , char *s2
{
;char *t
;int l1,l2,l
;)for (l1=0 ; s1[l1] ; l1++
;)for (l2=0 ; s2[l2] ; l2++
;l = l1 + l2 + 1
;) t = (char *) malloc ( sizeof(char) * l
)if(!t
{
;)"printf("\n Error in memory allocation.
;)exit (1
}
;)strcpy (t , s1
;)strcat (t, s2
;return t
}
:24 20

-8-7
int A
A . * . int
. *P1 P1 int .
* * int **P2
.
. P2 A
** P1 * .

A
20

*P1

;int A , *P1 , **P2 , B


;P1 = &A
;P2 = &P1
;**P2 = 20
;*P2 = &B

**P2

:21 strcpy .

P
5 *P .
; int *P
;*P = 5

-9-7 )(main
)( main )( main
.
) ] [ int main( int Argc , char *Argv

www.worldbook.ir

58

Argc Argv
. test.exe E:\TC .

test 1 test 2

D:\TC>test


Arg c 3 Arg v 0 test 1 test1 2 test2
.
>#include<stdio.h
>#include<stdlib.h
;)* void strcopy(char **, char
)(int main
{
;char str1[50] , *str2
;)"printf("\n Enter a string :
;)gets(str1
;)strcopy(&str2 , str1
;)printf("\n str2 = %s",str2
; )free(str2
;return 0
}
*********************************//
)void strcopy( char **s1, char *s2
{
;int l
;)for(l=0 ; s2[l] ; l++
;l++
;)*s1 = (char *) malloc (sizeof(char)*l
)for( l=0 ; s2[l] ; l++
;)*(*s1+l) = *(s2+l
;'*(*s1+l) = '\0
}
:25 21

: Argc 1 0 Argv .
:22 Hello .
) ] [int main ( int argc , char *argv
{
;int i
)if (argc ==1
;)" printf("\n Dont Enter name
else
)for( i = 1; i <argc ; i++
;) ]printf("\n hello %s " , argv [i
; return 0
}
:26 22

www.worldbook.ir

59

-8
-1-8
C
) (struct
.
C .
{ >< Struct


;}

struct
);( .
:
struct personel
{
;] char name [ 21
;] char fname [ 31
;int P_ID
;}

) ( .
.
; struct personel P1, P2

P1,P2 struct personel


.
);( :
struct personel
{
;] char name [ 21
;] char fname [ 31
; int P_ID
;}P1,P2

" " . " " .


P1
:
;struct personel P1
P1.P_ID
P1.name
P1.fname

i
] P1.name[ i
P1 :

P1=P2 P2 P1 .

www.worldbook.ir

60

:23
.
>#include<stdio.h
)(int main
{
struct student
{
;]char name[21
;float Avg
;int ID
;} M1={0} , M2={0} , T
;int n,i
;) " ?printf( " Enter n
;)scanf ("%d", &n
)for( i=0 ; i<n ; i++
{
; )" ?printf("\n Enter name
;)scanf("%s",T.name
;) " ? printf("\n Enter ID
;)scanf ("%d", &T.ID
;)" ?printf("\n Enter Avg
;) scanf("%f", &T.Avg
) if(T.Avg > M1.Avg
{
;M2 = M1
; M1 = T
}
)else if(T.Avg > M2.Avg
;M2 = T
}
;) printf( "\n M2 name = %s ", M2.name
;return 0
}
:27 23

-2-8

P1 " "Ali fname " "Kazemi P1.ID 10
. .
; }struct personel P1 = {"Ali ", "Kazemi", 10
0 0

.
;}struct personel P2 = {0


10 ) 10( :
;] struct personel P[ 10

i :
P1[ i ].name

www.worldbook.ir

61

j i :
] P1[ i ].name[ j

-3-8
struct struct
) (struct struct Date :
struct Date
{
; int y
; int m
; int d
;}

struct Date :
struct student
{
; ] char name [ 21
; int ID
; struct Date bdate
; } S1

" " . .
S1 :
S1.bdate.y
S1.bdate.m
S1.bdate.d

:
struct student *P
struct student P *

" " . " > " - . :


;struct student *P, S1
;P = &S1
;P -> ID = 5
;OR (*P) . ID = 5

-4-8
malloc
sizeof free .
:
; struct student *P
; ) )P = ( struct student *)malloc ( sizeof (struct student
.
.
.
; ) free ( p

:24
.
: ) 30( ID ) (salary .

www.worldbook.ir

62

1
struct date
{
;int y
;int m
;int d
;}
////////////////////
struct personel
{
;]char name[31
;int ID
;long salary
;struct date bdate
;}
*********************************************//
)void getinfo(struct personel *P
{
;)"?printf("\n Enter name
;)scanf("%s",p->name
; )"?printf("\n Enter ID
;) scanf("%d",&P->ID
; )"?printf("\n Enter salary
;)?scanf("%ld", &P->salary
;)"?printf("\n Enter year,month,day of birth day
;) scanf("%d%d%d", &P->bdate.y , &P->bdate.m , &P->bdate.d
}
:28 24

-5-8

) (.
. .
{

struct

; > > : < 1 > < 1 < 1


; > > : < 2 > < 2 < 2
.
.
.
; > > : < n > < n < n
; }

unsigned int signed


' ' : .
: unsigned .
.
struct device
{
;unsigned active :1
;unsigned ready :1
;unsigned xmt-error :1
;}

www.worldbook.ir

63


. :
-1 ) ( -2 ) ( -3) (

1 12
.
: :

N = S 8
N S .
.
' ' . .
: .
struct date
{
; unsigned int year : 7
; unsigned int month :4
; unsigned int day : 5
;}

www.worldbook.ir

64

You might also like