Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«C++Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 5

Автор Бтраустрап Π‘ΡŒΡΡ€Π½

[17] UNIX Programmer's Manual. 4.2 Berkeley Software Distribution University of California, Berkeley, California. March 1984.

Π“Π»Π°Π²Π° 1

Π’ΡƒΡ€Π½Π΅ ΠΏΠΎ Π‘++

ЕдинствСнный способ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ язык программирования – ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° Π½Π΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Брайэн ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½

Π­Ρ‚Π° Π³Π»Π°Π²Π° прСдставляСт собой ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ€ основных Ρ‡Π΅Ρ€Ρ‚ языка программирования Π‘++. Π‘Π½Π°Ρ‡Π°Π»Π° приводится ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° Π‘ ++, Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ Π΅Π΅ ΠΎΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ, ΠΈ ΠΊΠ°ΠΊ такая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Ρ‚Ρ€Π΅Ρ‚ΠΈ этой Π³Π»Π°Π²Ρ‹ послС ввСдСния описаны Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ Ρ‡Π΅Ρ€Ρ‚Ρ‹ Π‘++: основныС Ρ‚ΠΈΠΏΡ‹, описания, выраТСния, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ структура ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠžΡΡ‚Π°Π²ΡˆΠ°ΡΡΡ Ρ‡Π°ΡΡ‚ΡŒ Π³Π»Π°Π²Ρ‹ посвящСна возмоТностям Π‘++ ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ Π½ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², ΡΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ…, опСрациям, опрСдСляСмым ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, ΠΈ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ опрСдСляСмых ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Ρ‚ΠΈΠΏΠΎΠ².

1.1 Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π­Ρ‚ΠΎ Ρ‚ΡƒΡ€Π½Π΅ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Ρ‚ вас Ρ‡Π΅Ρ€Π΅Π· ряд ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ частСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° Π‘++. К ΠΊΠΎΠ½Ρ†Ρƒ Ρƒ вас Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒΡΡ ΠΎΠ±Ρ‰Π΅Π΅ прСдставлСниС ΠΎΠ± основных особСнностях Π‘++, ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ достаточно ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΈΡΠ°Ρ‚ΡŒ простыС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Для Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΠΈ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ объяснСния понятий, Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹Ρ… Π΄Π°ΠΆΠ΅ Π² самом малСньком Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ Π±Ρ‹ нСсколько страниц ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ эту Π³Π»Π°Π²Ρƒ Π² описаниС ΠΈΠ»ΠΈ Π² осуТдСниС ΠΎΠ±Ρ‰ΠΈΡ… понятий, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ снабТСны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ самыми ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΌΠΈ опрСдСлСниями ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ². Π’Π΅Ρ€ΠΌΠΈΠ½Ρ‹ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ·ΠΆΠ΅, ΠΊΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚ большС ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², ΡΠΏΠΎΡΠΎΠ±ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠ±ΡΡƒΠΆΠ΄Π΅Π½ΠΈΡŽ.

1.1.1 Π’Ρ‹Π²ΠΎΠ΄

ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго, Π΄Π°Π²Π°ΠΉΡ‚Π΅ напишСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π²Ρ‹Π²ΠΎΠ΄ΡΡ‰ΡƒΡŽ строку Π²Ρ‹Π΄Π°Ρ‡ΠΈ:

#include Β«stream.hΒ»

main() (* cout Β«β€ž Β«Hello, world\nβ€œ; *)

Π‘Ρ‚Ρ€ΠΎΠΊΠ° #include Β«stream.hΒ» сообщаСт компилятору, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ» стандартныС возмоТности ΠΏΠΎΡ‚ΠΎΠΊΠ° Π²Π²ΠΎΠ΄Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π°, находящиСся Π² Ρ„Π°ΠΉΠ»Π΅ stream.h. Π‘Π΅Π· этих описаний Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ cout Β«β€ž β€žHello, world\nβ€œ Π½Π΅ ΠΈΠΌΠ΅Π»ΠΎ Π±Ρ‹ смысла. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ β€žΒ« (Β«ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π²β€œ*) ΠΏΠΈΡˆΠ΅Ρ‚ свой ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ (Π² Π΄Π°Π½Π½ΠΎΠΌ случаС, строку Β«Hello, world\nβ€œ Π² стандартный ΠΏΠΎΡ‚ΠΎΠΊ Π²Ρ‹Π²ΠΎΠ΄Π° cout). Π‘Ρ‚Ρ€ΠΎΠΊΠ° – это ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Π°Ρ Π² Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ. Π’ строкС символ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ косой \, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт Π΄Ρ€ΡƒΠ³ΠΎΠΉ символ, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ символ, Π² Π΄Π°Π½Π½ΠΎΠΌ случаС, \n являСтся символом Π½ΠΎΠ²ΠΎΠΉ строки. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ символы состоят ΠΈΠ· Hello, world ΠΈ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° строки.

– * ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΌ Π½Π° C «« извСстно ΠΊΠ°ΠΊ опСрация сдвига Π²Π»Π΅Π²ΠΎ для Ρ†Π΅Π»Ρ‹Ρ…. Π’Π°ΠΊΠΎΠ΅ использованиС «« Π½Π΅ утСряно, просто Π² дальнСйшСм «« Π±Ρ‹Π»ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ для случая, ΠΊΠΎΠ³Π΄Π° Π΅Π³ΠΎ Π»Π΅Π²Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ являСтся ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ Π²Ρ‹Π²ΠΎΠ΄Π°. Как это дСлаСтся, описано Π² #1.8. (ΠΏΡ€ΠΈΠΌ. Π°Π²Ρ‚ΠΎΡ€Π°)

ΠžΡΡ‚Π°Π»ΡŒΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

main() (* ... *)

опрСдСляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π½Π°Π·Π²Π°Π½Π½ΡƒΡŽ main. КаТдая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ с ΠΈΠΌΠ΅Π½Π΅ΠΌ main, ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ начинаСтся с выполнСния этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

1.1.2 ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ

ΠžΡ‚ΠΊΡƒΠ΄Π° появились Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡ‚ΠΎΠΊ cout ΠΈ ΠΊΠΎΠ΄, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π²Ρ‹Π²ΠΎΠ΄Π° ««? Для получСния выполняСмого ΠΊΠΎΠ΄Π° написанная Π½Π° Π‘++ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ скомпилирована. По своСй сути процСсс компиляции Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ для Π‘, ΠΈ Π² Π½Π΅ΠΌ участвуСт большая Ρ‡Π°ΡΡ‚ΡŒ входящих Π² послСдний ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡΡ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΠ· тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈ Ссли Π½Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Ρ‹ ошибки, Ρ‚ΠΎ гСнСрируСтся ΠΊΠΎΠ΄. Π—Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° провСряСтся Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΈΠΌΠ΅Π½ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ использовались, Π½ΠΎ Π½Π΅ Π±Ρ‹Π»ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ (Π² нашСм случаС это cout ΠΈ ««). Если это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° дСлаСтся ΠΏΠΎΠ»Π½ΠΎΠΉ посрСдством дополнСния Π½Π΅Π΄ΠΎΡΡ‚Π°ΡŽΡ‰ΠΈΡ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ (Π΅ΡΡ‚ΡŒ стандартныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ свои собствСнныС). Π’ нашСм случаС cout ΠΈ «« Π±Ρ‹Π»ΠΈ описаны Π² stream.h, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, Π±Ρ‹Π»ΠΈ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ ΠΈΡ… Ρ‚ΠΈΠΏΡ‹, Π½ΠΎ Π½Π΅ Π±Ρ‹Π»ΠΎ Π΄Π°Π½ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… подробностСй ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ содСрТится спСцификация пространства ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ для cout ΠΈ ««. На самом Π΄Π΅Π»Π΅, Π² этой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ содСрТится ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π΅Ρ‰Π΅ΠΉ, Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… описана Π² stream.h, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΊ скомпилированной вСрсии добавляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ подмноТСство Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΏΠΎΠ»Π½ΠΎΠΉ.

Команда компиляции Π² Π‘++ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ называСтся CC. Она ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π° cc для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° C, подробности Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ Π² вашСм руководствС. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° с Β«Hello, worldΒ» хранится Π² Ρ„Π°ΠΉΠ»Π΅ с ΠΈΠΌΠ΅Π½Π΅ΠΌ hello.c, Ρ‚ΠΎΠ³Π΄Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΅Π΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ ($ – систСмноС ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅):

$ CC hello.c $ a.out Hello,world $

a.out – это ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΠΎΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ имя исполняСмого Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° компиляции. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°Π·Π²Π°Ρ‚ΡŒ свою ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΡ†ΠΈΠΈ -o:

$ CC hello.c -o hello $ hello Hello,world $

1.1.3 Π’Π²ΠΎΠ΄

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ (довольно многословная) ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π²Π°ΠΌ ввСсти число дюймов. ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ это сдСлаСтС, ΠΎΠ½Π° Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ число сантимСтров.

#include Β«stream.hΒ»

main() (* int inch = 0; // inch – дюйм cout Β«β€ž β€žinchesβ€œ; cin β€œΒ» inch; cout Β«β€ž inch; cout «« " in = "; cout «« inch*2.54; cout «« Β« cm\nβ€œ; *)

ΠŸΠ΅Ρ€Π²Π°Ρ строка Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ main() описываСт Ρ†Π΅Π»ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ inch. Π•Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ считываСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ »» (Β«Π²Π·ΡΡ‚ΡŒ ΠΈΠ·Β») Π½Π°Π΄ стандартным ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ Π²Π²ΠΎΠ΄Π° cin. Описания cin ΠΈ »», ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅, находятся Π² Β«stream.hΒ». ПослС Π΅Π΅ запуска ваш Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

$ a.out inches=12 12 in = 30.48 cm $

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½Π° ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π²Ρ‹Π²ΠΎΠ΄Π° приходится ΠΎΠ΄ΠΈΠ½ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€. Π­Ρ‚ΠΎ слишком Π΄Π»ΠΈΠ½Π½ΠΎ. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π²Ρ‹Π²ΠΎΠ΄Π° «« ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊ Π΅Π΅ собствСнному Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ послСдниС Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΈΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ:

cout Β«β€ž inch «« " in = " «« inch*2.54 «« Β« cm\nβ€œ;

Π’ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ… Π²Π²ΠΎΠ΄ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ Π±ΡƒΠ΄ΡƒΡ‚ описаны Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ. Вся эта Π³Π»Π°Π²Π° фактичСски ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ объяснСниС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° языкС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ обСспСчиваСт ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°. На самом Π΄Π΅Π»Π΅, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ написаны Π½Π° Π‘++, Β«Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΌΒ» опСрациями Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° посрСдством использования Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ„Π°ΠΉΠ»ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ #include. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, язык Π‘++ Π² Ρ‚ΠΎΠΌ Π²ΠΈΠ΄Π΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ описан Π² справочном руководствС, Π½Π΅ опрСдСляСт срСдств Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°. ВмСсто этого ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ срСдств, доступных Π»ΡŽΠ±ΠΎΠΌΡƒ программисту, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Β«β€ž ΠΈ β€œΒ».

1.2 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

Часто Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ тСкст, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдназначаСтся Π² качСствС коммСнтария Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ‡ΠΈΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° ΠΈ игнорируСтся компилятором Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. Π’ Π‘++ это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π΄Π²ΡƒΡ… способов.

Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ /* Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ, Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉΡΡ символами */. Вся эта ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов эквивалСнтна символу пропуска (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, символу ΠΏΡ€ΠΎΠ±Π΅Π»Π°). Π­Ρ‚ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для многострочных ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΈ ΠΈΠ·ΡŠΡΡ‚ΠΈΡ частСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ слСдуСт ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ /* */ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ.

Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ // Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ заканчиваСтся Π² ΠΊΠΎΠ½Ρ†Π΅ строки, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ΠΈ появились. ΠžΠΏΡΡ‚ΡŒ, вся ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов эквивалСнтна пропуску. Π­Ρ‚ΠΎΡ‚ способ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π΅Π½ для ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΡ… ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π². Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ // ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ символы /* ΠΈΠ»ΠΈ */, Π° символами /* ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ //.

1.3 Π’ΠΈΠΏΡ‹ ΠΈ описания

КаТдоС имя ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Π΄ Π½ΠΈΠΌΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ. НапримСр, описаниС

int inch;

опрСдСляСт, Ρ‡Ρ‚ΠΎ inch ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ int, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, inch являСтся Ρ†Π΅Π»ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

ОписаниС – это ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π²ΠΎΠ΄ΠΈΡ‚ имя Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. ОписаниС Π·Π°Π΄Π°Π΅Ρ‚ Ρ‚ΠΈΠΏ этого ΠΈΠΌΠ΅Π½ΠΈ. Π’ΠΈΠΏ опрСдСляСт ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ использованиС ΠΈΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ выраТСния. Для Ρ†Π΅Π»Ρ‹Ρ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Ρ‚Π°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠ°ΠΊ +, -, * ΠΈ /. ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Ρ„Π°ΠΉΠ» stream.h, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° int ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠΌ ««, ΠΊΠΎΠ³Π΄Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ ostream. Π’ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° опрСдСляСт Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΊ Π½Π΅ΠΌΡƒ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ, Π½ΠΎ ΠΈ смысл этих ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. НапримСр, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€