Page 1

.

© К.

1 , 1995-2009

I. 1.

2.

3.

4.

5. 6.

7. 8.

9.

10.

4 4 4 4 4 4

ы......................................................................................... 3

З

? ........................................................................... 3 ................................................................................... 3 ................................................................................. 4 ............................................................................................... 4 ? ....................................................................................... 5 ................................................................................................ 5

ы ............................................................................................................... 7

4 4 4 4

..................................................................................... 7 ( )..................................................... 7 .................................................................................... 9 ................................................................................ 11

А

Вы

4 4 4 4

Ц

................................................................................................... 14

З

? ........................................................................................ 14 if — else............................................................................... 14 ...................................................................................................... 16 switch ( ) ............................................. 17

ы ....................................................................................................................... 19

4 4 4 4 4 4

З

? ............................................................................................... 19 (for) ................................................................ 19 (while) ........................................................................................ 20 (do — while) .................................................................... 22 ..................................................................................... 23 ............................................................... 24

ы

4

................................................................................. 27 Dev-C++ ............................................................................... 27

........................................................................... 31

4 4 4

................................................................... 31 ? .............................................................................................. 31 .................................................................................................. 34

4

ы ............................................................................................................... 35

Ф

4 4 4

................................................................................................................... 38

4 4 4

............................................................................................ 42

4

.................................................................................. 35

,

............................................................................... 38 ................................................................................................ 39 ............................................................... 40 ................................................................................. 42 ................................................................. 42 ............................................................................. 43

А

я............................................................................................................. 46 ?................................................................................................ 46

http://kpolyakov.narod.ru


2

I.

11.

© К.

4 4 4 4 4 4 4

, 1995-2009

.................................................................................................... 46 ..................................................................... 48

ы

ы

.............................................................. 51

? .................................................................................. 51 ........................................................................... 51 .................................................. 52 ............................................................. 52 ........................................................................................................... 53

http://kpolyakov.narod.ru


© К.

.

3 , 1995-2009

1.

4

? , .

,

,

(

)

.

, (

4

-

,

, -

,

).

,

-

, 1) 2)

– –

; . : first.cpp

: first.o

: first.exe

? •

,

: (

),

; ;

• •

( )

(

-

); ,

,

,

(

). :

(

)

, .Э

, ,

. http://kpolyakov.narod.ru


4

© К.

I. *.

*.cpp Э

, 1995-2009

*.cpp (

, ,

++). -

, .

,

(

,

) *.o.

, (

К

,

,

).

,

(

*.a).

*.exe,

-

.

4

8

.

:

main() { } main (

, ).

main –

,

. ,

,

4

exe-

, .

, «

-

,

,

».

#include <stdio.h> main() { printf(" "); }

6

-

,

stdio.h

?

,

, –

,

,

. •

1

*.h (

C:\Dev-Cpp\include). (

1

#include,

)

-

.

,

.

#. http://kpolyakov.narod.ru


© К.

.

5 , 1995-2009

. #include.

printf. ,

-

.

.

4

? ,

«

,

»

,

,

.

, .

,

, , (IDE – integrated development environment).

• • • •

,

-

, (

). F9.

Dev-C++ ,

(

,

).

,

,

-

• •

4

-

.

, , ,

;

.

,

, ,

.

,

-

. #include <stdio.h> #include <conio.h> main() { printf(" "); getch(); }

6

conio.h // /*

*/

? getch(). conio.h. http://kpolyakov.narod.ru


6

© К.

I.

//

, 1995-2009

.

/* ( (

).

) ,

*/ -

.

http://kpolyakov.narod.ru


© К.

.

7 , 1995-2009

2.

4

. -

. :

, )

(

-

.

.

-

,

-

.

. . –

).

,

-

(

)

(

,

.

, .

• •

-

,

int (

integer –

),

4

-

; , floating point –

),

char –

(

float –

(

-

4

character –

),

, ,

1 ,

.

. (int, float

char),

-

.

, . ,

»,

,

«

-

.

. int a;

//

float b, c;

//

a b

int Tu104, Il86=23, Yak42; // // float x=4.56, y, z; char c, c2='A', m;

4 З

// //

c ,

Il86

23 ,

x

4.56

// //

,

c2 'A'

(

) .

. .

http://kpolyakov.narod.ru


8

© К.

I.

, 1995-2009

#include <stdio.h> #include <conio.h> main() { int a, b, c; // printf ( " \n" ); // scanf ( "%d%d", &a, &b ); // c = a + b; // ( printf ( " : %d + %d = %d \n", a, b, c ); // getch(); }

6

?

)

4

:

;

o o o o

; (

);

. ( ,

,

\n

).

printf

. scanf.

scanf ( "%d%d", &a, &b ); –

o

, :

%d %f %

int)

(

float) char)

( (

,

o . a &a

-

: a

a

o . b–

,

:

a

,

,

scanf ( "%d%d", &a );

? c

scanf ( "%d%d", &a, &b, &c );

-

scanf ( "%f%f", &a, &b ); •

, o

, http://kpolyakov.narod.ru


© К.

.

9 , 1995-2009

,

o c = a + b;

//

a

b

c printf

printf ( "

: %d + %d = %d \n", a, b, c ); printf

scanf

o

%d %f % %s \n (

)

-

. :

o ,

,

,

.

,

,

. printf ( "

scanf, .

,

o

4

: %d + %d = %d \n", a, 5, a+5 ); -

А

6

? ,

,

• •

-

( , + — * / % abs(i) fabs(x) sqrt(x) pow(x,y)

,

) , ,

i x x x

y

http://kpolyakov.narod.ru


10

© К.

I.

6

, 1995-2009

, ,

1. Е

, 7/4

-

, .

:

int i, n; float x; i = 7; x = i / 4; // x = i / 4.; // x =(float) i / 4; // n = 7. / 4.; // //

x=1, x=1.75, x=1.75, n=1,

. a

ostatok,

b :

ostatok = a % b;

6 , (

)

,

.

• • • •

,

,

,

, ,

,

.

: 2

x

=

1

5

4

3

8

6

7

( a + 5 * b ) * fabs ( c + d ) — ( 3 * b — c );

4x + 5 5x y= − ( 2x − 15z )(3z − 3) x + z + 3

.

y = (4*x + 5) / ((2*x — 15*z)*(3*z — 3)) — 5 * x / (x + z + 3);

6 , : i = i + 1; ,

. i . http://kpolyakov.narod.ru


© К.

.

11 , 1995-2009

i,

:

-

i.

6

( ) i ++; ++ i;

//

...

i = i + 1; ( i— —; — — i;

//

)

...

i = i — 1; ,

,

-

.

6 -

(

,

),

-

: С

4

x += a;

П x = x + a;

x -= a;

x = x - a;

x *= a;

x = x * a;

x /= a;

x = x / a;

x %= a;

x = x % a;

6

scanf printf . scanf, %d, %f %c . , ,

, , , printf

, ,

-

. ,

printf("[%d]", 1234);

1234. .

,

[1234]

. http://kpolyakov.narod.ru


12

© К.

I.

printf("[%6d]", 1234);

[

1234]

printf("[%-6d]", 1234);

[1234

printf("[%2d]", 1234);

[1234]

]

6

,

6

,

, 1995-2009 . . 2

, . %d

,

-

%c.

6 В

( %e

: %f,

)

%g.

%f.

printf("[%f]", 123.45);

[123.450000]

, 6

. 9

printf("[%9.3f]", 123.45);

[

123.450]

,

3–

,

3–

, . 9

printf("[%-9.3f]", 123.45);

[123.450

]

, .

printf("[%6.4f]", 123.45);

[123.4500]

6

(4 ), .

%e ,

,

. (

123.45

( 10

1 %e

).

). 123.45 = 1.2345 × 10 2 . 10), 2 – (

,

,

. (

e

,

, 1.2345 –

).

printf("[%e]", 123.45);

[1.234500e+02]

,6 . 12

printf("[%12.3e]", 123.45);

[

,

3– -

1.234e+02]

,

. 12

printf("[%-12.3e]", 123.45);

[1.234e+02

,

3– -

]

,

.

http://kpolyakov.narod.ru


Š Đ&#x161;.

.

13 , 1995-2009 -

6 printf("[%6.2e]", 123.45);

(2

[1.23e+02]

), .

%g

, (

). (

-

). .

printf("[%g]", 12345);

[12345]

printf("[%g]", 123.45);

[123.45]

printf("[%g]", 0.000012345);

[1.2345e-05]

, .

6 10

printf("[%10.3g]", 12345);

[

, ,

1.23e+04]

printf("[%10.3g]", 123.45);

[

123]

printf("[%10.3g]",0.000012345);

[

1.23e-05]

3 -

.

,

"%-10.3g".

http://kpolyakov.narod.ru


14

© К.

I.

, 1995-2009

3.

4

? . -

. : —

,

,

.

,

-

. :

if — else

4 З

switch

if — else .

.

: ,

,

.

:

,

-

Max. #include <stdio.h> #include <conio.h> main() { float A, B; printf (" A B :"); scanf ( "%f%f", &A, &B ); if ( A > B ) { printf ( "Н %f", A ); } else { printf ( "Н %f", B ); } getch(); }

#include <stdio.h> #include <conio.h> main() { float A, B, Max; printf(" A B : "); scanf ( "%f%f", &A, &B ); if ( A > B ) // { Max = A; // « » } else { Max = B; // « » } printf ( "Н %f", Max ); getch(); }

http://kpolyakov.narod.ru


6

© К.

.

?

:

if ( { ... // // } else { ... // // }

) // «

» —

«

,

,

» —

,

• Э •

,

, «

.

else

— if,

, « .

»

«

> < >= <= == !=

,

else

»

15 , 1995-2009

« .

»

»

,

,

-

, ,

,

,

,

: «

»

(

»,

...),

:« «

, -

»

: if ( { ... }

) //

,

,

:

#include <stdio.h> #include <conio.h> main() { float A, B, Max; printf(" A B : "); scanf ( "%f%f", &A, &B ); Max = A; if ( B > A ) Max = B; printf ( "Н %f", Max ); getch(); }

http://kpolyakov.narod.ru


16

© К.

I.

«

»

«

»

, 1995-2009

, else

;

-

if: if ( A > 10 ) if ( A > 100 ) printf ( "У else printf ( "У else printf ( "У

." ); ." ); ." );

,

«

)

4

»

2-3

«

»(

(

(

-

«

»).

,

. .).

,

. 25

40

(

, -

).

: #include <stdio.h> #include <conio.h> main() { int age; printf ( "\n : " ); scanf ( "%d", &age ); if ( 25 <= age && age <= 40 ) // printf ( " ." ); else printf ( "И , getch(); }

6

." );

?

,

-

: И—

o

_1

&&

_2

Э

(

-

) _1 (0) (0) (1) (1)

_2 (0) (1) (0) (1)

_1 &&

_1

(0) (0) (0) (1)

http://kpolyakov.narod.ru


© К.

.

17 , 1995-2009

И И—

o

(

) _1

||

_2

_1 (0) (0) (1) (1)

_2 (0) (1) (0) (1)

_1 ||

_1

(0) (1) (1) (1) Е—

o

(

-

) !

, A > B

! ( A <= B )

( o o o o o

Е, И, И И

)

:

, >, <, >=, <=, ==, !=,

.

4

)

switch (

if,

, switch. З

.

,

.

#include <stdio.h> #include <conio.h> main() { char c; printf("\n scanf("%c", &c); // switch ( c ) // { case ' ': printf("\n case ' ': printf("\n case ' ': printf("\n default: printf("\nН } getch(); }

:");

"); break; "); break; "); break; !"); //

http://kpolyakov.narod.ru


18

© К.

I.

6

, 1995-2009

?

switch

,

-

.

switch

(

).

.

case,

; ,

• а

• •

Не

.

break break, , а аю

а

switch.

,

-

a

х!

, default (

,

). ,

, case ' ': case ' ': printf("\n case ' ': case ' ': printf("\n .

,

, switch

:

"); break; "); break;

http://kpolyakov.narod.ru


© К.

.

19 , 1995-2009

4.

4

? ,

10 printf,

10

200

.

.

,

-

,

.

,

-

. .

4

(for) (

repeat – «

),

. ».

,

. .

,

( , repeat

,

(

.

for.

-

,

),

.

,

#include <stdio.h> #include <conio.h> main() { int i; for ( i = 1; i <= 10; i ++ ) { printf(" "); } getch(); }

6

) .

10

// // // // //

(

.

)

(

)

?

for

, .

for

. for

: :

o

,

; o

;

,

; (

, );

,

, ,

http://kpolyakov.narod.ru


20

© К.

I.

, 1995-2009

(

o

-

).

,

.

: for ( i = 0; i < 10; i ++ ) {

...

}

for ( i = 0, x = 1.; i < 10; i += 2, x *= 0.1 ){ ... }

;

,

.

, «

(

»).

, 2-3

6

(

, «

»).

? ,

-

N

1

N

К 1 1 К 2 4 ... #include <stdio.h> #include <conio.h> main() { int i, N; // i – printf ( " N: " ); // scanf ( "%d", &N ); // N for ( i = 1; i <= N; i ++) // : i { printf ( "К %d %d\n", i, i*i); } getch(); }

: N—

1

,i— 1 N. scanf

N

, N %d (

). i = 1,

i i <= N.

(i ++).

-

.

-

.

4

(while) , ,

, :

-

-

. , http://kpolyakov.narod.ru


© К.

.

(

,

; while,

» З

,

).

,

.

21 , 1995-2009 « .

. .

,

.

(

)

,

,

,

,

, -

printf ( "\n scanf ( "%d", &N );

N: " );

while ( N > 0 ) // { // N /= 10; // count ++; // } // printf ( " getch(); }

«

N N > 0»

(

)

( \n", count );

%d

while

)

, .

while

. while .

, (

),

.

• > < >= <= == !=

, ,

,

(

-

).

• ; •

// //

?

– -

.

#include <stdio.h> #include <conio.h> main() { int N; // int count=0; //

6

10

, .

-

( «

,

),

»—

. ,

,

,

: while ( 1 ){ ... }

//

http://kpolyakov.narod.ru


22

© К.

I. while ( 0 ){ ... }

, 1995-2009

//

;

,

.

, «

(

»).

, 2-3

4

, «

(

»).

(do — while) ,

, ,

.

(

,

).

,

:

,

,

,

.

-

.

З

.

.

,

-

. ( «

» — fool proof). ,

. ,

, .

,

-

(

10) .

#include <stdio.h> #include <conio.h> main() { int N, sum; // sum sum = 0; // do { // printf ( "\n scanf ( "%d", &N ); } while ( N <= 0 ); // while ( N > 0 ) { sum += N % 10; N /= 10; } printf ( " getch(); }

6

:" ); «

N <= 0»

%d\n", sum );

? do—while

,

-

. http://kpolyakov.narod.ru


© К.

.

do,

• ,

23 , 1995-2009

. while, ,

;

.

( ,

),

.

;

( «

,

),

»—

.

;

,

.

, «

(

»).

, 2-3

4

, «

(

»).

, , )—

З

break.

.

( continue.

,

.

.

,

,

,

. .

,

. —

,

,

.

,

, .

. while(1){...} (

,

). break.

, .

,

-

continue.

#include <stdio.h> #include <conio.h> main() { int A, B; while ( 1 ) // , { printf ( "\n scanf ( "%d%d", &A, &B ); if ( A == 0 && B == 0 ) break; // if ( B == 0 ) { printf ( "Д " ); continue; // }

break! :" );

http://kpolyakov.narod.ru


24

© К.

I. printf ( "Ч } getch(); }

%d

6

%d", A/B, A%B )

?

, (

,

),

-

break:

,

, 1995-2009

while ( 1 ) { ... if ( ... }

)

break;

break

: for, while,

do—while.

,

-

continue.

4

6 З

20

.

S=

1 2 3 4 − + − +L 2 4 8 16

, • • • •

.

, ; ; (

, ai =

z, c

2 . .).

;

zc , d (

d

-

) i z c d

1 1 1 2

2 -1 2 4

4 -1 4 16

(

z

c •

3 1 3 8

(c ++),

5 1 5 32 z = -z), 2 (d = d*2).

d

-

: S

0;

;

http://kpolyakov.narod.ru


• •

© К.

. z, c

(

d

25 , 1995-2009 ):

z = 1, c = 1, d = 2.

20

: ;

o o

z, c

.

d

#include <stdio.h> main() { float S, z, c, d; int i; S = 0; z = 1; c = 1; d = 2; // for ( i = 1; i <= 20; i ++ ) { S = S + z*c/d; // z = - z; // c ++; d = d * 2; } printf(" S = %f", S); }

z, c, d

6 , З

.

.

S=

Э . while (

1 2 3 4 − + − + L, 2 4 8 16 , 0,001. , , do-while).

#include <stdio.h> main() { float S, z, c, d, a; S = 0; z = 1; c = 1; d = 2; // a = 1; // while ( a >= 0.001 ) { a = c / d; S = S + z*a; z = - z; c ++; d = d * 2; } printf(" S = %f", S); }

// // //

,

-

.

,

0.001

z, c, d

http://kpolyakov.narod.ru


26

© К.

I. a(

, )

, 1995-2009 -

0,001.

, ,

,

a

, «

0,001. ,

».

http://kpolyakov.narod.ru


© К.

.

27 , 1995-2009

5.

4

Dev-C++

6

? «

» « debugging ( Mark II 1940 .

». «

») (

, ),

-

-

: –

( print);

printf

, ,

,

;

,

-

«

»

,

-

; –

(

,

,

);

, ,

.

,

– .

,

-

, . –

6

, -

.

– -

. ,

? ,

( , . ,

3-

, ). –

,

, , (1, 2

-

, ,

2-

-

. 3)

main() { int i, X; printf(" :\n"); scanf("%d", &X); printf(" X=%d\n", X); for(i=1; i<10; i++) { printf(" : i=%d, X=%d\n", i, X); ... } printf(" : X=%d\n", X); ... } 1 , –

?:

//

1

//

2

//

3

X

-

. http://kpolyakov.narod.ru


28

© К.

I.

, 1995-2009 .Э

2

-

,

-

6

.

X

3 ,

. ,

-

.

: .

«

»,

,

. .

,

,

//,

, /*

, «

-

*/ (

»):

main() { int i, X; printf(" :\n"); scanf("%d", &X); // X *= X + 2; for(i=1; i<10; i++) X *= i; /* while ( X > 5 ) { i = i * X; } */ ... }

6 .

— , Щ (

.

Ctrl+F5)

— . Dev-C++ GDB.

,

, .

.

.

, ,

Ctrl+F5

. , ,

F8.

http://kpolyakov.narod.ru


© К.

.

29 , 1995-2009

.

(

),

F7.

( ).

-

Shift+F7. Ctrl+F7

Ctrl+Shift+F2.

.

6

, ,

. -

. . ,

.

6

,

, ,

.

,

( ).

, N=5 (

,

(

-

)

, 5– .

.

, ).

-

#include <stdio.h> main() { int N, i, count = 0; printf(" "); scanf("%d", &N); for ( i = 2; i <= N; i ++ ) if ( N %i == 0 ) count ++; if ( count == 0 ) printf("Ч "); else printf("Ч ");

N 5

i ? 2 3 4 5

count 0

1

}

, ,

,

, count

N

.

,

http://kpolyakov.narod.ru


30

© К.

I. ,

, 1995-2009

.

i < N.

6

( . ,

)

,

, 1

, ,

, .

2.

,

,

http://kpolyakov.narod.ru


© К.

.

31 , 1995-2009

6.

4

:

.

, -

, .

,

.

#include <graphics.h> #include <conio.h> main() { initwindow ( 400, 300 ); //

400

// ...

6

getch();

//

closegraph(); }

//

»)

?

• •

300

graphics.h. initwindow

,

. .

closegraph.

4

?

6

• •

.

,

-

. ,

X

(0,0)

(0,0),

y

. X

,

Y—

(

-

x

( x, y )

).

Y

x–

, y–

. http://kpolyakov.narod.ru


32

© К.

I.

6

16 0 1 2 3 4 5 6 7

, 1995-2009

:

BLACK BLUE GREEN CYAN RED MAGENTA BROWN LIGHTGRAY

8 9 10 11 12 13 14 15

-

DARKGRAY LIGHTBLUE LIGHTGREEN LIGHTCYAN LIGHTRED LIGHTMAGENTA YELLOW WHITE

,

-

(

256 = 16 777 216

0

3

True Color, (G)

(R) ,

: 255 (256

),

, COLOR,

. R,G

,

). (B).

B(

).

,

:

setcolor

COLOR(0,0,0) COLOR(255, 0, 0) COLOR(0, 255, 0) COLOR(0, 0, 255) COLOR(255, 255, 255) COLOR(100, 100, 100) COLOR(255, 0, 255) COLOR(0, 255, 0) :

setcolor ( 10 ); //

(

,

-

-

),

, :

setcolor ( COLOR(255,0,255) ); //

,

(

)

.

6

. putpixel: putpixel ( x, y, 14 );

//

(x,y)

getpixel

:

n = getpixel(x, y); //

(x,y)

n

6 line: line ( x1, y1, x2, y2 ); (x1,y1)

: moveto,

//

(x1,y1)-(x2,y2)

(

) (x2,y2)

lineto:

http://kpolyakov.narod.ru


© К.

. moveto ( x1, y1 ); lineto ( x2, y2 );

// //

(x1,y1) (x2,y2)

lineto

(x1, y1)

(x2,y2).

: setcolor(12); moveto (x1, y1); lineto (x2, y2); lineto (x3, y3); lineto (x4, y4); lineto (x5, y5);

33 , 1995-2009

(x2, y2)

(x3, y3)

(x5, y5)

// // // //

(x4, y4)

. .

6 -

( ). setcolor,

rectangle:

(x2, y2)

setcolor ( 9 ); rectangle (x1, y1, x2, y2);

(x1, y1)

bar. setfillstyle:

,

6

setfillstyle ( 1, 12 ); // bar (x1, y1, x2, y2); setfillstyle 0 – 1 – 3,4,5,6 – 7,8 – 9,10,11 – – .

1,

-

(x2, y2)

12

:

circle:

, setcolor ( COLOR(0,255,0) ); // circle ( x, y, R ); .Э

(x1, y1)

circle

,

,

-

: circle ( 200, y0+20, R );

6 .Э

,

(x, y)

floodfill: setfillstyle ( 1, 11 ); // floodfill (x, y, 0); //

1,

11 0

http://kpolyakov.narod.ru


34

© К.

I. (x,y)

,

,

(

, 1995-2009

!) ,

,

6

. . floodfill.

outtextxy

-

(x, y)

. (x,y)

Вася

. setcolor:

setcolor ( 9 ); outtextxy ( x, y, "

4

" );

(200, 50) (100, 100)

, . #include <graphics.h> #include <conio.h> main() { initwindow (440, 300); setfillstyle (1, 9); bar (100,100,300,200); // setcolor (13); // rectangle (100,100,300,200); moveto (100,100); // lineto (200, 50); lineto (300,100); setfillstyle (1, 14); // floodfill (200, 75, 13); setcolor (15); circle (200, 150,50); // setfillstyle (1, 10); floodfill (200,150, 15); // setcolor (12); outtextxy (100, 230, "Sharik's house."); getch(); closegraph(); }

.

(300, 200) Sharik's house

http://kpolyakov.narod.ru


© К.

.

35 , 1995-2009

7.

4 ( ,

,

-

).

. , -

« ,

», .

, (

,

)

(

,

).

-

, (

)

( (x,y) –

(x, y-60)

). , 100 60. : (x,y-60) (x+100,y). . Tr,

60 Y

(x, y)

100 (x+100, y)

, .

:

Tr ( x, y, c ); c–

. ,

(

, «

(

-

) »).

,

-

,

.

: void Tr ( int x, int y, int c ) { moveto ( x, y ); // lineto ( x, y-60 ); // lineto ( x+100, y ); lineto ( x, y ); setfillstyle ( 1, c ); // floodfill ( x+20, y-20, 15); // }

,

,

(

.

)

(

-

),

,

. ,

main,

-

-

.

,

, –

,

. void Tr ( int x, int y, int c )

http://kpolyakov.narod.ru


36

© К.

I. void

, -

2

(

, 1995-2009

,

-

), -

.

.

. ,

.

. ( -

, – x

y)

(

-

c).

60

,

,

-

, (

)

(100,100)

. ,

100

. ? (100,100). 100 60, : (200,100)

, ,

-

(200,160)

.

: #include <conio.h> #include <graphics.h> void Tr ( int x, int y, int c ) { moveto ( x, y ); // lineto ( x, y-60 ); // lineto ( x+100, y ); lineto ( x, y ); setfillstyle ( 1, c ); // floodfill ( x+20, y-20, 15); // } main() { initwindow (400, 300); Tr (100, 100, COLOR(0,0,255)); Tr (200, 100, COLOR(0,255,0)); Tr (200, 160, COLOR(255,0,0)); getch(); closegraph(); }

.

(

,

)

. ,

,

.

Tr (100, 100, COLOR(0,0,255));

.

(

).

(100) – x,

2

-

,

. .

-

,

.

http://kpolyakov.narod.ru


© К.

.

37 , 1995-2009

Tr,

. , ,

,

,

-

: Tr (200, 100, COLOR(0,255,0)); Tr (200, 160, COLOR(255,0,0));

6

?

,

.

,

: void. Э

— ,

. (int, float, char). ,

.

,

,

,

— ,

. , .

( ).

,

. . ; ,

-

, ,

:

Tr ( 100 );

Too few arguments (

Tr (100, 100, 5, 5);

Too many arguments (

). …).

— (

)

,

,

-

.

-

.

, .

-

50

),

(2

25

. return,

. return:

.

http://kpolyakov.narod.ru


38

© К.

I.

, 1995-2009

8.

4

,

, .

:

,

(

-

).

(

), -

. . З

, .

,

,

-

10,

,

,

. .

.

#include <stdio.h> #include <conio.h> int SumDigits ( int N ) { int d, sum = 0; while ( N != 0 ) { d = N % 10; sum = sum + d; N = N / 10; } return sum; } main() { int N, s; printf ( "\n scanf ( "%d", &N ); s = SumDigits (N); printf ( " getch(); }

// //

//

// //

sum

"); // %d

%d\n", N, s );

?

,

-

.

,

6

.

,

.

10. -

.

:

. (int, float, char, .

,

. .) — —

,

. http://kpolyakov.narod.ru


© К.

.

39 , 1995-2009

(int, float, char).

,

.

,

,

,

.

— .

,

-

.

( ).

,

. . ,

return,

,

-

– .

:

return 34; return s; return a + 4*b - 5; return

. return.

, .

. , —

4 »

«

-

.

, «

». ,

,

.

.

– «

,

,

1(

«

»)

0(

»). :

,

-

.

-

,

-

.

6 З

? .

N .

,

.

,

http://kpolyakov.narod.ru


40

© К.

I.

, 1995-2009

. , #include <stdio.h> #include <conio.h> int Prime ( int N ); main() { int N; printf ( "\n scanf ( "%d", &N ); if ( Prime(N) ) printf ( "Ч else printf ( "Ч getch(); } int Prime ( int N ) { for ( int i = 2; i*i if ( N % i == 0 ) return 1; // }

4

.

//

"); // %d %d -

\n", N ); \n", N );

// <= N; i ++ ) return 0; //

– –

! !

, ,

. —

-

. З

.

,

. :

,

, (

) ,

-

. ,

-

.

#include <stdio.h> #include <conio.h> int MinMax ( int a, int b, int &Max ) { if ( a > b ) { Max = a; return b; } else { Max = b; return a; } } main() { int N, M, min, max; printf ( "\n 2 "); scanf ( "%d%d", &N, &M ); min = MinMax ( N, M, max ); // printf ( "Н %d, getch(); }

-

— %d\n", min, max );

http://kpolyakov.narod.ru


© К.

.

, -

,

41 , 1995-2009 -

,

,

. &(

,

), ,

-

.

max

6

.

?

,

,

, (

: return

o o a

, N

M

b

MinMax,

). .

(

,

)

:

&—

, •

( max

(

). — ).

http://kpolyakov.narod.ru


42

© К.

I.

, 1995-2009

9.

4

:

(

#include

, ):

const N = 20;

,

-

. (

). — ,

.

-

, .

,

.

,

4

-

.

. . (

,

,

),

,

.

-

. #include <stdio.h> int var = 0; // void ProcNoChange () { int var; // var = 3; // } void ProcChange1 () { var = 5; // } void ProcChange2 () { int var; // var = 4; // ::var = ::var * 2 + var; // } main() { ProcChange1(); // var = 5; ProcChange2(); // var = 5*2 + 4 = 14; ProcNoChange(); // var printf ( "%d", var ); // }

(14)

http://kpolyakov.narod.ru


© К.

.

6

43 , 1995-2009

?

.

, .

,

,

:

::var = ::var * 2 + var;

,

• •

; —

,

-

;

,

,

-

. :

• •

(

. .); .

,

4

,

.

,

,

6

.

? ? ,

-

(

#include <stdio.h> main() { float x, y; printf ("\n 2 "); scanf ("%d%d", &x, &y); printf ("И %d ", x+y); }

)

:

#include <stdio.h> main() { float x, y; printf ( "\n 2 " ); scanf ( "%d%d", &x, &y ); printf ( "И %d ", x+y );}

,

(

,

-

). • •

, (

)

http://kpolyakov.narod.ru


44

© К.

I.

6

, 1995-2009

:

, ,

. -

,

,

-

.

,

.

,

,

-

, : void Square ( int x, int y, int a ); •

void Kvadrat ( int x, int y, int a );

( -

).

: ,

,

,

-

. -

25-30 .

, ,

.

.

.

, , 1)

( (

-

0).

//********************************************** // ROMB — // (x,y) — // a, b — // color, colorFill — // 1, , 0 // //********************************************** int Romb ( int x, int y, int a, int b, int color, int colorFill ) { if ( (x < a) || (x > 640-a) || (y < a) || (y > 480-b) ) return 0; //-----------------------------------setcolor ( color ); line ( x-a, y, x, y-b ); line ( x-a, y, x, y+b ); line ( x+a, y, x, y-b ); line ( x+a, y, x, y+b ); setfillstyle ( SOLID_FILL, colorFill ); floodfill ( x, y, color ); return 1; }

http://kpolyakov.narod.ru


© К.

.

6

45 , 1995-2009 (

).

, ,

.

, -

:

2—3

. .

• o o o

for, while, do-while if else switch ( «

»):

main() { int a = 1, b = 4, i; for (i=1; i<2; i++) { if ( a > b ) { b = a + i; } else { a = b + i; } } printf ( "%d %d\n", a, b ); }

http://kpolyakov.narod.ru


46

© К.

I.

, 1995-2009

10. А

4

?

А

( ,

,

animate – . .

, ,

• •

).

:

, .

-

Esc.

4

, –

-

)

(

.

-

,

6

Esc.

, (x, y)

.

20

.

.

, (

(x+20, y+20)

)

(x,y). (x+20,y+20).

,

,

-

. : 1) 2) 3) 4) 5)

; (

10-20

);

; ; 1.

Э »(

, Esc

« ). .

, y,

color.

.

void Draw( int x, int y, int color ) { setfillstyle ( 1, color ); // bar ( x, y, x+20, y+20 ); // }

,

.

x

, ,

-

,

color

. http://kpolyakov.narod.ru


© К.

.

, .

,

, while (

47 , 1995-2009

,

,

, ).

– Esc.

400

400

x

.

0 399, x + 20 < 400

: ,

«

»

.

6

Esc. getch.

: ,

1.

0(

«

,

2.

kbhit, ,

; »),

-

. if ( kbhit() ) { ... } , , . 256

• •

getch. 1

-

, 0

255.

Esc (27),

,

,

Esc Enter

6 «

.

-

27 13 32

»

:

#include <conio.h> #include <graphics.h> void Draw ( int x, int y, int color ) { setfillstyle ( 1, color ); // bar ( x, y, x+20, y+20 ); // } main() { int x, y; // initwindow (400, 400); // setfillstyle(1, COLOR(0,0,255)); // bar (0, 0, 399, 399); // x = 0; y = 240; // /* */ closegraph(); // }

,

color

,

http://kpolyakov.narod.ru


48

© К.

I.

, 1995-2009

, /*

*/

,

,

-

Esc. while ( x + 20 < 400 ) // { if ( kbhit() ) // if ( getch() == 27 ) break; Draw ( x, y, COLOR(255,255,0) ); delay ( 20 ); Draw ( x, y, COLOR(0,0,255) ); x ++; } while Esc

... // // // // //

Esc, (

)

,

. .

,

kbhit),

(

getch) ,

( break.

Esc,

, 20

delay

,

20, .

x

6

.

-

?

0, -

kbhit.

, ,

,

. ,

(

)

getch.

delay.

, .

,

.

4

-

6

:

, x

. dx

dy,

y

1

: dx dx dx dx

Э

-

> < = =

0, 0, 0, 0,

dy dy dy dy

= = < >

0 0 0 0

, if,

.

-

switch,

. http://kpolyakov.narod.ru


© К.

. switch

if 2

1

1

2

3

4

,

(

. . 2

, ,

(

-

,

-

).

,

:

75 77

72 80 :

75, 77, 72

6

) –

,

,

M, H

49 , 1995-2009

80

,

K,

P.

,

, -

.

-

, getch.

(

) ,

,

. while(1). break (

).

while ( 1 ) { Draw ( x, y, COLOR(255,255,0) ); code = getch(); if ( code == 27 ) break; Draw ( x, y, COLOR(0,0,255) ); switch ( code ) { case 75: x --; break; case 77: x ++; break; case 72: y --; break; case 80: y ++; } } switch

// // // // // // // // // //

Esc,

, break, code

. ,

.

,

-

.

6

, ,

, dx

. .

-

,

,

dy,

,

http://kpolyakov.narod.ru


50

© К.

I.

, 1995-2009

code, switch. dx = 1; dy = 0; // while ( 1 ) // { if ( kbhit() ) { // code = getch(); // if ( code == 27 ) break; // switch ( code ) { // case 75: dx = -1; dy = 0; break; case 77: dx = 1; dy = 0; break; case 72: dx = 0; dy = -1; break; case 80: dx = 0; dy = 1; } } Draw ( x, y, COLOR(255,255,0) ); // delay ( 10 ); // Draw ( x, y, COLOR(0,0,255) ); // x += dx; // y += dy; }

Esc,

http://kpolyakov.narod.ru


© К.

.

51 , 1995-2009

11.

4

? , ?

.

,

-

. ,

: —

,

. .

,

,

,

,

. (

,

. .)

.

,

,

. . .

.

,

,

-

, . ,

4

,

,

,

,

.

( .

),

, OX .

,

, a

b.

,

,

.

— -

,

,

.

( )

, . ,

,

.

http://kpolyakov.narod.ru


52

© К.

4

I.

, 1995-2009

( stdlib.h —

,

-

): n = rand();

0 — 32767)

RAND_MAX (

-

srand ( m );

m

,

4

[a,b].

(a=0), N

:

N,

,

[0,N-1]. int random ( int N ) { return rand() % N; } ( [0,N-1]

//

[0,N-1]

) . [a,b].

,

-

k = random(N) + a; [a,b],

[a,a+N-1]. N=b-a+1.

b=a+N-1,

[a,b] k = random(b-a+1) + a;

. rand()

RAND_MAX:

x = (float) rand() / RAND_MAX; [0,1) (

-

, ). [0,1)

1,

b-a.

b-a

a,

-

. [a,b) x = rand()*(b-a)/RAND_MAX + a;

.

?

: http://kpolyakov.narod.ru


© К.

.

53 , 1995-2009

, .

-

,

, .

4

x y ,

[0,299]

,

COLOR

,

(R),

(B)

(R,G,B)

?

,

-

kbhit,

0,

, ,

. getch.

. (G)

[0,255].

#include <graphics.h> #include <conio.h> #include <stdlib.h> int random (int N) { return rand() % N; } // main() { int x, y, R, G, B; initwindow (500, 500); while ( ! kbhit () ) { // x = random(400); // y = random(300); R = random(256); // G = random(256); B = random(256); if ( getpixel(x,y) != 0 ) // putpixel ( x, y, 0 ); // else // ... putpixel ( x, y, COLOR(R,G,B) ); // } getch(); closegraph(); }

6

[0,399], (x,y).

,

, ,

, «

»

:

while ( ! kbhit() ) { ... }

,

,

getpixel.

http://kpolyakov.narod.ru

result  
Read more
Read more
Similar to
Popular now
Just for you