Моя первая программа на C/C++

Учебное пособие по программированию на языках С/С++ . Книга ориентирована на новичков. Этот язык базируется на версиях я

322 48 6MB

Russian Pages 267

Report DMCA / Copyright

DOWNLOAD PDF FILE

Recommend Papers

Моя первая программа на C/C++

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

...................................................................................................................................3 ......................................................................................................4 ................................................................................................................................5 .......................................................................................................................................6 1.

.................................................................................................7

2.

/

3.

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

4. 5.

++........................................................................................................ 22

/ /

++ ............................................................................................................ 47 ++ .............................................................................................................. 71

6.

...................................................................................................................... 89

7.

............................................................................................... 107

8.

...................................................................... 129

9.

........................................................................................................................... 149

10.

......................................................................................................... 171

11.

................................................................................................. 196

12.

.............................................................................................. 218

13.

................................................................................................. 246 I............................................................................................................................. 262 II............................................................................................................................ 295

www.books-shop.com

, ,

. .

-

:

++ , ++,

.

, /

,

++.

, !

Э

.

.

, .

,

-

-

.

,

-



-

. . ,

-

I.

. ++,

,

,

.

www.books-shop.com

Э

Э

. . . ,

-

, . C WARE Corporation

,

.

Э

Э

,

,

,

,

,

,

. . SYBEX,

. .

,

. ++.

, ,

-

!

www.books-shop.com

,

-

,

.

. -

-

,

. . ,

-

,

,

,

, .



, , .Э

.

, ++

, BASIC, WordPerfect, Lotus, Excel.

,

, .

, « ANSI

K&R

, /

.

,

++»

,

,

++.

, ,

-

,

,

-

,

++.

++,

,

,

-

.

,

-

.

. .

,

,

,

,

-

. . ,

.

.

, .

1

2

, ++. .

,

3

4,

,

.

.

-

,

6

5

,

,

-

9

, -

. 7,

, .

, 8

,

,

,

.

,

10

. .

,

12

11 —

,

,

. , ,

13

-

,

. ,

,

. I II —

, 13.

, . ,

,

-

.

++, . ANSI

,

,

++.

www.books-shop.com

1 , ,

,

.

.

,

-

. ,

,

-

,

, .

,

-

,

-

,

,

,

,

.

-

, ,

, -

,

,

.

, ,

— ,

,

, . , ,



, -

,

,

, -

.

,

, .

,

,

,

,

. -

,

,

,

,

.

,

, .

,

-

. ,

.

,

:

,

,

-

,

,

, .

-

,

,

,

,

-

. ,

,

, ,

.

,

,

,

-

,

.

,

,

. ,

,

, .

,

,

, -

?

,

.

-

, ,

-

? ,

-



, ,

,

, -

. *

, .

,

, .Э

, ,

,

.

,

,

,

,

,

,

,

.

-

.

, . . ,

?

:

,

.

. «

, ,

-

».

,

: ,

.

www.books-shop.com

++ ++ , » «

«

»



, ++

-

«

» .

,

,

-

. ,

.

-

,

:

; 90 50

;

; 90

; ;

. ,

,

, *

-

. ,

,

,

-



++. (П и .

, .)

,

, ,

,

-

,

-

. . «

-

A, B, ! ?» :« 15%»,

, ,

C, , ,

-

-

. -

,

. 50

, ,

25%

, -

.

www.books-shop.com

. 1.1.

,

,

,

, ,

, ,

.

,

,

.

,

-

,

, «OK»,

,

.

-

,

,

.



,

. .

,

,

— (

-

.1.1). , ,

, .

, .

-

,

,

,

,

. .

,

,

,

-

www.books-shop.com

,

. ,

Э

.

,

,

(

): «



»)



-

( (

«

»).

, «

»

« ,

».

.1.2 ,

« »*. ,

«

»,

. (П и .

*

. 1.2.

« —

, «

0,

-

1,

»

, .)

«

»

,

,

,

».

(

,

)*

,

-

. «

», «

».

, ,

,

,

, *

, binary digit, bit. (П и .

. -

. .)

www.books-shop.com

. 1.3. , . 0 , , .

,

-



, .

, ,

,

MOV ,

. 0

1,

.

JMP

,

,

-

1,

,

,

-

. . 1.3,

,

.

. 1.4.

, ,

,

,

, .

Ⱦɚɧɧɚɹɜɟɪɫɢɹɤɧɢɝɢɜɵɩɭɳɟɧɚɷɥɟɤɬɪɨɧɧɵɦɢɡɞɚɬɟɥɶɫɬɜɨɦ%RRNVVKRS ɊɚɫɩɪɨɫɬɪɚɧɟɧɢɟɩɪɨɞɚɠɚɩɟɪɟɡɚɩɢɫɶɞɚɧɧɨɣɤɧɢɝɢɢɥɢɟɟɱɚɫɬɟɣɁȺɉɊȿɓȿɇɕ Ɉɜɫɟɯɧɚɪɭɲɟɧɢɹɯɩɪɨɫɶɛɚɫɨɨɛɳɚɬɶɩɨɚɞɪɟɫɭ[email protected]

-

, ,

0 ,

.

,

,

puts()*

-

1. .

-

. . 1.4

,

++

,

-

,

.

,

-

. ,

, ,

puts()

,

, —

.

put string. (П и .

*

.) , .

, .

,

. ,

,

-

.

,

,

, .

, .

. ,

,

,

— .

. 1.5 ,

. .

(

,

,



-

)

,

.

. 1.5. ,

++, —

,

. ,

++ .Э ,

, ,

++ , ++.

www.books-shop.com

. (

,

). .

,

,



.

, ,

.

,

,

-

.C, .OBJ,

-

. .

,

,

-

, ,

, -

.

++,

,



.

.

-

. -

.

,

. ,

,

-

,

-

.

. 1.6.

-

,

,

-

. . . .

.1.6

, BASIC, .

MS-DOS, ?

, ,

,

,

.

, ,

,

, ,

.

www.books-shop.com

?

,

-

,

,

, .Э

, ,

. -

, ,

,

.

++ ,

, .Э

++.

/

++,

,

,

. ,

. ,

.

-

, ,

.

/

++?





,

, .Э

.

:

, .

,

,

,

, -

. .

,

,

, . ,

. ?

, ,

-

. ,

.

,

,

.

-

. IBM PC Apple Macintosh,

, .

.

,

( . :

-

)

,

,

, IBM,

,

,

Apple.

.

,

,

,

. .

-

,

,

,

.

,

.

BASIC, -

«

.

».

,

-

. »

«

,

-

, ,

.

,

.

-

, ,

.

www.books-shop.com

.

, (

, 27

(keywords) « . (П и .

*

. 1.7.

). *.



-

,

-

»

«

»

.)

,

,

-

.

. —

,

-

. ,

. , ,

, ,

, (

,

. , ,

puts().

,

). . ,

www.books-shop.com

. 1.8.

/ ,

.

( (

-

.1.7)

,

)

. ,

.

,

«

»

. ,

, .

(header -

,

file)

.H. ,

.

. . 1.8

/ ,

. ,

,

.

,

. ,

.

,

. ,

,

,

, ,

,

.

,

. ,

. C. ,

,

, ,

,

A, B,

, ,

-

,

,

,

. .

IBM-

, IBM.

Mac

,

Mac. ,

.

www.books-shop.com

. «

1972

.

».

,

,

K&R

(

,

). K&R, .

, K&R-

, ,

,

-

, , 1983

*

* American National Standards Institute. (П и . ANSI

,

-

.

-

, ,

.)

. ANSI. ,

++—

.

,

-

, ++.

, .

,

. ++

++

, -

.

,

, ,

.

, ,

.

,

:

,

-

.

-

,

, .

.

-

,

:

, 12

555-1234

«

»

,

, ,

:

. ,

,

,

-

),

-

, .

-

( . .

(

),

:

www.books-shop.com

,

,

.

,

:

:

(

,

:

(

:

, 12) , 555-1234)

(

,

)*

,

.

-

-

,

.

,

, .

-

,

,

,

.

,

,

.

-

++. ,



,

, ,

.

,

.

, .

Э

.

,

,

. ,

. . * : Member_cards.change_address(Smiths, 12 West Avenue) Member_cards.change_phone(Doe, 555-1234) Member_cards.change_status(Jones, inactive) ++. (П и .



.)

.

-

,

.

-

.

, .

. ,

,

-

. ,

,

.

? ,

:

.

.

, ,

,

— ,

,

.

.

,

,

. . ,

. :

www.books-shop.com

Д

,

. . ,

. . Ы

Д

.

,

. .

,

,

-

.

, .

-

, .

,

. ,

-

,

-

. ,

,

.



,

,

-

.

,

-

. , .

,

, .

,

.

,

.

-

:

.

,

,

.

-

,

. .

,

ACCOUNT.DAT,

. ,

,

-

. ,

-

. ,

,

,

-

,

. ,

. . .

,

,

, ,

. 100

,

, , 1666.66 .

.

,

,

,

, !

,

6%

, ,

.

,

.

www.books-shop.com

-

,



,

ё-

. .

-



,

,

,

-

,

,

.

, ,

,

-

. ,

.

,

.

, ++,

,

. -

, ASCII

DOS TEXT.

-

. , ,

, .

, . ,

. ,

,

.

,

,

,

. *. ,

,

.

(debugger)

-

. ,

,

.

,

.

(profiler) .

,

(assembler)

,

,

-

. (IDE). ,

,

,

, .

:

, ,

/

, ,

.

++ .Э

.

,

,

,

-

, ,

. DOS, Windows

. .

-

,

,

.

1.

?

2.

?

3.

?

4.

?

5. 6.

? ?

.

www.books-shop.com

7.

?

1.

.

2.

,

, (

— 65

). **

, ANSI

(П и .

. Borland,

,

Borland C 1.0

.

.)

Ⱦɚɧɧɚɹɜɟɪɫɢɹɤɧɢɝɢɜɵɩɭɳɟɧɚɷɥɟɤɬɪɨɧɧɵɦɢɡɞɚɬɟɥɶɫɬɜɨɦ%RRNVVKRS ɊɚɫɩɪɨɫɬɪɚɧɟɧɢɟɩɪɨɞɚɠɚɩɟɪɟɡɚɩɢɫɶɞɚɧɧɨɣɤɧɢɝɢɢɥɢɟɟɱɚɫɬɟɣɁȺɉɊȿɓȿɇɕ Ɉɜɫɟɯɧɚɪɭɲɟɧɢɹɯɩɪɨɫɶɛɚɫɨɨɛɳɚɬɶɩɨɚɞɪɟɫɭ[email protected]

2 /

++

,

, . , for) scanf,

, ( (

,

scan format) ), -

( ,

, ,

«

-

.

».



,

,

. .

++ ++ ,

. ++.

,

,

.

,

,

,

, .

,

,

,

,

-

, . ,

. (

++)

,

main().

:

main() , ,

,

,

main.

. .

,

,

.

main() ,

. . ({)

,

(})

*. ,

main()

,

-

,

-

,

,

:

,



{ .....; .....;

,

.....; } * (П и .

,

,

.

.)

www.books-shop.com

. 2.1.

/

.

++

,

.

-

, . /

main(). «OK»:

++,

main() { puts("OK"); }

Э

, .

,

,

,

.

,

, ,

3).

OK (

,

.2.1

. .

,

.

:

main() { puts("

");

puts("

?");

} ,

. ,

-

. puts(), ,

,

puts(),

.

www.books-shop.com



++

,

,

-

. :

main(){puts("OK");} ,

. :

,



main()



,

-

; ;



. ,

-

, . puts()

-

. 4. .

,

,

-

. ,

-

,

. ,

-

,

. ,

,

,

.

,

, ,

. PUTS()

puts(), ,

, ,

Puts().

-

.

-

.

return ,

,

?

-

,

, MS-DOS, Windows,

,

, .

,

.

,

-

,

,

.

return(0), main():

,

-

main() { puts("

");

puts("

?");

return(0); } return(0)

,

.

,

, . return;

.

0 return(0);

.

,

,

-

.

-

return(0), ,

-

.

,

:

main()

www.books-shop.com

{ puts("

");

return(0); puts("

?");

} puts(),

"

?".

, . .

,

,

,

,

, .

.

, .

,



-

.

.

, .

,

,

, .

,

,

, .

,

,

,

-

,

,

. /*

*/.

:

/*Э

*/

main() { puts("OK"); return(0); } /*

, ,

.

*/

.

,

,

,

.

-

,

. ,

/*Э

:

*/

main() { /*

"OK"*/

puts("OK"); return(0); /*

*/

} (

)

-

. ,

.

*/,

, :

/*Э

, return(0)

,

www.books-shop.com

*/ :

/*Э

,

*

return(0)

,

* */ :

/* ****************************** *Э

,

*

*

return(0)

,*

*

*

****************************** */ . ,

,

,

.

++ , */

, .

, ,

++

//, ,

.

:

//Э main() { puts("OK"); return(0); // } , //:

//Э

,

//

return(0)

,

// ++

-

/*

, .

«

puts(),

»

,

*/.

,

, . *.

, , .

. — , puts()

, ?

www.books-shop.com

. .

puts("

-

,

"); «

»

,

.

,

puts(),

*

,

(П и .

.2.2, ».

« ,

,

,

-

-

,

.

.)

. 2.2. ,

,

- - - - - ,

-

( , ")— .

, puts(" «

puts(" , puts()

,

» :

. ,

")

. puts(),

, «

»

puts() .

,

,

-

3).

. .

. ,

main()

puts().

main()

, .

,

main(),

-

, puts().

, puts()—

,

main().

#include , ,

STDIO.H.

:

#include main()

www.books-shop.com

{ puts("OK"); return(0); } #include

, STDIO.H. STDIO.H .

(standard input/output).

, /

stdio

-

,

,

-

,

main().

? ,

(
),

,

-

INCLUDE. , . ,

INCLUDE.

#include "stdio.h" ,

. ,

, . *

?

STDIO.H.

, ,

getc(), , getchar(). Э

, «

»*

.

.

getchar()

getc()

,

.

STDIO.H ,

-

,

, STDIO.H,

-

? getchar(),

, #include.

,

-

STDIO.H,

-

. *

. (П и .

«

»

,

-

.) .Э

, .

-

.

,

, ,

.

— ?

,

.

, ,

,

.

,

,

. ,

-

. :

,

, ,

. .

,

. main(),

(

7

).

www.books-shop.com

— get a character. (П и .

*

.) -

.

,

, .

, .

, ,

, ,

, -

,



?»—

,

-

.

1.

,

2.

? ?

3.

return?

4.

?

5.

?

6.

?

1.

,

-

:

. . 2.

,

, .

3.

,

4.

main()

5.

(

6.

puts("

:

");

}

www.books-shop.com

3 . ,

,

,

.

,

.

,

, ,

, ,

,

,

. ,

,

,

, ,

-

.

-

,

.

-

.

,

-

.

. .

-

,

,

-

,

. , ,

, .

,

. ,

.

,

, ,

,

.

++ ++

, ++ K&R

. ,

-

.

(char,

character)

,

-

.

, *,

,

,

( , 26

.3.1). 26

:

. 3.1.

* 1

(8

char ). (П и .

,

,

.)

ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghigklmnopqrstuvwxyz :

1234567890 :*

!@#$%^&*()_+-=|\}{"':;?/>. 0 && number 0 && number < 51) puts(" 0

50");

else if(number > 50 && number 101 && number < 151) puts(" 101

150");

else puts(" 150"); } 4. highnum.

, lownum

lownum highnum. ,

, highnum.

lownum,



.

main() { int lownum, highnum, temp; puts("

.

puts("

\n"); ,

.\n");

printf("

: ");

scanf("%d", &lownum); printf("

: ");

scanf("%d", &highnum); putchar('\n'); if(lownum < highnum) puts(" .\n"); else { temp = highnum; highnum = lownum; lownum = temp; puts("

.\n");

puts("

.\n");

} printf("

lownum %d\n", lownum);

printf("

highnum %d\n", highnum);

} 5.

,

:

main() { int age; printf(

);

scanf("%f", &age);

www.books-shop.com

if age < 18 then puts("

");

else if age > 18 then puts(" В

");

printf() .П

age,

int, scanf()

float.

if .

then

.

П , 18

.

9 1.

8.10 ( ,

8)

, .

main() { float rate, hours, total, regular, extra, d_time, overtime; int moredata; do { printf("

: ");

scanf("%f", &rate); printf(" : "); scanf("%f", &hours); d_time=rate * 2; if (hours