WWW Worldbook Ir
WWW Worldbook Ir
ir
.
.
.
[email protected]
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.
.
// 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)
)(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
%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 .
) (: printf
) ( printf
.
.
%wd w .
.
.
.
%wd w d .
.
.
.
w .
A=123 %3d %5d %2d .
2
%5d
1
3
%3d
%2d
%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
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
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
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
}
: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
}
:10 9
: A, B
: AB A B AB
.
: A B = (( A B ) B ) + 1 .
www.worldbook.ir
41
: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
}
) (void f3
{
extern
}
) (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
) (
.
.
) (
-2-2-6
) (
.
.
:
www.worldbook.ir
47
-3-6
.
-1-3-6
.
-2-3-6
.
.
.
.
)
( .
www.worldbook.ir
48
-4-6
. C
.
;]][2 [1
] 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
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
-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
: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
.
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
: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
) ( .
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
**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
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 *
-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
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