Π Π°Π·Π½ΠΎΠ΅

Π―Π·Ρ‹ΠΊ программирования си ΠΊΠ½ΠΈΠ³Π°: Π―Π·Ρ‹ΠΊ программирования Π‘ΠΈ. ИзданиС 3-Π΅, исправлСнноС

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ Π―Π·Ρ‹ΠΊ программирования Π‘ΠΈ

Π‘. ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½, Π”. Π ΠΈΡ‚Ρ‡ΠΈ Π―Π·Ρ‹ΠΊ программирования Π‘ΠΈ ИзданиС 3-Π΅, исправлСнноС

ΠŸΡ€Π΅Π΄ΠΈΡΠ»ΠΎΠ²ΠΈΠ΅

Π‘ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² 1978 Π³. ΠΊΠ½ΠΈΠ³ΠΈ «Π―Π·Ρ‹ΠΊ программирования Π‘ΠΈ» Π² ΠΌΠΈΡ€Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° Ρ€Π΅Π²ΠΎΠ»ΡŽΡ†ΠΈΡ. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ стали Π΅Ρ‰Π΅ большС, Π° возмоТности ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Π­Π’Πœ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ сопоставимы с возмоТностями Π±ΠΎΠ»ΡŒΡˆΠΈΡ… машин дСсятилСтнСй давности. Π―Π·Ρ‹ΠΊ Π‘ΠΈ Π·Π° это врСмя Ρ‚Π°ΠΊΠΆΠ΅ измСнился, хотя ΠΈ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ сильно; Ρ‡Ρ‚ΠΎ ΠΆΠ΅ касаСтся сфСры примСнСния Π‘ΠΈ, Ρ‚ΠΎ ΠΎΠ½Π° Π΄Π°Π»Π΅ΠΊΠΎ Π²Ρ‹ΡˆΠ»Π° Π·Π° Ρ€Π°ΠΌΠΊΠΈ Π΅Π³ΠΎ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ назначСния ΠΊΠ°ΠΊ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ языка ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы UNIX.

Рост популярности Π‘ΠΈ, Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ с Π³ΠΎΠ΄Π°ΠΌΠΈ измСнСния, созданиС компиляторов ΠΊΠΎΠ»Π»Π΅ΠΊΡ‚ΠΈΠ²Π°ΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Ρ€Π°Π½Π΅Π΅ Π½Π΅ причастных ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ языка, — всС это послуТило стимулом ΠΊ Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½ΠΎΠΌΡƒ ΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π΅ΠΌΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ языка ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΠΊΠ½ΠΈΠ³ΠΈ. Π’ 1983 Π³. АмСриканский институт Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… стандартов (American National Standards Institute — ANSI) ΡƒΡ‡Ρ€Π΅Π΄ΠΈΠ» ΠΊΠΎΠΌΠΈΡ‚Π΅Ρ‚, ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π±Ρ‹Π»Π° поставлСна Ρ†Π΅Π»ΡŒ Π²Ρ‹Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ «ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎΠ΅ ΠΈ машинно-нСзависимоС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ языка Π‘ΠΈ», ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ сохранив ΠΏΡ€ΠΈ этом Π΅Π³ΠΎ стилистику. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ этого ΠΊΠΎΠΌΠΈΡ‚Π΅Ρ‚Π° ΠΈ явился стандарт ANSI языка Π‘ΠΈ.

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ Ρ„ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ срСдства языка, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΈΠ·Π΄Π°Π½ΠΈΠΈ Π±Ρ‹Π»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°ΠΌΠ΅Ρ‡Π΅Π½Ρ‹, Π½ΠΎ Π½Π΅ описаны, Ρ‚Π°ΠΊΠΈΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°ΠΊ присваиваниС структурам ΠΈ пСрСчислСния. Он Π²Π²ΠΎΠ΄ΠΈΡ‚ Π½ΠΎΠ²Ρ‹ΠΉ Π²ΠΈΠ΄ описания Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎΠ²ΡΠ΅ΠΌΠ΅ΡΡ‚Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ согласованности Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ с ΠΈΡ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ; спСцифицируСт ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ с ΡˆΠΈΡ€ΠΎΠΊΠΈΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°, управлСния ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, манипуляций со строками символов ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ функциями; уточняСт сСмантику, Π±Ρ‹Π²ΡˆΡƒΡŽ Π² ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ нСясной, ΠΈ явно выдСляСт Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ остаСтся машинно-зависимым.

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

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

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ A — это справочноС руководство, Π½ΠΎ ΠΎΡ‚Π½ΡŽΠ΄ΡŒ Π½Π΅ стандарт. Π’ Π½Π΅ΠΌ ΠΌΡ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ ΡƒΠ»ΠΎΠΆΠΈΡ‚ΡŒ самоС сущСствСнноС Π½Π° ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠ΅ страниц. По замыслу это ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ программистом-ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ: для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΆΠ΅ компилятора ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ языка Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ сам стандарт. Π’ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ B ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ возмоТности стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Оно Ρ‚Π°ΠΊΠΆΠ΅ прСдставляСт собой справочник для ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… программистов, Π½ΠΎ Π½Π΅ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² компиляторов. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ C содСрТит ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΉ ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΉ прСдставлСнной вСрсии языка Π‘ΠΈ ΠΎΡ‚ Π΅Π³ΠΎ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ вСрсии.

Π’ прСдисловии ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ изданию ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ «Ρ‡Π΅ΠΌ большС Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΡˆΡŒ с Π‘ΠΈ, Ρ‚Π΅ΠΌ ΠΎΠ½ становится ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅». Π­Ρ‚ΠΎ Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½ΠΈΠ΅ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ ΠΈ послС дСсяти Π»Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌ. ΠœΡ‹ надССмся, Ρ‡Ρ‚ΠΎ данная ΠΊΠ½ΠΈΠ³Π° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Π‘ΠΈ ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

ΠœΡ‹ Π² большом Π΄ΠΎΠ»Π³Ρƒ ΠΏΠ΅Ρ€Π΅Π΄ Π΄Ρ€ΡƒΠ·ΡŒΡΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³Π°Π»ΠΈ Π½Π°ΠΌ Π² выпускС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ издания ΠΊΠ½ΠΈΠ³ΠΈ. Π”ΠΆΠΎΠ½ Π‘Π΅Π½Ρ‚Π»ΠΈ, Π”ΡƒΠ³ Π“ΡƒΠ½Π½, Π”ΡƒΠ³ ΠœΠ°ΠΊΠΈΠ»Ρ€ΠΎΠΉ, ΠŸΠΈΡ‚Π΅Ρ€ НСльсон ΠΈ Π ΠΎΠ± Пайк сдСлали Ρ‡Π΅Ρ‚ΠΊΠΈΠ΅ замСчания ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ страницС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° рукописи. ΠœΡ‹ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π½Ρ‹ Алу Ахо, ДСннису Аллиссону, Π”ΠΆΠΎΡŽ ΠšΠ΅ΠΌΠΏΠ±Π΅Π»Π»Ρƒ, Π“. Π . Π­ΠΌΠ»ΠΈΠ½Ρƒ, ΠšΠ°Ρ€Π΅Π½ Π€ΠΎΡ€Ρ‚Π³Π°Π½Π³, АллСну Π“ΠΎΠ»ΡƒΠ±Ρƒ, Π­Π½Π΄Ρ€ΡŽ Π₯ΡŒΡŽΠΌΡƒ, Дэйву ΠšΡ€ΠΈΡΡ‚ΠΎΠ»Ρƒ, Π”ΠΆΠΎΠ½Ρƒ Π›ΠΈΠ½Π΄Π΅Ρ€ΠΌΠ°Π½Ρƒ, Дэйву ΠŸΡ€ΠΎΡΡΠ΅Ρ€Ρƒ, Π“ΠΈΠ½Ρƒ Π‘ΠΏΠ°Ρ„Ρ„ΠΎΡ€Π΄Ρƒ ΠΈ ΠšΡ€ΠΈΡΡƒ Π’Π°Π½ Π£ΠΈΠΊΡƒ Π·Π° Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ. ΠœΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ совСты ΠΎΡ‚ Π‘ΠΈΠ»Π»Π° Π§Π΅Π·Π²ΠΈΠΊΠ°, ΠœΠ°Ρ€ΠΊΠ° ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½Π°, Π­Π½Π΄Ρ€ΡŽ Коэнига, Π ΠΎΠ±ΠΈΠ½Π° Π›Π΅ΠΉΠΊΠ°, Π’ΠΎΠΌΠ° Π›ΠΎΠ½Π΄ΠΎΠ½Π°, Π”ΠΆΠΈΠΌΠ° Π ΠΈΠ΄Π·Π°, Кловиза Π’ΠΎΠ½Π΄ΠΎ ΠΈ ΠŸΠΈΡ‚Π΅Ρ€Π° Π’Π°ΠΉΠ½Π±Π΅Ρ€Π³Π΅Ρ€Π°. Π”Π΅ΠΉΠ² ΠŸΡ€ΠΎΡΡΠ΅Ρ€ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ» Π½Π° многочислСнныС вопросы, ΠΊΠ°ΡΠ°ΡŽΡ‰ΠΈΠ΅ΡΡ Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ стандарта ANSI. ΠœΡ‹ ΡˆΠΈΡ€ΠΎΠΊΠΎ пользовались транслятором с Π‘ΠΈ++ Π‘ΡŒΠ΅Ρ€Π½Π° Бтрауструпа для локальной ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π°ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π° Π”Π΅ΠΉΠ² ΠšΡ€ΠΈΡΡ‚ΠΎΠ» прСдоставил Π½Π°ΠΌ ANSI Π‘ΠΈ-компилятор для ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΡ… ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ. Π ΠΈΡ‡ Π”Ρ€Π΅ΡˆΠ»Π΅Ρ€ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠΌΠΎΠ³ Π² Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠ½ΠΈΠ³ΠΈ. ΠœΡ‹ искрСннС Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€ΠΈΠΌ всСх.

Π‘Ρ€Π°ΠΉΠ°Π½ Π’. ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½, ДСннис М. Π ΠΈΡ‚Ρ‡ΠΈ

ΠŸΡ€Π΅Π΄ΠΈΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ изданию

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

ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π‘ΠΈ Π±Ρ‹Π» создан ДСннисом Π ΠΈΡ‚Ρ‡ΠΈ ΠΊΠ°ΠΊ инструмСнт написания ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы UNIX для ΠΌΠ°ΡˆΠΈΠ½Ρ‹ PDP-11 ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… этой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. И опСрационная систСма, ΠΈ Π‘ΠΈ- компилятор, ΠΈ, ΠΏΠΎ сущСству, всС ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ систСмы UNIX (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΈ Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ использовались для ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ тСкста этой ΠΊΠ½ΠΈΠ³ΠΈ — Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ Π² Π²ΠΈΠ΄Ρƒ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π» этой ΠΊΠ½ΠΈΠ³ΠΈ Π½Π° английском языкС. — ΠŸΡ€ΠΈΠΌΠ΅Ρ‡. ΠΏΠ΅Ρ€.) написаны Π½Π° Π‘ΠΈ. Π€ΠΈΡ€ΠΌΠ΅Π½Π½Ρ‹Π΅ Π‘ΠΈ-компиляторы ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ², срСди ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… 1Π’Πœ/370, Honeywell 6000 ΠΈ Interdata 8/32. Π‘ΠΈ Π½Π΅ привязан ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Π΅ ΠΈΠ»ΠΈ систСмС, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π° Π½Π΅ΠΌ Π»Π΅Π³ΠΊΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ пСрСносятся Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Π³Π΄Π΅ осущСствляСтся Π΅Π³ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°.

ЦСль нашСй ΠΊΠ½ΠΈΠ³ΠΈ — ΠΏΠΎΠΌΠΎΡ‡ΡŒ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŽ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π‘ΠΈ. ИзданиС Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅- ΡƒΡ‡Π΅Π±Π½ΠΈΠΊ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ скорСС, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π³Π»Π°Π²Ρ‹, посвящСнныС основным свойствам языка, ΠΈ справочноС руководство. Π’ Π΅Π΅ основу ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ‹ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅, написаниС ΠΈ ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², Π° Π½Π΅ простоС пСрСчислСниС ΠΏΡ€Π°Π²ΠΈΠ». ΠŸΠΎΡ‡Ρ‚ΠΈ всС наши ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ — это Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹Π΅ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π° Π½Π΅ Ρ€Π°Π·ΠΎΠ±Ρ‰Π΅Π½Π½Ρ‹Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹. ВсС ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ оттСстированы Π½Π° машинС Ρ‚ΠΎΡ‡Π½ΠΎ Π² Ρ‚ΠΎΠΌ Π²ΠΈΠ΄Π΅, ΠΊΠ°ΠΊ приводятся Π² ΠΊΠ½ΠΈΠ³Π΅. Помимо дСмонстрации эффСктивного использования языка, Ρ‚Π°ΠΌ, Π³Π΄Π΅ это Π±Ρ‹Π»ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΌΡ‹ ΡΡ‚Ρ€Π΅ΠΌΠΈΠ»ΠΈΡΡŒ ΠΏΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ стиля написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ ΠΈΡ… Ρ€Π°Π·ΡƒΠΌΠ½ΠΎΠ³ΠΎ проСктирования.

Π­Ρ‚Π° ΠΊΠ½ΠΈΠ³Π° Π½Π΅ являСтся Π²Π²ΠΎΠ΄Π½Ρ‹ΠΌ курсом ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ Π·Π½Π°ΠΊΠΎΠΌ с Ρ‚Π°ΠΊΠΈΠΌΠΈ основными понятиями, ΠΊΠ°ΠΊ «ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ», «ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅», «Ρ†ΠΈΠΊΠ»», «Ρ„ункция». Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΈ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ смоТСт ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ язык, хотя для Π½Π΅Π³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ с Π±ΠΎΠ»Π΅Π΅ Π·Π½Π°ΡŽΡ‰ΠΈΠΌΠΈ спСциалистами.

Наш ΠΎΠΏΡ‹Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Π», Ρ‡Ρ‚ΠΎ Π‘ΠΈ — ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ, Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ Π³ΠΈΠ±ΠΊΠΈΠΉ язык, ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Ρ‹ΠΉ для программирования ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ класса Π·Π°Π΄Π°Ρ‡. Π•Π³ΠΎ Π»Π΅Π³ΠΊΠΎ Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ, ΠΈ Ρ‡Π΅ΠΌ большС Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΡˆΡŒ с Π‘ΠΈ, Ρ‚Π΅ΠΌ ΠΎΠ½ становится ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅. ΠœΡ‹ надССмся, Ρ‡Ρ‚ΠΎ эта ΠΊΠ½ΠΈΠ³Π° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π΅Π³ΠΎ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ.

Вдумчивая ΠΊΡ€ΠΈΡ‚ΠΈΠΊΠ° ΠΈ прСдлоТСния ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ·Π΅ΠΉ ΠΈ ΠΊΠΎΠ»Π»Π΅Π³ ΠΏΠΎΠΌΠΎΠ³Π°Π»ΠΈ Π½Π°ΠΌ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ. Π’ частности, Майк Π‘ΠΈΠ°Π½ΠΊΠΈ, Π”ΠΆΠΈΠΌ Π‘Π»Ρƒ, Π‘Ρ‚ΡŒΡŽ Π€Π΅Π»Π΄ΠΌΠ°Π½, Π”ΡƒΠ³ ΠœΠ°ΠΊΠΈΠ»Ρ€ΠΎΠΉ, Π‘ΠΈΠ»Π» Π ΡƒΠΌ, Π‘ΠΎΠ± Π ΠΎΠ·ΠΈΠ½ ΠΈ Π›Π°Ρ€Ρ€ΠΈ РослСр со Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΡ‡Π»ΠΈ всС многочислСнныС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ этой ΠΊΠ½ΠΈΠ³ΠΈ. ΠœΡ‹ Π² Π΄ΠΎΠ»Π³Ρƒ Ρƒ Ала Ахо, Π‘Ρ‚ΠΈΠ²Π° Π‘ΡŒΠ΅Ρ€Π½Π°, Π”Π°Π½Π° Π”Π²ΠΎΡ€Π°ΠΊΠ°, Π§Π°ΠΊΠ° Π₯Π΅ΠΉΠ»ΠΈ, ΠœΠ°Ρ€ΠΈΠΎΠΈ Π₯аррис, Π ΠΈΠΊΠ° Π₯ΠΎΠ»Ρ‚Π°, Π‘Ρ‚ΠΈΠ²Π° ДТонсона, Π”ΠΆΠΎΠ½Π° МашСя, Π‘ΠΎΠ±Π° ΠœΠΈΡ‚Ρ†Π°, Π Π°Π»ΡŒΡ„Π° ΠœΡƒΡ…ΠΈ, ΠŸΠΈΡ‚Π΅Ρ€Π° НСльсона, Π­Π»Π»ΠΈΠΎΡ‚Π° Пинсона, Π‘ΠΈΠ»Π»Π° ΠŸΠ»Π΅ΠΉΠ΄ΠΆΠ΅Ρ€Π°, Π”ΠΆΠ΅Ρ€Ρ€ΠΈ Π‘ΠΏΠΈΠ²Π°ΠΊΠ°, КСна Вомпсона ΠΈ ΠŸΠΈΡ‚Π΅Ρ€Π° Π’Π°ΠΉΠ½Π±Π΅Ρ€Π³Π΅Ρ€Π° Π·Π° ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ совСты, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΎΡ‚ Π½ΠΈΡ… Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… стадиях ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ рукописи, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρƒ Майка ЛСска ΠΈ Π”ΠΆΠΎ ΠžΡΡΠ°Π½Π½Ρ‹ Π·Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ΅ Π΅Π΅ ΠΊ изданию.

Π‘Ρ€Π°ΠΉΠ°Π½ Π’. ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½, ДСннис М. Π ΠΈΡ‚Ρ‡ΠΈ

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

Π‘ΠΈ — ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ язык программирования. Он тСсно связан с систСмой UNIX, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π² этой систСмС, которая ΠΊΠ°ΠΊ ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π² Π½Π΅ΠΉ, написаны Π½Π° Π‘ΠΈ. Однако язык Π½Π΅ привязан ТСстко ΠΊ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС ΠΈΠ»ΠΈ машинС. Π₯отя ΠΎΠ½ ΠΈ Π½Π°Π·Π²Π°Π½ «ΡΠ·Ρ‹ΠΊΠΎΠΌ систСмного программирования», ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΡƒΠ΄ΠΎΠ±Π΅Π½ для написания компиляторов ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм, оказалось, Ρ‡Ρ‚ΠΎ Π½Π° Π½Π΅ΠΌ ΡΡ‚ΠΎΠ»ΡŒ ΠΆΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ большиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ профиля.

МногиС Π²Π°ΠΆΠ½Ρ‹Π΅ ΠΈΠ΄Π΅ΠΈ Π‘ΠΈ взяты ΠΈΠ· языка BCPL, Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ являСтся ΠœΠ°Ρ€Ρ‚ΠΈΠ½ Ричардс. ВлияниС BCPL Π½Π° Π‘ΠΈ Π±Ρ‹Π»ΠΎ косвСнным — Ρ‡Π΅Ρ€Π΅Π· язык B, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ КСном Вомпсоном Π² 1970 Π³. для ΠΏΠ΅Ρ€Π²ΠΎΠΉ систСмы UNIX, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π½Π° PDP-7.

BCPL ΠΈ B — «Π±Π΅ΡΡ‚ΠΈΠΏΠΎΠ²Ρ‹Π΅» языки. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π½ΠΈΡ… Π‘ΠΈ обСспСчиваСт Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. Π‘Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ символы, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ†Π΅Π»Ρ‹Π΅ ΠΈ числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ². ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, имССтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Ρ†Π΅Π»ΡƒΡŽ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ, массивов, структур ΠΈ объСдинСний. ВыраТСния Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ². Π›ΡŽΠ±ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ присваиваниС ΠΈ Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ инструкциСй. Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ машинно-Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡƒΡŽ Π°Π΄Ρ€Π΅ΡΠ½ΡƒΡŽ Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΡƒ.

Π’ Π‘ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ основныС ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ конструкции, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² Ρ…ΠΎΡ€ΠΎΡˆΠΎ структурированных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…: составная инструкция ({…}), Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ (if-else), Π²Ρ‹Π±ΠΎΡ€ ΠΎΠ΄Π½ΠΎΠΉ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΈΡ… (switch), Ρ†ΠΈΠΊΠ»Ρ‹ с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ Π½Π°Π²Π΅Ρ€Ρ…Ρƒ (while, for) ΠΈ с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ Π²Π½ΠΈΠ·Ρƒ (do), Π° Ρ‚Π°ΠΊΠΆΠ΅ срСдство прСрывания Ρ†ΠΈΠΊΠ»Π° (break).

Π’ качСствС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ значСния Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², структур, объСдинСний ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ. Π›ΡŽΠ±Π°Ρ функция допускаСт рСкурсивноС ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ сСбС. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ — «Π°Π²Ρ‚оматичСскиС», Ρ‚. Π΅. ΠΎΠ½ΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π·Π°Π½ΠΎΠ²ΠΎ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ Π½Π΅ΠΉ. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ нСльзя Π²ΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ Π² Π΄Ρ€ΡƒΠ³Π°, Π½ΠΎ объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π² Π±Π»ΠΎΡ‡Π½ΠΎ-структурной ΠΌΠ°Π½Π΅Ρ€Π΅. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π‘ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… исходных Ρ„Π°ΠΉΠ»Π°Ρ… ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ нСзависимо. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌΠΈ ΠΈ внСшними. ПослСдниС ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ доступными Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ исходного Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ всСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

На этапС прСпроцСссирования выполняСтся макроподстановка Π² тСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… исходных Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ условная компиляция.

Π‘ΠΈ — язык ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ «Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня». Однако это вовсС Π½Π΅ умаляСт Π΅Π³ΠΎ достоинств, просто Π‘ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π΅Π»ΠΎ с Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Ρ‡Ρ‚ΠΎ ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ², Ρ‚. Π΅. с символами, числами ΠΈ адрСсами. Π‘ Π½ΠΈΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ арифмСтичСских ΠΈ логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, выполняСмых Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ машинами.

Π’ Π‘ΠΈ Π½Π΅Ρ‚ прямых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π°Π΄ составными ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ строки символов, мноТСства, списки ΠΈ массивы. Π’ Π½Π΅ΠΌ Π½Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ с Ρ†Π΅Π»Ρ‹ΠΌΠΈ массивами ΠΈΠ»ΠΈ строками символов, хотя структуры Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. Π’ языкС Π½Π΅Ρ‚ ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ срСдств распрСдСлСния памяти, ΠΏΠΎΠΌΠΈΠΌΠΎ возмоТности опрСдСлСния статичСских ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ стСкового ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° ΠΏΡ€ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠΈ мСста для Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. НСт Π² Π½Π΅ΠΌ «ΠΊΡƒΡ‡ΠΈ» ΠΈ «ΡΠ±ΠΎΡ€Ρ‰ΠΈΠΊΠ° мусора». НаконСц, Π² самом Π‘ΠΈ Π½Π΅Ρ‚ срСдств Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°, инструкций READ (Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ) ΠΈ WRITE (ΠΏΠΈΡΠ°Ρ‚ΡŒ) ΠΈ ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² доступа ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ. ВсС это — ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ высокого уровня, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² Π‘ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ явно Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π‘ΠΈ-систСм содСрТат Π² сСбС Ρ€Π°Π·ΡƒΠΌΠ½Ρ‹ΠΉ стандартный Π½Π°Π±ΠΎΡ€ этих Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

Π’ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ сказанного слСдуСт ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π‘ΠΈ прСдоставляСт срСдства лишь ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ управлСния Ρ…ΠΎΠ΄ΠΎΠΌ вычислСний: ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ вСтвлСния ΠΏΠΎ условиям, Ρ†ΠΈΠΊΠ»Ρ‹, составныС инструкции, ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π½Π΅ содСрТит срСдств ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… процСссов, синхронизации ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ сопрограмм.

ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ· пСрСчислСнных срСдств ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹ΠΌ нСдостатком («Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ Π΄Π²Π΅ строки символов, Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ?»). Однако ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ языка ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ Π²Ρ‹Π³ΠΎΠ΄Ρ‹. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π‘ΠΈ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠ°Π», Ρ‚ΠΎ ΠΈ описаниС Π΅Π³ΠΎ ΠΊΡ€Π°Ρ‚ΠΊΠΎ, ΠΈ ΠΎΠ²Π»Π°Π΄Π΅Ρ‚ΡŒ ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ быстро. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°Ρ‚ΡŒ, ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΈ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ рСгулярно ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ всСми возмоТностями языка.

Π’ Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π»Π΅Ρ‚ СдинствСнным ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ языка Π‘ΠΈ Π±Ρ‹Π»ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ «Π―Π·Ρ‹ΠΊ программирования Π‘ΠΈ». Π’ 1983 Π³. Π˜Π½ΡΡ‚ΠΈΡ‚ΡƒΡ‚ΠΎΠΌ амСриканских Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… стандартов (ANSI) учрСТдаСтся ΠΊΠΎΠΌΠΈΡ‚Π΅Ρ‚ для Π²Ρ‹Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ соврСмСнного ΠΈΡΡ‡Π΅Ρ€ΠΏΡ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ опрСдСлСния языка Π‘ΠΈ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ явился стандарт для Π‘ΠΈ («ANSI-C»), Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΉ Π² 1988 Π³. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ этого стандарта ΡƒΠΆΠ΅ ΡƒΡ‡Ρ‚Π΅Π½ΠΎ Π² соврСмСнных компиляторах.

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ базируСтся Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ справочном руководствС. По ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с послСдним язык измСнился ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠ°Π»ΠΎ. Одной ΠΈΠ· Ρ†Π΅Π»Π΅ΠΉ стандарта Π±Ρ‹Π»ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΡΡ‚Π°Π²Π°Π»ΠΈΡΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈΠ»ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π»ΠΈ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°ΡŽΡ‰ΠΈΠ΅ сообщСния компиляторов ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ повСдСния.

Для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° программистов самоС Π²Π°ΠΆΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ — это Π½ΠΎΠ²Ρ‹ΠΉ синтаксис объявлСния ΠΈ опрСдСлСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. ОбъявлСниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΈ описаниС Π΅Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Π’ соотвСтствии с этим измСнился ΠΈ синтаксис опрСдСлСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ информация Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ компилятору выявлСниС ошибок, связанных с Π½Π΅ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒΡŽ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²; ΠΏΠΎ Π½Π°ΡˆΠ΅ΠΌΡƒ мнСнию, это ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊ языку.

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

Π’Ρ‚ΠΎΡ€ΠΎΠΉ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΊΠ»Π°Π΄ стандарта — это ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, поставляСмой вмСстС с Π‘ΠΈ- компилятором, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ доступа ΠΊ возмоТностям ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ чтСния-записи Ρ„Π°ΠΉΠ»ΠΎΠ²), Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°, динамичСского выдСлСния памяти, манипуляций со строками символов ΠΈ Ρ‚. Π΄. Набор стандартных Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² обСспСчиваСт Π΅Π΄ΠΈΠ½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹ΠΉ доступ ΠΊ объявлСниям Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. ГарантируСтся, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ эту Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ΠΏΡ€ΠΈ взаимодСйствии с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой, Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ…. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, созданы ΠΏΠΎ ΠΎΠ±Ρ€Π°Π·Ρƒ ΠΈ подобию «ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°» систСмы UNIX. Π­Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° описана Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΈΠ·Π΄Π°Π½ΠΈΠΈ ΠΊΠ½ΠΈΠ³ΠΈ ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… систСмах. И здСсь программисты Π½Π΅ замСтят сущСствСнных Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ. Π’Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… структур языка Π‘ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… машин, ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ систСма (run-time library), ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π°Ρ нСзависимый запуск ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ°Π»Π°. ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΡ ΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½Ρ‹ΠΌ функциям ΠΏΠΈΡˆΠ΅Ρ‚ сам программист (Π½Π΅ компилятор), поэтому ΠΏΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅. ΠŸΠΎΡ‡Ρ‚ΠΈ всС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, написанныС Π½Π° Π‘ΠΈ, Ссли ΠΎΠ½ΠΈ Π½Π΅ ΠΊΠ°ΡΠ°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ скрытых Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ, пСрСносимы Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹.

Π‘ΠΈ соотвСтствуСт Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌ возмоТностям ΠΌΠ½ΠΎΠ³ΠΈΡ… машин, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ Π½Π΅ привязан ΠΊ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ ΠΊΠ°ΠΊΠΎΠΉ- Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹. ΠŸΡ€ΠΎΡΠ²Π»ΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ дисциплину, ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ пСрСносимыС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚. Π΅. ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ…. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ для явного описания пСрСносимости с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π°Π±ΠΎΡ€Π° констант, ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΡ… характСристики ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

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

Π‘ΠΈ, ΠΊΠ°ΠΊ ΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ язык программирования, Π½Π΅ свободСн ΠΎΡ‚ нСдостатков. Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ ΡΡ‚Π°Ρ€ΡˆΠΈΠ½ΡΡ‚Π²Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π½Π΅ являСтся общСпринятым, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ синтаксичСскиС конструкции ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠ΅. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΊΠ°ΠΊ оказалось, Π‘ΠΈ — Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ эффСктивный ΠΈ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ язык, ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Ρ‹ΠΉ для ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ класса Π·Π°Π΄Π°Ρ‡.

Книга ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ структуру. Π“Π»Π°Π²Π° 1 прСдставляСт собой ΠΎΠ±Π·ΠΎΡ€ основных срСдств языка Π‘ΠΈ. Π•Π΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ — ΠΏΠΎΠ±ΡƒΠ΄ΠΈΡ‚ΡŒ читатСля ΠΏΠΎ возмоТности быстрСС ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ ΡƒΠ±Π΅ΠΆΠ΄Π΅Π½Ρ‹, Ρ‡Ρ‚ΠΎ СдинствСнный способ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ язык — это ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° Π½Π΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π­Ρ‚Π° Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π·Π½Π°Π½ΠΈΠΉ ΠΏΠΎ основным элСмСнтам программирования. Никаких пояснСний Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, компиляция ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΈΠ΄Π° n=n+1 Π½Π΅ даСтся. Π₯отя ΠΌΡ‹ ΠΈ ΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ Ρ‚Π°ΠΌ, Π³Π΄Π΅ это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΡ‹ программирования, эта ΠΊΠ½ΠΈΠ³Π° Π½Π΅ ΠΏΡ€ΠΈΠ·Π²Π°Π½Π° Π±Ρ‹Ρ‚ΡŒ справочником Π½ΠΈ ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ со структурами Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΈ ΠΏΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌ: ΠΊΠΎΠ³Π΄Π° ΠΎΠΊΠ°Π·Ρ‹Π²Π°Π»ΠΎΡΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ, Π½Π° Ρ‡Ρ‚ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡƒΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅, ΠΌΡ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π»ΠΈ ΡΠΊΠΎΠ½Ρ†Π΅Π½Ρ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° языкС.

Π’ Π³Π»Π°Π²Π°Ρ… 2-6 Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ срСдства языка ΠΎΠ±ΡΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΈ нСсколько Π±ΠΎΠ»Π΅Π΅ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, Ρ‡Π΅ΠΌ Π² Π³Π»Π°Π²Π΅ 1; ΠΏΡ€ΠΈ этом ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΡƒΠΏΠΎΡ€ дСлаСтся Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹, ΡΠ²Π»ΡΡŽΡ‰ΠΈΠ΅ΡΡ Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ, Π° Π½Π΅ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ. Π“Π»Π°Π²Π° 2 Π·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ с Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ ΠΈ выраТСниями. Π’ Π³Π»Π°Π²Π΅ 3 Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ срСдства управлСния ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ вычислСний: if-else, switch, while, for ΠΈ Ρ‚.Π΄. Π’ Π³Π»Π°Π²Π΅ 4 Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ функциях ΠΈ структурС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ… видимости, Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° нСсколько исходных Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Ρ‚. Π΄.), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎ прСпроцСссорС. Π’ Π³Π»Π°Π²Π΅ 5 ΠΎΠ±ΡΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΈ адрСсная Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠ°. Π“Π»Π°Π²Π° 6 посвящСна структурам ΠΈ объСдинСниям.

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

Π“Π»Π°Π²Π° 8 содСрТит описаниС интСрфСйса ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ Π½Π° Π‘ΠΈ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой UNIX, Π² частности описаниС Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°, Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы ΠΈ распрСдСлСния памяти. Π₯отя Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ°Ρ€Π°Π³Ρ€Π°Ρ„Ρ‹ этой Π³Π»Π°Π²Ρ‹ ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‚ спСцифику систСмы UNIX, программисты, ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ систСмами, всС ΠΆΠ΅ Π½Π°ΠΉΠ΄ΡƒΡ‚ Π² Π½ΠΈΡ… ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… свСдСний, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ взгляд Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊ рСализуСтся ΠΎΠ΄Π½Π° ΠΈΠ· вСрсий стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прСдлоТСния ΠΏΠΎ пСрСносимости ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ A являСтся справочником ΠΏΠΎ языку. Π‘Ρ‚Ρ€ΠΎΠ³ΠΎΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ синтаксиса ΠΈ сСмантики языка Π‘ΠΈ содСрТится Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ стандарта ANSI. ПослСдний, ΠΎΠ΄Π½Π°ΠΊΠΎ, Π±ΠΎΠ»Π΅Π΅ всСго ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ компилятора. Наш справочник опрСдСляСт язык Π±ΠΎΠ»Π΅Π΅ сТато, Π½Π΅ прибСгая ΠΊ ΠΏΠ΅Π΄Π°Π½Ρ‚ΠΈΡ‡Π½ΠΎ ΡŽΡ€ΠΈΠ΄ΠΈΡ‡Π΅ΡΠΊΠΎΠΌΡƒ ΡΡ‚ΠΈΠ»ΡŽ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ стандарт. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ B — сводка ΠΏΠΎ содСрТимому стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° скорСС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ, Ρ‡Π΅ΠΌ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°ΠΌ. Π’ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ C приводится ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΉ ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΉ ΠΎΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠΉ вСрсии языка. Π’ ΡΠΎΠΌΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… случаях, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΡΡƒΠ΄ΡŒΠ΅ΠΉ ΠΏΠΎ языку остаСтся стандарт ΠΈ компилятор, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ΡΡŒ.

Π“Π»Π°Π²Π° 1. ΠžΠ±Π·ΠΎΡ€ языка

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

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

Π’ любом случаС ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΉ программист Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡƒΠΌΠ΅Ρ‚ΡŒ ΡΠΊΡΡ‚Ρ€Π°ΠΏΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Π΄Π°Π½Π½ΠΎΠΉ Π³Π»Π°Π²Ρ‹ Π½Π° свои программистскиС Π½ΡƒΠΆΠ΄Ρ‹. Новичкам ΠΆΠ΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΅Π΅ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ написаниСм собствСнных ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. И Ρ‚Π΅ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ наши Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ эту Π³Π»Π°Π²Ρƒ ΠΊΠ°ΠΊ «ΠΊΠ°Ρ€ΠΊΠ°Ρ», Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π°Π»Π΅Π΅, начиная с Π³Π»Π°Π²Ρ‹ 2, Π±ΡƒΠ΄ΡƒΡ‚ «Π½Π°Π²Π΅ΡˆΠΈΠ²Π°Ρ‚ΡŒΡΡ» элСмСнты языка.

1.1 НачнСм, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ

ЕдинствСнный способ Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ «Π―Π·Ρ‹ΠΊ программирования Π‘ΠΈ. ИзданиС 3-Π΅, исправлСнноС» Π°Π²Ρ‚ΠΎΡ€Π° ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½ Π‘Ρ€Π°ΠΉΠ°Π½ — RuLit

Π‘. ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½, Π”. Π ΠΈΡ‚Ρ‡ΠΈ

Π―Π·Ρ‹ΠΊ программирования Π‘ΠΈ

ИзданиС 3-Π΅, исправлСнноС

Π‘ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² 1978 Π³. ΠΊΠ½ΠΈΠ³ΠΈ «Π―Π·Ρ‹ΠΊ программирования Π‘ΠΈ» Π² ΠΌΠΈΡ€Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° Ρ€Π΅Π²ΠΎΠ»ΡŽΡ†ΠΈΡ. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ стали Π΅Ρ‰Π΅ большС, Π° возмоТности ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Π­Π’Πœ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ сопоставимы с возмоТностями Π±ΠΎΠ»ΡŒΡˆΠΈΡ… машин дСсятилСтнСй давности. Π―Π·Ρ‹ΠΊ Π‘ΠΈ Π·Π° это врСмя Ρ‚Π°ΠΊΠΆΠ΅ измСнился, хотя ΠΈ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ сильно; Ρ‡Ρ‚ΠΎ ΠΆΠ΅ касаСтся сфСры примСнСния Π‘ΠΈ, Ρ‚ΠΎ ΠΎΠ½Π° Π΄Π°Π»Π΅ΠΊΠΎ Π²Ρ‹ΡˆΠ»Π° Π·Π° Ρ€Π°ΠΌΠΊΠΈ Π΅Π³ΠΎ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ назначСния ΠΊΠ°ΠΊ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ языка ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы UNIX.

Рост популярности Π‘ΠΈ, Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ с Π³ΠΎΠ΄Π°ΠΌΠΈ измСнСния, созданиС компиляторов ΠΊΠΎΠ»Π»Π΅ΠΊΡ‚ΠΈΠ²Π°ΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Ρ€Π°Π½Π΅Π΅ Π½Π΅ причастных ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ языка, — всС это послуТило стимулом ΠΊ Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½ΠΎΠΌΡƒ ΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π΅ΠΌΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ языка ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΠΊΠ½ΠΈΠ³ΠΈ. Π’ 1983 Π³. АмСриканский институт Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… стандартов (American National Standards Institute — ANSI) ΡƒΡ‡Ρ€Π΅Π΄ΠΈΠ» ΠΊΠΎΠΌΠΈΡ‚Π΅Ρ‚, ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π±Ρ‹Π»Π° поставлСна Ρ†Π΅Π»ΡŒ Π²Ρ‹Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ «ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎΠ΅ ΠΈ машинно-нСзависимоС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ языка Π‘ΠΈ», ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ сохранив ΠΏΡ€ΠΈ этом Π΅Π³ΠΎ стилистику. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ этого ΠΊΠΎΠΌΠΈΡ‚Π΅Ρ‚Π° ΠΈ явился стандарт ANSI языка Π‘ΠΈ.

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ Ρ„ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ срСдства языка, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΈΠ·Π΄Π°Π½ΠΈΠΈ Π±Ρ‹Π»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°ΠΌΠ΅Ρ‡Π΅Π½Ρ‹, Π½ΠΎ Π½Π΅ описаны, Ρ‚Π°ΠΊΠΈΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°ΠΊ присваиваниС структурам ΠΈ пСрСчислСния. Он Π²Π²ΠΎΠ΄ΠΈΡ‚ Π½ΠΎΠ²Ρ‹ΠΉ Π²ΠΈΠ΄ описания Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎΠ²ΡΠ΅ΠΌΠ΅ΡΡ‚Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ согласованности Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ с ΠΈΡ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ; спСцифицируСт ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ с ΡˆΠΈΡ€ΠΎΠΊΠΈΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°, управлСния ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, манипуляций со строками символов ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ функциями; уточняСт сСмантику, Π±Ρ‹Π²ΡˆΡƒΡŽ Π² ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ нСясной, ΠΈ явно выдСляСт Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ остаСтся машинно-зависимым.

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

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

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ A — это справочноС руководство, Π½ΠΎ ΠΎΡ‚Π½ΡŽΠ΄ΡŒ Π½Π΅ стандарт. Π’ Π½Π΅ΠΌ ΠΌΡ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ ΡƒΠ»ΠΎΠΆΠΈΡ‚ΡŒ самоС сущСствСнноС Π½Π° ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠ΅ страниц. По замыслу это ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ программистом-ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ: для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΆΠ΅ компилятора ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ языка Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ сам стандарт. Π’ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ B ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ возмоТности стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Оно Ρ‚Π°ΠΊΠΆΠ΅ прСдставляСт собой справочник для ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… программистов, Π½ΠΎ Π½Π΅ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² компиляторов. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ C содСрТит ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΉ ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΉ прСдставлСнной вСрсии языка Π‘ΠΈ ΠΎΡ‚ Π΅Π³ΠΎ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ вСрсии.

Π’ прСдисловии ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ изданию ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ «Ρ‡Π΅ΠΌ большС Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΡˆΡŒ с Π‘ΠΈ, Ρ‚Π΅ΠΌ ΠΎΠ½ становится ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅». Π­Ρ‚ΠΎ Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½ΠΈΠ΅ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ ΠΈ послС дСсяти Π»Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌ. ΠœΡ‹ надССмся, Ρ‡Ρ‚ΠΎ данная ΠΊΠ½ΠΈΠ³Π° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Π‘ΠΈ ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

ΠœΡ‹ Π² большом Π΄ΠΎΠ»Π³Ρƒ ΠΏΠ΅Ρ€Π΅Π΄ Π΄Ρ€ΡƒΠ·ΡŒΡΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³Π°Π»ΠΈ Π½Π°ΠΌ Π² выпускС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ издания ΠΊΠ½ΠΈΠ³ΠΈ. Π”ΠΆΠΎΠ½ Π‘Π΅Π½Ρ‚Π»ΠΈ, Π”ΡƒΠ³ Π“ΡƒΠ½Π½, Π”ΡƒΠ³ ΠœΠ°ΠΊΠΈΠ»Ρ€ΠΎΠΉ, ΠŸΠΈΡ‚Π΅Ρ€ НСльсон ΠΈ Π ΠΎΠ± Пайк сдСлали Ρ‡Π΅Ρ‚ΠΊΠΈΠ΅ замСчания ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ страницС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° рукописи. ΠœΡ‹ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π½Ρ‹ Алу Ахо, ДСннису Аллиссону, Π”ΠΆΠΎΡŽ ΠšΠ΅ΠΌΠΏΠ±Π΅Π»Π»Ρƒ, Π“. Π . Π­ΠΌΠ»ΠΈΠ½Ρƒ, ΠšΠ°Ρ€Π΅Π½ Π€ΠΎΡ€Ρ‚Π³Π°Π½Π³, АллСну Π“ΠΎΠ»ΡƒΠ±Ρƒ, Π­Π½Π΄Ρ€ΡŽ Π₯ΡŒΡŽΠΌΡƒ, Дэйву ΠšΡ€ΠΈΡΡ‚ΠΎΠ»Ρƒ, Π”ΠΆΠΎΠ½Ρƒ Π›ΠΈΠ½Π΄Π΅Ρ€ΠΌΠ°Π½Ρƒ, Дэйву ΠŸΡ€ΠΎΡΡΠ΅Ρ€Ρƒ, Π“ΠΈΠ½Ρƒ Π‘ΠΏΠ°Ρ„Ρ„ΠΎΡ€Π΄Ρƒ ΠΈ ΠšΡ€ΠΈΡΡƒ Π’Π°Π½ Π£ΠΈΠΊΡƒ Π·Π° Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ. ΠœΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ совСты ΠΎΡ‚ Π‘ΠΈΠ»Π»Π° Π§Π΅Π·Π²ΠΈΠΊΠ°, ΠœΠ°Ρ€ΠΊΠ° ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½Π°, Π­Π½Π΄Ρ€ΡŽ Коэнига, Π ΠΎΠ±ΠΈΠ½Π° Π›Π΅ΠΉΠΊΠ°, Π’ΠΎΠΌΠ° Π›ΠΎΠ½Π΄ΠΎΠ½Π°, Π”ΠΆΠΈΠΌΠ° Π ΠΈΠ΄Π·Π°, Кловиза Π’ΠΎΠ½Π΄ΠΎ ΠΈ ΠŸΠΈΡ‚Π΅Ρ€Π° Π’Π°ΠΉΠ½Π±Π΅Ρ€Π³Π΅Ρ€Π°. Π”Π΅ΠΉΠ² ΠŸΡ€ΠΎΡΡΠ΅Ρ€ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ» Π½Π° многочислСнныС вопросы, ΠΊΠ°ΡΠ°ΡŽΡ‰ΠΈΠ΅ΡΡ Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ стандарта ANSI. ΠœΡ‹ ΡˆΠΈΡ€ΠΎΠΊΠΎ пользовались транслятором с Π‘ΠΈ++ Π‘ΡŒΠ΅Ρ€Π½Π° Бтрауструпа для локальной ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π°ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π° Π”Π΅ΠΉΠ² ΠšΡ€ΠΈΡΡ‚ΠΎΠ» прСдоставил Π½Π°ΠΌ ANSI Π‘ΠΈ-компилятор для ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΡ… ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ. Π ΠΈΡ‡ Π”Ρ€Π΅ΡˆΠ»Π΅Ρ€ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠΌΠΎΠ³ Π² Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠ½ΠΈΠ³ΠΈ. ΠœΡ‹ искрСннС Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€ΠΈΠΌ всСх.

Π‘Ρ€Π°ΠΉΠ°Π½ Π’. ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½, ДСннис М. Π ΠΈΡ‚Ρ‡ΠΈ

ΠŸΡ€Π΅Π΄ΠΈΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ изданию

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

ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π‘ΠΈ Π±Ρ‹Π» создан ДСннисом Π ΠΈΡ‚Ρ‡ΠΈ ΠΊΠ°ΠΊ инструмСнт написания ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы UNIX для ΠΌΠ°ΡˆΠΈΠ½Ρ‹ PDP-11 ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… этой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. И опСрационная систСма, ΠΈ Π‘ΠΈ- компилятор, ΠΈ, ΠΏΠΎ сущСству, всС ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ систСмы UNIX (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΈ Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ использовались для ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ тСкста этой ΠΊΠ½ΠΈΠ³ΠΈ — Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ Π² Π²ΠΈΠ΄Ρƒ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π» этой ΠΊΠ½ΠΈΠ³ΠΈ Π½Π° английском языкС. — ΠŸΡ€ΠΈΠΌΠ΅Ρ‡. ΠΏΠ΅Ρ€.) написаны Π½Π° Π‘ΠΈ. Π€ΠΈΡ€ΠΌΠ΅Π½Π½Ρ‹Π΅ Π‘ΠΈ-компиляторы ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ², срСди ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… 1Π’Πœ/370, Honeywell 6000 ΠΈ Interdata 8/32. Π‘ΠΈ Π½Π΅ привязан ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Π΅ ΠΈΠ»ΠΈ систСмС, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π° Π½Π΅ΠΌ Π»Π΅Π³ΠΊΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ пСрСносятся Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Π³Π΄Π΅ осущСствляСтся Π΅Π³ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°.

ЦСль нашСй ΠΊΠ½ΠΈΠ³ΠΈ — ΠΏΠΎΠΌΠΎΡ‡ΡŒ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŽ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π‘ΠΈ. ИзданиС Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅- ΡƒΡ‡Π΅Π±Π½ΠΈΠΊ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ скорСС, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π³Π»Π°Π²Ρ‹, посвящСнныС основным свойствам языка, ΠΈ справочноС руководство. Π’ Π΅Π΅ основу ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ‹ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅, написаниС ΠΈ ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², Π° Π½Π΅ простоС пСрСчислСниС ΠΏΡ€Π°Π²ΠΈΠ». ΠŸΠΎΡ‡Ρ‚ΠΈ всС наши ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ — это Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹Π΅ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π° Π½Π΅ Ρ€Π°Π·ΠΎΠ±Ρ‰Π΅Π½Π½Ρ‹Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹. ВсС ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ оттСстированы Π½Π° машинС Ρ‚ΠΎΡ‡Π½ΠΎ Π² Ρ‚ΠΎΠΌ Π²ΠΈΠ΄Π΅, ΠΊΠ°ΠΊ приводятся Π² ΠΊΠ½ΠΈΠ³Π΅. Помимо дСмонстрации эффСктивного использования языка, Ρ‚Π°ΠΌ, Π³Π΄Π΅ это Π±Ρ‹Π»ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΌΡ‹ ΡΡ‚Ρ€Π΅ΠΌΠΈΠ»ΠΈΡΡŒ ΠΏΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ стиля написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ ΠΈΡ… Ρ€Π°Π·ΡƒΠΌΠ½ΠΎΠ³ΠΎ проСктирования.

Π­Ρ‚Π° ΠΊΠ½ΠΈΠ³Π° Π½Π΅ являСтся Π²Π²ΠΎΠ΄Π½Ρ‹ΠΌ курсом ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ Π·Π½Π°ΠΊΠΎΠΌ с Ρ‚Π°ΠΊΠΈΠΌΠΈ основными понятиями, ΠΊΠ°ΠΊ «ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ», «ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅», «Ρ†ΠΈΠΊΠ»», «Ρ„ункция». Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΈ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ смоТСт ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ язык, хотя для Π½Π΅Π³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ с Π±ΠΎΠ»Π΅Π΅ Π·Π½Π°ΡŽΡ‰ΠΈΠΌΠΈ спСциалистами.

Наш ΠΎΠΏΡ‹Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Π», Ρ‡Ρ‚ΠΎ Π‘ΠΈ — ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ, Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ Π³ΠΈΠ±ΠΊΠΈΠΉ язык, ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Ρ‹ΠΉ для программирования ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ класса Π·Π°Π΄Π°Ρ‡. Π•Π³ΠΎ Π»Π΅Π³ΠΊΠΎ Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ, ΠΈ Ρ‡Π΅ΠΌ большС Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΡˆΡŒ с Π‘ΠΈ, Ρ‚Π΅ΠΌ ΠΎΠ½ становится ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅. ΠœΡ‹ надССмся, Ρ‡Ρ‚ΠΎ эта ΠΊΠ½ΠΈΠ³Π° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π΅Π³ΠΎ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ.

Вдумчивая ΠΊΡ€ΠΈΡ‚ΠΈΠΊΠ° ΠΈ прСдлоТСния ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ·Π΅ΠΉ ΠΈ ΠΊΠΎΠ»Π»Π΅Π³ ΠΏΠΎΠΌΠΎΠ³Π°Π»ΠΈ Π½Π°ΠΌ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ. Π’ частности, Майк Π‘ΠΈΠ°Π½ΠΊΠΈ, Π”ΠΆΠΈΠΌ Π‘Π»Ρƒ, Π‘Ρ‚ΡŒΡŽ Π€Π΅Π»Π΄ΠΌΠ°Π½, Π”ΡƒΠ³ ΠœΠ°ΠΊΠΈΠ»Ρ€ΠΎΠΉ, Π‘ΠΈΠ»Π» Π ΡƒΠΌ, Π‘ΠΎΠ± Π ΠΎΠ·ΠΈΠ½ ΠΈ Π›Π°Ρ€Ρ€ΠΈ РослСр со Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΡ‡Π»ΠΈ всС многочислСнныС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ этой ΠΊΠ½ΠΈΠ³ΠΈ. ΠœΡ‹ Π² Π΄ΠΎΠ»Π³Ρƒ Ρƒ Ала Ахо, Π‘Ρ‚ΠΈΠ²Π° Π‘ΡŒΠ΅Ρ€Π½Π°, Π”Π°Π½Π° Π”Π²ΠΎΡ€Π°ΠΊΠ°, Π§Π°ΠΊΠ° Π₯Π΅ΠΉΠ»ΠΈ, ΠœΠ°Ρ€ΠΈΠΎΠΈ Π₯аррис, Π ΠΈΠΊΠ° Π₯ΠΎΠ»Ρ‚Π°, Π‘Ρ‚ΠΈΠ²Π° ДТонсона, Π”ΠΆΠΎΠ½Π° МашСя, Π‘ΠΎΠ±Π° ΠœΠΈΡ‚Ρ†Π°, Π Π°Π»ΡŒΡ„Π° ΠœΡƒΡ…ΠΈ, ΠŸΠΈΡ‚Π΅Ρ€Π° НСльсона, Π­Π»Π»ΠΈΠΎΡ‚Π° Пинсона, Π‘ΠΈΠ»Π»Π° ΠŸΠ»Π΅ΠΉΠ΄ΠΆΠ΅Ρ€Π°, Π”ΠΆΠ΅Ρ€Ρ€ΠΈ Π‘ΠΏΠΈΠ²Π°ΠΊΠ°, КСна Вомпсона ΠΈ ΠŸΠΈΡ‚Π΅Ρ€Π° Π’Π°ΠΉΠ½Π±Π΅Ρ€Π³Π΅Ρ€Π° Π·Π° ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ совСты, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΎΡ‚ Π½ΠΈΡ… Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… стадиях ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ рукописи, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρƒ Майка ЛСска ΠΈ Π”ΠΆΠΎ ΠžΡΡΠ°Π½Π½Ρ‹ Π·Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ΅ Π΅Π΅ ΠΊ изданию.

Π‘Ρ€Π°ΠΉΠ°Π½ Π’. ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½, ДСннис М. Π ΠΈΡ‚Ρ‡ΠΈ

Π‘ΠΈ — ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ язык программирования. Он тСсно связан с систСмой UNIX, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π² этой систСмС, которая ΠΊΠ°ΠΊ ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π² Π½Π΅ΠΉ, написаны Π½Π° Π‘ΠΈ. Однако язык Π½Π΅ привязан ТСстко ΠΊ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС ΠΈΠ»ΠΈ машинС. Π₯отя ΠΎΠ½ ΠΈ Π½Π°Π·Π²Π°Π½ «ΡΠ·Ρ‹ΠΊΠΎΠΌ систСмного программирования», ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΡƒΠ΄ΠΎΠ±Π΅Π½ для написания компиляторов ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм, оказалось, Ρ‡Ρ‚ΠΎ Π½Π° Π½Π΅ΠΌ ΡΡ‚ΠΎΠ»ΡŒ ΠΆΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ большиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ профиля.

9 Π²Π΅Π»ΠΈΠΊΠΎΠ»Π΅ΠΏΠ½Ρ‹Ρ… бСсплатных ΠΊΠ½ΠΈΠ³ для изучСния C

Книги — Π²Π΅Ρ‰ΡŒ для профСссионалов, ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ для программистов — Π½Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅. Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π»ΠΈ 9 ΠΊΠ½ΠΈΠ³ для изучСния языка C.

C — ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹ΠΉ высокоуровнСвый язык, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ, большС всСго повлиял Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊΠΈΠΌ ΠΌΡ‹ сСгодня Π²ΠΈΠ΄ΠΈΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Он Π±Ρ‹Π» создан для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ программисту Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΉ доступ ΠΊ памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΈΡΠ°Ρ‚ΡŒ эффСктивный ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ минимальной ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ языков программирования обязано C своим сущСствованиСм. НСкоторыС Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ C Π»Π°Ρ‚Ρ‹Π½ΡŒΡŽ Π² ΠΌΠΈΡ€Π΅ программирования.

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

ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌ Π²Π°ΡˆΠ΅ΠΌΡƒ вниманию 9 ΠΊΠ½ΠΈΠ³ для изучСния языка C, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ вас Π·Π°Ρ†Π΅ΠΏΠΈΡ‚ΡŒ, Ссли, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, английский для вас — Π½Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. НадССмся, этот сборник ΠΊΠ½ΠΈΠ³ станСт для вас ΡƒΠ΄Π°Ρ‡Π½Ρ‹ΠΌ Π½Π°Ρ‡Π°Π»ΠΎΠΌ изучСния C.

Книга, написанная Майком Π‘Π°Π½Π°Ρ…Π°Π½ΠΎΠΌ (Mike Banahan), Π”Π΅ΠΊΠ»Π°Π½ΠΎΠΌ Брэйди (Declan Brady) ΠΈ ΠœΠ°Ρ€ΠΊΠΎΠΌ Π”ΠΎΡ€Π°Π½ΠΎΠΌ (Mark Doran).

«The C Book» ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ наш сборник ΠΊΠ½ΠΈΠ³. Она написана для программистов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠΏΡ‹Ρ‚ Π² использовании Π΄Ρ€ΡƒΠ³ΠΈΡ… соврСмСнных ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Ρ… языков программирования. Книга фокусируСтся Π½Π° особСнных для C Π²Π΅Ρ‰Π°Ρ…. А ΠΈΠΌΠ΅Π½Π½ΠΎ, Π½Π° Ρ‚ΠΎΠΌ, Ρ€Π°Π΄ΠΈ Ρ‡Π΅Π³ΠΎ C Π±Ρ‹Π» ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π½.

НСкоторыС ΠΈΠ· Π³Π»Π°Π²:

  • ВступлСниС Π² C
  • ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠ° — посвящаСт читатСля Π² Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ основы языка, Π·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ Π΅Π³ΠΎ с ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌΠΈ словами, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ, объявлСниями ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, вСщСствСнным, цСлочислСнным Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, выраТСниями, Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠΎΠΉ Π² языкС, Π° Ρ‚Π°ΠΊΠΆΠ΅ с константами
  • ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ логичСскиС выраТСния — посвящаСт читатСля Π² ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, логичСскиС выраТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ Π±Ρ‹Π»ΠΎ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ Π³Π»Π°Π²Π΅
  • Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ — Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния, Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹, рСкурсии
  • ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈΒ — массивы, ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, sizeof() ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти, ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, выраТСния со Π·Π½Π°ΠΊΠΎΠΌ &, объявлСниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ
  • Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… — структуры, union, bitfield, enum, классификаторы, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ инициализация
  • ΠŸΡ€Π΅ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ — ΠΊΠ°ΠΊ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ ΠΊΠ°ΠΊ Ρ€Π°Π·Π±ΠΎΡ€ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²
  • Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹ C — Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ†ΠΈΠΈ, опрСдСлСния, typedef, const ΠΈ volatile
  • Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ — диагностика, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ символами, локализация, ограничСния, матСматичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½Π΅Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ goto, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ сигналами, Π²Π²ΠΎΠ΄-Π²Ρ‹Π²ΠΎΠ΄, Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π²Π²ΠΎΠ΄-Π²Ρ‹Π²ΠΎΠ΄, Π½Π΅Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π²Π²ΠΎΠ΄-Π²Ρ‹Π²ΠΎΠ΄, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ строками, Π΄Π°Ρ‚Π°, врСмя ΠΈ Ρ‚.Π΄
  • Π“ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° C — складываСм всё вмСстС, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для отобраТСния Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ сопоставлСния с ΠΎΠ±Ρ€Π°Π·Ρ†ΠΎΠΌ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅, Π±ΠΎΠ»Π΅Π΅ Π°ΠΌΠ±ΠΈΡ†ΠΈΠΎΠ·Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹.

Авторы Π΄Π°ΡŽΡ‚ ΠΏΡ€Π°Π²ΠΎ читатСлям свободно Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ Π² случаС, Ссли Π°Π²Ρ‚ΠΎΡ€Ρ‹ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ± этом Π·Π½Π°ΡŽΡ‚. Один ΠΈΠ· Π°Π²Ρ‚ΠΎΡ€ΠΎΠ² Майк Π‘Π°Π½Π°Ρ…Π°Π½ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΠ», Ρ‡Ρ‚ΠΎ ΠΊΠ½ΠΈΠ³Π° находится ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Creative Commons.

Написано Π‘Ρ‚ΠΈΠ²ΠΎΠΌ Π£Π°Π»Π°ΠΉΠ½ (Steve Oualline).

C Elements of Style — ΠΎΠ΄Π½Π° ΠΈΠ· самых ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΊΠ½ΠΈΠ³, ΠΎΠ½Π° ΠΏΠΎΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ стиля Π² написании ΠΊΠΎΠ΄Π°, ΡƒΡ‡ΠΈΡ‚ C ΠΈ C++ программистов Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ с Π»Ρ‘Π³ΠΊΠΎΡΡ‚ΡŒΡŽ понят Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ программистами ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΌ. НС ΠΈΠΌΠ΅Π΅Ρ‚ значСния, студСнты Π²Ρ‹ ΠΈΠ»ΠΈ профСссионал, Π²Ρ‹, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎ, смоТСтС вынСсти Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ для сСбя ΠΈΠ· этой ΠΊΠ½ΠΈΠ³ΠΈ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ — ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ число совСтов ΠΏΠΎ ΠΏΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΡŽ элСгантного, Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.

Автор пытаСтся ΠΏΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ использованиС Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ стиля программирования Π² своём ΠΊΠΎΠ΄Π΅. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ строки ΠΊΠΎΠ΄Π°, Π° Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ большС фокусируСтся Π½Π° коммСнтариях, Ρ…ΠΎΡ€ΠΎΡˆΠΎ написанный ΠΊΠΎΠ΄ содСрТит Π² сСбС ΠΈ Ρ‚ΠΎ, ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Π“Π»Π°Π²Π½ΠΎΠΉ Ρ†Π΅Π»ΡŒΡŽ ΠΊΠ½ΠΈΠ³ΠΈ являСтся Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ читатСля ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ структурированный ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ эффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ рСсурсы ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, Π½ΠΎ ΠΈ содСрТит Π² сСбС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ. Π’Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π»Π΅Π³ΠΊΠΎ ΠΈΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ.

Книга содСрТит Π² сСбС Ρ†Π΅Π»Ρ‹Π΅ руководства ΠΏΠΎ Ρ‚Π°ΠΊΠΈΠΌ Π²Π΅Ρ‰Π°ΠΌ, ΠΊΠ°ΠΊ написаниС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² Π² шапкС ΠΊΠΎΠ΄Π°, ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅Β ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

Как ΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ экзСмпляр, ΠΊΠ½ΠΈΠ³Π° ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° ΠΏΠΎ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ Creative Commons.

Написано Π”Π°Π½ΠΈΠ΅Π»Π΅ΠΌ Π₯ΠΎΠ»Π΄Π΅Π½ΠΎΠΌ (Daniel Holden).

Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ язык C ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ свой собствСнный язык программирования Lisp Π² ΠΌΠ΅Π½Π΅Π΅, Ρ‡Π΅ΠΌ 1000 строках ΠΊΠΎΠ΄Π°.

Π­Ρ‚Π° ΠΊΠ½ΠΈΠ³Π° ΠΏΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚ Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ язык C ΠΈ Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ Ρ€Π°Π· задавался вопросом «ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ язык программирования». Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠ½ΠΈΠ³Π° Π½Π΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ², Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Π°ΠΌ стоит ΠΈΠΌΠ΅Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠΏΡ‹Ρ‚ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ содСрТаниС.

Build Your Own Lisp находится ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Creative Commons Attribution-NonCommercial-ShareAlike 3.0.

Мягкий ΠΏΠ΅Ρ€Π΅ΠΏΠ»Ρ‘Ρ‚ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π° Amazon.

Книга написана Врэвисом Π ΠΎΡ‚Π²Π΅Π»Π»ΠΎΠΌ (Trevis Rothwell) ΠΈ ДТэймсом Π―Π½Π³ΠΌΠ°Π½ΠΎΠΌ (James Yongman)

The GNU C Reference Manual — это справочноС руководство ΠΏΠΎ языку C ΠΈ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ Π½Π° стандарт ANSI C 1989, ISO C 1999 ΠΈ GNU Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ стандартного C. НуТно ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠ½ΠΈΠ³Π° написана Π½Π΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ², Π° скорСС для Ρ‚Π΅Ρ…, Ρƒ ΠΊΠΎΠ³ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠΏΡ‹Ρ‚.

Книга Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π³Π»Π°Π²Ρ‹:

  • ЛСксичСскиС элСмСнты — ΠΊΠ½ΠΈΠ³Π° ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŽ лСксичСскиС элСмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ входят Π² исходный ΠΊΠΎΠ΄ Π½Π° языкС C послС прСпроцСссинга. Π­Ρ‚ΠΈ элСмСнты Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠΊΠ΅Π½Π°ΠΌΠΈ (token). Π•ΡΡ‚ΡŒ 5 Ρ‚ΠΈΠΏΠΎΠ² Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ²: ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹, константы, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ.
  • Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… — рассматриваСт ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² языкС C, enum, union, структуры, массивы, ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, классификаторы ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅
  • ВыраТСния ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ — Ρ‚Π°ΠΊΠΈΠ΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠ°ΠΊ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Π΄Π΅ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, арифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, комплСксноС сопряТСниС, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ сравнСния, логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅
  • Π‘Ρ‚Π΅ΠΉΡ‚ΠΌΠ΅Π½Ρ‚Ρ‹ — if statement, switch, while, do, for, null, goto, break, continue, return, typedef.
  • Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ — объявлСниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Ρ‚.Π΄
  • Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ — рассмотрСниС ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρ‹ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
  • ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° C — готовая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, написанная Π½Π° C, состоящая ΠΈΠ· исходного ΠΊΠΎΠ΄Π° Π½Π° C, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. По Ρ„Π°ΠΊΡ‚Ρƒ, эта ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° — Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ вСрсия всСм извСстного «hello world» ΠΈ слуТит для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŽ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π½Π° языкС C для использования Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… для FSF Project GNU

Книга находится ΠΏΠΎΠ΄ бСсплатной Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ GNU Free Documentation, вСрсии 1.3.

Книга написана ΠœΠ°Ρ€ΠΊΠΎΠΌ Π‘ΡŽΡ€Π³ΡΠΎΠΌ (Mark Burgess) ΠΈ Π ΠΎΠ½ΠΎΠΌ Π₯эйл-Эвансом (Ron Hale-Evans).

The GNU C Programming Tutorial прСдставляСт Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŽ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΈΠ΄Π΅ΠΈ Π² логичСском порядкС. Книга Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π΅Ρ‚ всС Π²Π°ΠΆΠ½Ρ‹Π΅ элСмСнты языка C с ΡƒΠΏΠΎΡ€ΠΎΠΌ Π½Π° компилятор GNU/Linux ΠΈ связанноС с Π½ΠΈΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС.

Π“Π»Π°Π²Ρ‹ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠ°ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ,Β ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, Ρ†ΠΈΠΊΠ»Ρ‹, массивы, строки, Π²Π²ΠΎΠ΄ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Книга находится ΠΏΠΎΠ΄ бСсплатной Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ GNU Free Documentation License, вСрсии 1.1.

Одна ΠΈΠ· Π»ΡƒΡ‡ΡˆΠΈΡ… ΠΊΠ½ΠΈΠ³, написана Ником ΠŸΠ°Ρ€Π»Π°Π½Ρ‚Π΅ (Nick Parlante).

Бтэнфордская ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎ CS, которая Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя являтСся источником, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ описываСт всС ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ особСнности ΠΈ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ использования языка C. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ всё описано ΠΎΡ‡Π΅Π½ΡŒ ΠΊΡ€Π°Ρ‚ΠΊΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠ½ΠΈΠ³Π° Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π° Π½Π° программиста, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠΏΡ‹Ρ‚ Π² использовании Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ языка.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅:

  • ВступлСниС
  • Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹
  • Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…
  • ΠšΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…
  • Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ
  • ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ
  • Standard Library Reference

По словам Π°Π²Ρ‚ΠΎΡ€Π°, ΠΊΠ½ΠΈΠ³Π° находится ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ open-source.

Книга написана Π‘Ρ€Π°ΠΉΠ°Π½ΠΎΠΌ «Π‘ΠΈΠ΄ΠΆ» Π₯ΠΎΠ»Π» (Brian «Breej» Hall).

Автор пытаСтся привСсти читатСля ΠΈΠ· состояния ΠΏΠΎΠ»Π½ΠΎΠΉ растСрянности Π΄ΠΎ состояния Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ³ΠΎ понимания ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°, ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΎΠ½ это с использованиСм языка C.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅:

  • НаписаниС ΠΊΠΎΠ΄Π° ΠΈ Π±Π»ΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°
  • ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, выраТСния
  • Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ
  • ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ Π³Π»Π°Π²Ρ‹ ΠΏΡ€ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅
  • Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ
  • Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…
  • ΠœΠ°ΡΡΠΈΠ²Ρ‹
  • Π‘Ρ‚Ρ€ΠΎΠΊΠΈ
  • ДинамичСская ΠΏΠ°ΠΌΡΡ‚ΡŒ
  • Π‘ΠΎΠ»ΡŒΡˆΠ΅ всСго интСрСсного — Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΈΠ΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠ°ΠΊ 2-Ρ… ΠΈ 3-Ρ… ΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы, пустыС ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅
  • Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° iostream
  • ΠœΠ°Π½ΠΈΠΏΡƒΠ»ΡΡ†ΠΈΠΈ со строками
  • ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°

Данная ΠΊΠ½ΠΈΠ³Π° находится ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Creative Commons Attribution-Noncommercial- No Derivative Works 3.0 License.

Книга написана ДТСнсом ГустСдтом (Jens Gustedt).

Книга ΠΏΡ€ΠΈΠ·Π²Π°Π½Π° ΡΠΌΠΎΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ читатСля ΠΈΠ΄Ρ‚ΠΈ Π²Π²Π΅Ρ€Ρ… ΠΈ ΡƒΠ·Π½Π°Π²Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½ΠΎΠ²ΠΎΠ΅. Она Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π° Π½Π° 5 ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… частСй:

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

Книга находится ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Creative Commons Attribution-Noncommercial- No Derivative Works 3.0 License.

Книга написана Π‘Ρ€Π°ΠΉΠ°Π½ΠΎΠΌ Π“Π°Ρ„ΠΎΠΌ (Brian Gough).

Книга сама ΠΏΠΎ сСбС, являСтся этаким ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ шагом Π² GNU C ΠΈ C++ компиляторы — gcc ΠΈ g++, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π°ΡΡ‚ΡŒΡŽ GNU Compiler Collection (GCC).

Книга ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ компиляторы. ΠžΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠ»Π΅Ρ‚Π½ΠΈΡ… исслСдованиях, Π°Π²Ρ‚ΠΎΡ€ описываСт Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŽ всС самыС Π²Π°ΠΆΠ½Ρ‹Π΅ аспСкты GCC.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅:
  • ВступлСниС
  • ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° языкС C — Π² Π³Π»Π°Π²Π΅ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° языкС C, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ gcc. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ скомпилированы с ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… исходных Ρ„Π°ΠΉΠ»ΠΎΠ², Π° Ρ‚Π°ΠΊ ΠΆΠ΅ систСмных Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ header-Ρ„Π°ΠΉΠ»ΠΎΠ²
  • Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ компиляции — Π°Π²Ρ‚ΠΎΡ€ рассказываСт Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŽ ΠΎ малоизвСстных Ρ„ΠΈΡˆΠΊΠ°Ρ… компиляторов Π² GCC. Π­Ρ‚ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ ΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌ ΠΈ include-Ρ„Π°ΠΉΠ»Π°ΠΌ, использованиС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… диагностик Π½Π° ошибки, макросы прСпроцСссора ΠΈ Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚Ρ‹ языка C
  • ИспользованиС прСпроцСссора — Π² Π΄Π°Π½Π½ΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΈΠ΄Ρ‘Ρ‚ объяснСниС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ прСпроцСссор GNU C CPP, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΏΠ°ΠΊΠ΅Ρ‚Π° GCC.
  • ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ°
  • ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ — GCC — это ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ компилятор. Он прСдоставляСт ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ ряд ΠΎΠΏΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ Π½Π° ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ скорости, ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅
  • ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° C++ — здСсь ΠΈΠ΄Ρ‘Ρ‚ объяснСниС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° C++ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ компилятора GCC
  • Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠΏΡ†ΠΈΠΈ ΠΏΠΎΠ΄ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ — Π² Π΄Π°Π½Π½ΠΎΠΉ Π³Π»Π°Π²Π΅ Π°Π²Ρ‚ΠΎΡ€ рассказываСт ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… опциях, доступных для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ: Intel ΠΈ AMD x86, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ x86, x86 64-Π±ΠΈΡ‚Π½Ρ‹Π΅ процСссоры, DEC Alpha, SPARC, POWER/PowerPC, ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅
  • ΠžΡ‚Π»Π°Π΄ΠΊΠ° — GCC прСдоставляСт Π½Π°ΠΌ Ρ€Π°Π·Π½Ρ‹Π΅ инструмСнты для диагностики ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² процСссС компиляции
  • Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ для компилятора — Π°Π²Ρ‚ΠΎΡ€ рассказываСт ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… инструмСнтах, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ вмСстС с GCC. Π’ Π½ΠΈΡ… входят: GNU Π°Ρ€Ρ…ΠΈΠ²Π°Ρ‚ΠΎΡ€ для создания Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для покрытия ΠΊΠΎΠ΄Π° тСстами gprof ΠΈ gcov ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅
  • Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ компилятор — Π² Π΄Π°Π½Π½ΠΎΠΉ Π³Π»Π°Π²Π΅ рассказываСтся Π² дСталях ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ GCC ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ исходный ΠΊΠΎΠ΄ Π² исполняСмый Ρ„Π°ΠΉΠ». ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ — это процСсс, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π½ΡƒΠΆΠ΅Π½ сам компилятор GNU (Ρ‡Π΅Ρ€Π΅Π· gcc ΠΈΠ»ΠΈ g++ интСрфСйсы), GNU сборщик as ΠΈ GNU Π»ΠΈΠ½ΠΊΠ΅Ρ€ ld.
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° скомпилированных Ρ„Π°ΠΉΠ»ΠΎΠ² — Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ инструмСнты для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ скомпилированных Ρ„Π°ΠΉΠ»ΠΎΠ²
  • РаспространённыС ошибки — самыС распространённыС ошибки, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠ΅ Π²ΠΎ врСмя использования gcc ΠΈ g++. КаТдая ΠΈΠ· ошибок прСдставлСна с описаниСм, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ
  • Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ — Ссли Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ Ρ‡Π΅Π³ΠΎ-Ρ‚ΠΎ Π½Π΅ понял Π² процСссС чтСния, Ρ‚ΠΎ Π°Π²Ρ‚ΠΎΡ€ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ряд ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… источников для Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ³ΠΎ изучСния GCC

Книга находится ΠΏΠΎΠ΄ бСсплатной Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ GNU Free Documentation License.

ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌ Π²Π°ΠΌ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ Π΅Ρ‰Ρ‘ с рядом ΠΊΠ½ΠΈΠ³, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ, Π½ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, ΠΊ соТалСнию, находятся Π½Π΅ ΠΏΠΎΠ΄ open-source Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ, Π»ΠΈΠ±ΠΎ ΠΆΠ΅ информация ΠΎ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ ясна.

И ΠΏΠΎΠ΄ ΠΊΠΎΠ½Π΅Ρ†, моя рСкомСндация: ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚ΠΈΡ‚Π΅ ΠΊΠ°Π½ΠΎΠ½ΠΈΡ‡Π½ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ ΠΏΠΎ языку C: The C Programming Language. Π₯ΠΎΡ‚ΡŒ ΠΎΠ½Π° ΠΈ Π½Π΅ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…, Π½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ часто упоминаСтся ΠΊΠ°ΠΊ классичСская ΠΊΠ½ΠΈΠ³Π° для изучСния C.

ΠŸΠΎΠ΄Π±ΠΎΡ€ΠΊΠ° ΠΊΠ½ΠΈΠ³ ΠΏΠΎ C++ для любого уровня

ИдСальная ΠΏΠΎΠ΄Π±ΠΎΡ€ΠΊΠ° ΠΊΠ½ΠΈΠ³ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²

Π―Π·Ρ‹ΠΊ программирования Π‘ΠΈ (ΠΊΠ½ΠΈΠ³Π°) β€” ВикипСдия

ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» ΠΈΠ· Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ β€” свободной энциклопСдии

Β«Π―Π·Ρ‹ΠΊ программирования Π‘ΠΈΒ» (Π°Π½Π³Π».Β The C Programming Language, Ρ‚Π°ΠΊΠΆΠ΅ извСстная ΠΊΠ°ΠΊ K&R)Β β€” ΠΊΠ½ΠΈΠ³Π° Π‘Ρ€Π°ΠΉΠ°Π½Π° ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½Π° ΠΈ ДСнниса Π ΠΈΡ‚Ρ‡ΠΈ, ΠΏΡ€ΠΈΡ‡Ρ‘ΠΌ послСдний — ΠΎΠ΄ΠΈΠ½ ΠΈΠ· нСпосрСдствСнных Π°Π²Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² языка Π‘ΠΈ. Книга стала основой для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ популяризации Π‘ΠΈ, Π΄ΠΎ сих ΠΏΠΎΡ€ ΠΈΠΌΠ΅Π΅Ρ‚ спрос[1] ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² качСствС «классичСского» ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠ° ΠΏΠΎ языку. Она Π΄ΠΎΠ»Π³ΠΎΠ΅ врСмя Π±Ρ‹Π»Π° СдинствСнным справочным руководством ΠΈ Π΄Π΅-Ρ„Π°ΠΊΡ‚ΠΎΒ β€” стандартом языка.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ

ΠŸΠ΅Ρ€Π²ΠΎΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅

Книга, ΠΊΠ°ΠΊ ΠΈ язык, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΎΠ½Π° посвящСна, Ρ€ΠΎΠ΄ΠΈΠ»Π°ΡΡŒ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ AT&T Bell Labs. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ ΡƒΠ²ΠΈΠ΄Π΅Π»ΠΎ свСт Π² 1978 Π³ΠΎΠ΄Ρƒ ΠΈ Π±Ρ‹Π»ΠΎ Π² Ρ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π° СдинствСнной ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΎΠΉ ΠΏΠΎ Π‘ΠΈ. Π’Π΅Ρ€ΡΠΈΡŽ языка, которая ΠΎΠΏΠΈΡΡ‹Π²Π°Π»Π°ΡΡŒ Π² ΠΊΠ½ΠΈΠ³Π΅, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ часто Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ K&R C (ΠΏΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π±ΡƒΠΊΠ²Π°ΠΌΠΈ Ρ„Π°ΠΌΠΈΠ»ΠΈΠΉ Π°Π²Ρ‚ΠΎΡ€ΠΎΠ²)Β β€” Π² основном, для отличия ΠΎΡ‚ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½Π΅Π³ΠΎ стандарта ANSI C, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» описан Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΈΠ·Π΄Π°Π½ΠΈΠΈ. ΠšΡ€ΠΎΠΌΠ΅ нСпосрСдствСнно ΡƒΡ‡Π΅Π±Π½ΠΎΠ³ΠΎ тСкста с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ, рассчитанного Π½Π° Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² Π² Π‘ΠΈ, ΠΊΠ½ΠΈΠ³Π° содСрТала Π³Π»Π°Π²Ρ‹, посвящённыС основным свойствам языка, Π° Ρ‚Π°ΠΊΠΆΠ΅ справочник.

Π’Ρ‚ΠΎΡ€ΠΎΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅

Π’Ρ‚ΠΎΡ€ΠΎΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ спустя Π΄Π΅ΡΡΡ‚ΡŒ Π»Π΅Ρ‚ послС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ, Π² 1988 Π³ΠΎΠ΄Ρƒ. Π’ ΠΊΠ½ΠΈΠ³Π΅ Π±Ρ‹Π»Π° прСдставлСна вСрсия Π‘ΠΈ, принятая Π² качСствС стандарта ANSI, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹: описаниС стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π‘ΠΈ ΠΈ ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΉ ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΉ ANSI C ΠΎΡ‚ ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΉ вСрсии. Π­Ρ‚ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π½Π° 25 языков[2] ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎ ΠΌΠΈΡ€ΠΎΠ²ΡƒΡŽ ΠΈΠ·Π²Π΅ΡΡ‚Π½ΠΎΡΡ‚ΡŒ.

Π₯отя со Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ своСй ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² 1989 Π³ΠΎΠ΄Ρƒ ANSI C Π½Π΅ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ мСнялся, Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±Ρ‹ освСтило эти измСнСния, Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ΠΎ Π½Π΅ Π±Ρ‹Π»ΠΎ.

ВлияниС

Hello, world!

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ самым извСстным ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ΠΈΠ· ΠΊΠ½ΠΈΠ³ΠΈ стала ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Β«Hello, world!Β», которая Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ тСкст Β«hello, worldΒ» Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π». Π­Ρ‚ΠΎΡ‚ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ структуру минимальной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π‘ΠΈ. ПослС 1978 Π³ΠΎΠ΄Π° ΠΏΠΎΡ‡Ρ‚ΠΈ всС ΠΊΠ½ΠΈΠ³ΠΈ, посвящённыС языкам программирования, ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽΡ‚ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΡŽ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ издания The C Programming Language ΠΈ Π½Π΅ обходятся Π±Π΅Π· этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π‘Ρ‚ΠΈΠ»ΡŒ K&R

Π‘Ρ‚ΠΈΠ»ΡŒ форматирования исходного тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² ΠΎΠ±ΠΎΠΈΡ… изданиях ΠΊΠ½ΠΈΠ³ΠΈ, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ распространСниС ΠΊΠ°ΠΊ ΡΡ‚ΠΈΠ»ΡŒ K&R. Π‘ Π΅Π³ΠΎ использованиСм ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ΄ Unix ΠΈ ядро Linux.

РусскиС издания

  • Π‘Ρ€Π°ΠΉΠ°Π½ ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½, ДСннис Π ΠΈΡ‚Ρ‡ΠΈ, Алан Π€ΡŒΡŽΡΡ€. Π―Π·Ρ‹ΠΊ программирования Π‘ΠΈ. Π—Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎ языку Π‘ΠΈ.Β β€” Москва: Ѐинансы ΠΈ статистика, 1985.Β β€” 279 с.
  • Π‘Ρ€Π°ΠΉΠ°Π½ ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½, ДСннис Π ΠΈΡ‚Ρ‡ΠΈ. Π―Π·Ρ‹ΠΊ программирования Π‘ΠΈ.Β β€” Москва: Ѐинансы ΠΈ статистика, 1992.Β β€” 272 с.Β β€” ISBN 5-279-00473-1.
  • Π‘Ρ€Π°ΠΉΠ°Π½ ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½, ДСннис Π ΠΈΡ‚Ρ‡ΠΈ. Π―Π·Ρ‹ΠΊ программирования Π‘ΠΈ.Β β€” Π‘Π°Π½ΠΊΡ‚-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³: НСвский Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚, 2000.Β β€” 352 с.Β β€” (Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста).Β β€” ISBN 5-7940-0045-7.
  • Π‘Ρ€Π°ΠΉΠ°Π½ ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½, ДСннис Π ΠΈΡ‚Ρ‡ΠΈ. Π―Π·Ρ‹ΠΊ программирования C.Β β€” Москва: Π’ΠΈΠ»ΡŒΡΠΌΡ, 2015.Β β€” 304 с.Β β€” ISBN 978-5-8459-1975-5.

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ

Бсылки

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ «Π―Π·Ρ‹ΠΊ Π‘ΠΈ — руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…» Π°Π²Ρ‚ΠΎΡ€Π° УЭИВ M. — RuLit

ΠŸΡ€Π΅Π΄ΠΈΡΠ»ΠΎΠ²ΠΈΠ΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π°

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ языков программирования Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв ΠΎΡ‡Π΅Π½ΡŒ ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ люди, часто Π³Ρ€ΡƒΠΏΠΏΡ‹ программистов, Π° ΠΈΠ½ΠΎΠ³Π΄Π° Π΄Π°ΠΆΠ΅ ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡ‚ΠΈΠ²Ρ‹. Однако ΠΏΠΎΠ΄Π°Π²Π»ΡΡŽΡ‰Π΅Π΅ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ языков программирования ΡƒΠΌΠΈΡ€Π°Π»ΠΎ, Π΅Π΄Π²Π° Ρ€ΠΎΠ΄ΠΈΠ²ΡˆΠΈΡΡŒ. Π›ΠΈΡˆΡŒ ΠΊ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΈΠΌ ΠΈΠ· Π½ΠΈΡ… Π±Ρ‹Π» проявлСн интСрСс, ΠΈ Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ распространСниС. К Ρ‚Π°ΠΊΠΈΠΌ «ΡΡ‡Π°ΡΡ‚Π»ΠΈΠ²Ρ‹ΠΌ» языкам ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ язык Π‘ΠΈ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ Π”. Π ΠΈΡ‚Ρ‡ΠΈ. Он появился Π½Π΅ Π½Π° пустом мСстС. Π•ΠΌΡƒ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΠΎΠ²Π°Π»ΠΈ ΠΈ ΠΎΠΊΠ°Π·Π°Π»ΠΈ Π½Π° Π½Π΅Π³ΠΎ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠ΅ влияниС язык BCPL, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ М. Ричардсоном, ΠΈ язык Π‘ΠΈ (Π’), созданный К. Вомпсоном.

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

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

ΠŸΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π° Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… языках высокого уровня, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° Π€ΠΎΡ€Ρ‚Ρ€Π°Π½Π΅. Однако Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ части Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ особСнно ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π΅ Π½Π° ассСмблСрС, ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ, Π° Π½Π° языкС Π‘ΠΈ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ сократит врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, обСспСчит ΠΈΡ… Π΄ΠΎΡΡ‚Π°Ρ‚ΠΎΡ‡Π½ΡƒΡŽ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ, Π° Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… случаях ΠΈ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΡŒ, Ρ‚.Β Π΅. использованиС ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π­Π’Πœ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ².

ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΠ°Ρ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŽ ΠΊΠ½ΠΈΠ³Π° β€” ΡƒΡ‡Π΅Π±Π½ΠΈΠΊ ΠΏΠΎ языку Π‘ΠΈ. Книга написана извСстными амСриканскими спСциалистами М. Уэйтом, Π‘. ΠŸΡ€Π°Ρ‚ΠΎΠΉ ΠΈ Π”. ΠœΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΌ с большим пСдагогичСским ΠΈ мСтодичСским мастСрством: ΠΈΠ·Π»Π°Π³Π°Π΅ΠΌΡ‹ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» ΠΏΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ многочислСнными ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΈ Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ. Π­Ρ‚ΠΎ обСспСчиваСт Π»Π΅Π³ΠΊΠΎΡΡ‚ΡŒ понимания ΠΈ усвоСния ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π°. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ трансляторы с языка Π‘ΠΈ появились сСйчас Π½Π° отСчСствСнных ΠΌΠ°ΡˆΠΈΠ½Π°Ρ…, ΠΊΠ½ΠΈΠ³Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ интСрСс Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ ΠΊΡ€ΡƒΠ³Π° Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»Π΅ΠΉ, Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ знакомящихся с языком Π‘ΠΈ, Π½ΠΎ ΠΈ для систСмных программистов, ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² ΠΈ Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊΠΎΠ².

ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ Π’. Π‘. Π―Π²Π½ΠΈΠ»ΠΎΠ²ΠΈΡ‡ (прСдисловиС, Π³Π». 1–9) ΠΈ Π›. Н. Π“ΠΎΡ€ΠΈΠ½ΠΎΠ²ΠΈΡ‡ (Π³Π». 10–15 ΠΈ прилоТСния).

Π­. А. Π’Ρ€Π°Ρ…Ρ‚Π΅Π½Π³Π΅Ρ€Ρ†

Π‘ΠΈ β€” простой, изящный язык программирования, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ останавливаСт свой Π²Ρ‹Π±ΠΎΡ€ всС большСС число программистов. Π­Ρ‚Π° ΠΊΠ½ΠΈΠ³Π° (Ссли Π²Ρ‹ Π½Π΅ посмотрСли Π½Π° Ρ‚ΠΈΡ‚ΡƒΠ»ΡŒΠ½Ρ‹ΠΉ лист) называСтся «Π―Π·Ρ‹ΠΊ Π‘ΠΈ. Руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…»; ΠΎΠ½Π° прСдставляСт собой простой ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΡƒΡ‡Π΅Π±Π½ΠΈΠΊ ΠΏΠΎ языку Π‘ΠΈ.

Π‘Π»ΠΎΠ²Π° «Π ΡƒΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…», стоящиС Π² ΠΏΠΎΠ΄Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ, говорят ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ нашСй Ρ†Π΅Π»ΡŒΡŽ Π±Ρ‹Π»ΠΎ Π΄Π°Ρ‚ΡŒ ΠΎΠ±Π·ΠΎΡ€ основ языка Π‘ΠΈ. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠΏΡ‹Ρ‚ β€” Π²Π΅Π»ΠΈΠΊΠΈΠΉ ΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒ; с этой Ρ†Π΅Π»ΡŒΡŽ Π² ΠΊΠ½ΠΈΠ³Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π·Π°Π΄Π°Ρ‡ ΡƒΡ‡Π΅Π±Π½ΠΎΠ³ΠΎ ΠΈ ΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π°. ΠœΡ‹ ΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ рисунки Π²ΡΡŽΠ΄Ρƒ, Π³Π΄Π΅, ΠΊΠ°ΠΊ ΠΌΡ‹ надСялись, ΠΎΠ½ΠΈ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ внСсти ΡΡΠ½ΠΎΡΡ‚ΡŒ. Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΈΠΌΠ΅Π»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ сСбя, Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Π»Π°Π²Ρ‹ приводятся вопросы для самоконтроля (ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° Π½ΠΈΡ…). ΠœΡ‹ Π½Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ Ρƒ вас большого ΠΎΠΏΡ‹Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ языкС программирования, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅ΠΌ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ язык Π‘ΠΈ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ языками, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΡƒΡΡΡŒ Π½Π° Ρ‚Π΅Ρ… Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π½Π°ΡŽΡ‚ ΠΈΡ….

ΠœΡ‹ нСсколько Ρ€Π°ΡΡˆΠΈΡ€ΠΈΠ»ΠΈ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠ°: обсудили ряд Π±ΠΎΠ»Π΅Π΅ слоТных Ρ‚Π΅ΠΌ, Ρ‚Π°ΠΊΠΈΡ…, ΠΊΠ°ΠΊ использованиС структур, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ², Ρ€Π°Π±ΠΎΡ‚Ρƒ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ; Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΌΡ‹ рассмотрСли возмоТности ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° языкС Π‘ΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ языка. ΠœΡ‹ описали ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΡƒΡŽ срСду компилятора с языка Π‘ΠΈ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠ°ΠΊ с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой UNIX, Ρ‚Π°ΠΊ ΠΈ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ обСспСчСниСм ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ²: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, обсудили вопрос ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ продСмонстрировали использованиС ΠΏΠΎΡ€Ρ‚ΠΎΠ² Π² микропроцСссорах INTEL 8086/8088. И Π½Π°ΠΊΠΎΠ½Π΅Ρ†, ΠΌΡ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ ΡˆΡƒΡ‚Π»ΠΈΠ²Ρ‹Π΅ рисунки ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΎ ΠΈΠ· довольно приятных Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ.

ΠœΡ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ эту ΠΊΠ½ΠΈΠ³Ρƒ ΠΏΠΎΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ, понятной ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΠ»ΡŒΠ·Ρƒ ΠΎΡ‚ ΠΊΠ½ΠΈΠ³ΠΈ, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½Π΅ΠΉ самым Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. НС Π·Π°Π½ΠΈΠΌΠ°ΠΉΡ‚Π΅ΡΡŒ просто Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ². Π’Π²ΠΎΠ΄ΠΈΡ‚Π΅ ΠΈΡ… Π² Π²Π°ΡˆΡƒ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ систСму ΠΈ ΠΏΡ‹Ρ‚Π°ΠΉΡ‚Π΅ΡΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ. Π₯отя Π‘ΠΈ ΠΈ пСрСносимый (ΠΈΠ»ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ) язык, Π²ΠΏΠΎΠ»Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ различия ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² вашСй систСмС ΠΈ Ρƒ нас. НС Π±ΠΎΠΉΡ‚Π΅ΡΡŒ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ β€” ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊ Ρ‡Π΅ΠΌΡƒ это ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚. ΠœΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠΉΡ‚Π΅ ваши ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ слСгка ΠΎΡ‚Π»ΠΈΡ‡Π°Π»ΠΈΡΡŒ ΠΎΡ‚ исходных. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π½Π΅ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒ внимания Π½Π° наши ΠΈΠ½ΠΎΠ³Π΄Π° Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ΡΡ прСдупрСТдСния ΠΈ посмотритС, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ этом ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚. ΠŸΠΎΠΏΡ‹Ρ‚Π°ΠΉΡ‚Π΅ΡΡŒ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° вопросы ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ упраТнСния. Π§Π΅ΠΌ большС Π²Ρ‹ сдСлаСтС ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‚Π΅ΠΌ Π±ΠΎΠ»ΡŒΡˆΠ΅ΠΌΡƒ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ.

ΠœΡ‹ ΠΆΠ΅Π»Π°Π΅ΠΌ Π²Π°ΠΌ ΡƒΠ΄Π°Ρ‡ΠΈ ΠΏΡ€ΠΈ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ языка Π‘ΠΈ. ΠœΡ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π΅ΠΉ вашим потрСбностям ΠΈ надССмся, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ поставлСнных Ρ†Π΅Π»Π΅ΠΉ.

ΠœΡ‹ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€ΠΈΠΌ Π ΠΎΠ±Π΅Ρ€Ρ‚Π° Π›Π°Ρ„ΠΎΡ€Π° ΠΈΠ· ΠΈΠ·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° Waite Group Π·Π° рСдакторскиС совСты ΠΈ Π‘ΠΎΠ±Π° ΠŸΠ΅Ρ‚Π΅Ρ€ΡΠ΅Π½Π° Π·Π° Ρ‚Π΅Ρ…Π½ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΏΠΎΠΌΠΎΡ‰ΡŒ. ΠœΡ‹ приносим Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π½ΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Lifeboat Associates (Π² особСнности Π”ΠΆΠΎΡˆΡƒΠ° АллСну ΠΈ Π’ΠΎΠ΄Π΄Ρƒ ΠšΠ°Ρ†Ρƒ) Π·Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ компилятор Lattice Π‘. ΠœΡ‹ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€ΠΈΠΌ спСциалистов ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ C-Systems, Software Toolworks, Telecon Systems ΠΈ Supersoft Π·Π° ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½Π½ΡƒΡŽ Π½Π°ΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ своих компиляторах с языка Π‘ΠΈ. Один ΠΈΠ· Π°Π²Ρ‚ΠΎΡ€ΠΎΠ², Π‘. ΠŸΡ€Π°Ρ‚Π°, посвящаСт свой Ρ‚Ρ€ΡƒΠ΄ родитСлям β€” Π’ΠΈΠΊΠΈ ΠΈ Π‘ΠΈΠ»Π»Ρƒ β€” с любовью.

М. Уэйт, Π‘. ΠŸΡ€Π°Ρ‚Π°, Π”. ΠœΠ°Ρ€Ρ‚ΠΈΠ½

ИБВОРИЯ БИ Π”ΠžΠ‘Π’ΠžΠ˜ΠΠ‘Π’Π’Π БИ

Π―Π—Π«ΠšΠ˜ ΠšΠžΠœΠŸΠ˜Π›Π―Π¦Π˜Π˜

Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΌΠΈΡ€ языка Π‘ΠΈ. Π’ Π΄Π°Π½Π½ΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΌΡ‹ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ вас ΠΊ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΡŽ этого ΠΌΠΎΡ‰Π½ΠΎΠ³ΠΎ языка, Π·Π°Π²ΠΎΠ΅Π²Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ всС Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ. Π§Ρ‚ΠΎ Π²Π°ΠΌ для этого Π½ΡƒΠΆΠ½ΠΎ? Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, интСрСс ΠΊ Π‘ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, ΠΏΠΎ-Π²ΠΈΠ΄ΠΈΠΌΠΎΠΌΡƒ, Ρƒ вас ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ. Но, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΠΈΠ»ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, ΠΌΡ‹ ΠΊΡ€Π°Ρ‚ΠΊΠΎ обрисуСм Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ стороны Π΄Π°Π½Π½ΠΎΠ³ΠΎ языка. Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Π²Ρ‹ Π½ΡƒΠΆΠ΄Π°Π΅Ρ‚Π΅ΡΡŒ Π² ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠ΅ ΠΏΠΎ языку Π‘ΠΈ β€” ΠΈ ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠΎΠΌ послуТит Π²Π°ΠΌ эта ΠΊΠ½ΠΈΠ³Π°. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ доступ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ имССтся компилятор с языка Π‘ΠΈ. Π­Ρ‚ΠΎ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ сСбС сами. НаконСц, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π‘ΠΈ-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° вашСй Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмС, ΠΈ ΠΌΡ‹ Π² ΠΊΠΎΠ½Ρ†Π΅ Π³Π»Π°Π²Ρ‹ Π΄Π°Π΄ΠΈΠΌ Π²Π°ΠΌ нСсколько совСтов ΠΏΠΎ этому ΠΏΠΎΠ²ΠΎΠ΄Ρƒ.

ПРОИБΠ₯ΠžΠ–Π”Π•ΠΠ˜Π• Π―Π—Π«ΠšΠ БИ

Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊ Ρ„ΠΈΡ€ΠΌΡ‹ Bell Labs ДСннис Π ΠΈΡ‚Ρ‡ΠΈ создал язык Π‘ΠΈ Π² 1972Β Π³. Π²ΠΎ врСмя совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹ с КСном Вомпсоном Π½Π°Π΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой UNIX. Π ΠΈΡ‚Ρ‡ΠΈ Π½Π΅ Π²Ρ‹Π΄ΡƒΠΌΠ°Π» Π‘ΠΈ просто ΠΈΠ· Π³ΠΎΠ»ΠΎΠ²Ρ‹ β€” ΠΏΡ€ΠΎΠΎΠ±Ρ€Π°Π·ΠΎΠΌ послуТил язык Π‘ΠΈ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ Вомпсоном, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒβ€¦, Π½ΠΎ это ΡƒΠΆΠ΅ другая история. Π’Π°ΠΆΠ½Ρ‹ΠΌ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠΌ для нас являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ язык Π‘ΠΈ Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΊΠ°ΠΊ инструмСнт для программистов-ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠ². Π’ соотвСтствии с этим Π³Π»Π°Π²Π½ΠΎΠΉ Ρ†Π΅Π»ΡŒΡŽ Π΅Π³ΠΎ Π°Π²Ρ‚ΠΎΡ€Π° Π±Ρ‹Π»ΠΎ созданиС ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ языка.

ΠœΡ‹ Π΄ΡƒΠΌΠ°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ полСзности принимался Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ПРИ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° языков программирования, Π½ΠΎ, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, часто ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π»ΠΈΡΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ потрСбности. Одной ΠΈΠ· Π³Π»Π°Π²Π½Ρ‹Ρ… Π¦Π΅Π»Π΅ΠΉ ΠΏΡ€ΠΈ создании языка Паскаль, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π±Ρ‹Π»ΠΎ построСниС ПРОЧНЫΠ₯ основ обучСния ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ программирования. Π―Π·Ρ‹ΠΊ БСйсик создавался Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ синтаксис Π±Ρ‹Π» Π±Π»ΠΈΠ·ΠΎΠΊ ΠΊ синтаксису английского языка; поэтому ΠΈΠΌ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ студСнты, Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹Π΅ с Π­Π’Πœ. ВсС эти Ρ†Π΅Π»ΠΈ Ρ‚ΠΎΠΆΠ΅ Π²Π°ΠΆΠ½Ρ‹, Π½ΠΎ ΠΎΠ½ΠΈ Π½Π΅ всСгда совмСстимы с прагматичСскими, ΠΊΠ°ΠΆΠ΄ΠΎΠ΄Π½Π΅Π²Π½Ρ‹ΠΌΠΈ трСбованиями. ΠŸΡ€Π΅Π΄ΠΏΠΎΡΡ‹Π»ΠΊΠΈ, ΠΏΠΎΡΠ»ΡƒΠΆΠΈΠ²ΡˆΠΈΠ΅ основой создания языка Π‘ΠΈ ΠΊΠ°ΠΊ срСдства программирования, ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, язык, ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‰ΠΈΠΉ Ρ‚Ρ€ΡƒΠ΄ программиста.

ВОП-10 ΠΊΠ½ΠΈΠ³ ΠΏΠΎ C++: ΠΎΡ‚ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ° Π΄ΠΎ профСссионала

Π“Π΅Ρ€Π±Π΅Ρ€Ρ‚ Π¨ΠΈΠ»Π΄Ρ‚. Π‘++ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. Π¨Π°Π³ Π·Π° шагом

Π‘++ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. Π¨Π°Π³ Π·Π° шагом

Π‘Π°ΠΌΠΎΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ шаг Π·Π° шагом расскаТСт ΠΎΠ± основных понятиях языка C++: ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, инструкции управлСния, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚ΠΈΠΏΡ‹ ΠΈ массивы Π΄Π°Π½Π½Ρ‹Ρ…, классы ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. Рассказано ΠΎ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ°Ρ…, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠΌΠΈ, наслСдовании, Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… функциях, ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ΅, Π²Π²ΠΎΠ΄Π΅/Π²Ρ‹Π²ΠΎΠ΄Π΅.

Достоинства:

  • НСобходимый ΠΎΠ±ΡŠΡ‘ΠΌ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ….
  • Доступный язык повСствования.
  • Π•ΡΡ‚ΡŒ вопросы для самопровСрки.
  • Π₯ΠΎΡ€ΠΎΡˆΠ΅Π΅ качСство ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ.

НСдостатки:

  • Π‘Π»Π΅ΠΊΠ»Ρ‹ΠΉ ΡˆΡ€ΠΈΡ„Ρ‚ листингов ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.
  • На ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ сторонС ΠΊΠ½ΠΈΠ³ΠΈ говорится ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² сСти, Π½ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ Ρ‚Π°ΠΊΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² самоучитСли Π½Π΅ нашли.
  • Мягкая ΠΎΠ±Π»ΠΎΠΆΠΊΠ°.

Π‘Ρ‚ΠΈΠ²Π΅Π½ ΠŸΡ€Π°Ρ‚Π°. Π―Π·Ρ‹ΠΊ программирования C++. Π›Π΅ΠΊΡ†ΠΈΠΈ ΠΈ упраТнСния

Книга Π² ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π΅ Π² сообщСствС Книги для программистов

Π­Ρ‚Π° классичСская Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ΅ ΠΎΠ±ΡƒΡ‡Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ программирования, срСди ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… структурированный ΠΊΠΎΠ΄ ΠΈ нисходящСС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ использованию классов, наслСдования, шаблонов, ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, лямбда-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

Достоинства:

  • ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
  • ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΊΠΎΠ΄Π°.
  • Задания послС ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Π»Π°Π²Ρ‹.
  • Вопросы для самоконтроля.
  • Π₯ΠΎΡ€ΠΎΡˆΠ΅Π΅ качСство ΠΏΠ΅Ρ€Π΅ΠΏΠ»Π΅Ρ‚Π°.

НСдостатки:

  • НС Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹ стандарты C14, C17.
  • Π’ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΈ.

Π ΠΎΠ±Π΅Ρ€Ρ‚ Π›Π°Ρ„ΠΎΡ€Π΅. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Π‘++

Π ΠΎΠ±Π΅Ρ€Ρ‚ Π›Π°Ρ„ΠΎΡ€Π΅. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Π‘++

Книга Π² сообщСствС Книги для программистов

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ языка, Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ ΠΏΠΎΠ»Π½ΠΎΠΌΠ°ΡΡˆΡ‚Π°Π±Π½Ρ‹Π΅ прилоТСния, нСбольшиС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹, ΠΏΠΎΡΡΠ½ΡΡŽΡ‰ΠΈΠ΅ Ρ‚Π΅ΠΎΡ€ΠΈΡŽ, ΠΈ мноТСство ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΉ. Книга ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ успСхом Π² ΡƒΡ‡Π΅Π±Π½Ρ‹Ρ… завСдСниях благодаря Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ содСрТит Π±ΠΎΠ»Π΅Π΅ 100 ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ знания ΠΏΠΎ всСм Ρ‚Π΅ΠΌΠ°ΠΌ.

Достоинства:

  • Π₯ΠΎΡ€ΠΎΡˆΠ°Ρ Π±Π°Π·Π° для освоСния языка.
  • Π›Π΅Π³ΠΊΠΎ читаСтся.
  • Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Π»Π°Π²Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹.
  • Π•ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ вопросы ΠΈ упраТнСния.
  • Π’Π²Π΅Ρ€Π΄Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅ΠΏΠ»Π΅Ρ‚, Π±Π΅Π»Ρ‹Π΅ страницы.

НСдостатки:

  • Π’ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΈ ΠΈ ошибки.
  • РассматриваСтся старый стандарт языка.

Бтрауструп. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° с использованиСм C++

Бтрауструп. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° с использованиСм C++

Π₯отя Π°Π²Ρ‚ΠΎΡ€ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ являСтся ΠΈ Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ языка, Π‘++ ΠΈΠ³Ρ€Π°Π΅Ρ‚ сугубо ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ. Автор Π·Π°Π΄ΡƒΠΌΠ°Π» ΠΊΠ½ΠΈΠ³Ρƒ ΠΊΠ°ΠΊ Π²Π²ΠΎΠ΄Π½Ρ‹ΠΉ курс ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. Описан ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ ΠΊΡ€ΡƒΠ³ понятий ΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠ² программирования, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ программистом.

Если Π²Ρ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΡΡ‚Π°Ρ‚ΡŒ программистом, ΠΈ ΡƒΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с Π°Π·Π°ΠΌΠΈ C++ – эта ΠΊΠ½ΠΈΠ³Π° для вас, Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ – это Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, ΠΈ Π½Π΅ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π½Π°Π½ΠΈΠ΅ инструмСнта (языка программирования), сколько ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ самого процСсса.

Достоинства:

  • Книга ΡƒΡ‡ΠΈΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, язык – инструмСнт.
  • ΠšΠ°Ρ‡Π΅ΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΈ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ.

НСдостатки:

  • Π‘ΠΎΠ»ΡŒΡˆΠΎΠΉ объСм, Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅, Ссли Π±Ρ‹ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΠ»Π° Π² Π΄Π²ΡƒΡ… Ρ‚ΠΎΠΌΠ°Ρ….

Π ΠΎΠ±Π΅Ρ€Ρ‚ Π‘Π΅Π΄ΠΆΠ²ΠΈΠΊ: Алгоритмы Π½Π° C++. Анализ структуры Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ°. Поиск. Алгоритмы Π½Π° Π³Ρ€Π°Ρ„Π°Ρ…

Π ΠΎΠ±Π΅Ρ€Ρ‚ Π‘Π΅Π΄ΠΆΠ²ΠΈΠΊ: Алгоритмы Π½Π° C++. Анализ структуры Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ°. Поиск. Алгоритмы Π½Π° Π³Ρ€Π°Ρ„Π°Ρ…

Π­Ρ‚Π° ΠΊΠ½ΠΈΠ³Π° Π½Π΅ ΠΏΡ€ΠΎ сам язык, Π° ΠΏΡ€ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° Π‘++. Π’ частях Iβ€”IV Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, структуры Π΄Π°Π½Π½Ρ‹Ρ…, сортировка ΠΈ поиск. Π’ Π½ΠΈΡ… ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… структур Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² для сортировки, поиска ΠΈ ΡΠΎΠΏΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π’ части V Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π½Π° Π³Ρ€Π°Ρ„Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ³Ρ€Π°ΡŽΡ‚ всС Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ Π²ΠΎ мноТСствС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ сСтСвая ΡΠ²ΡΠ·Π½ΠΎΡΡ‚ΡŒ, конструированиС элСктронных схСм, составлСниС Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ², ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ рСсурсов.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π°:

  • Раскрыты всС Ρ‚Π΅ΠΌΡ‹, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π² ΠΎΠ³Π»Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΊΠ½ΠΈΠ³ΠΈ.
  • Много ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΈ ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΉ.
  • ΠšΠ°Ρ‡Π΅ΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄.
  • Π₯ΠΎΡ€ΠΎΡˆΠ΅Π΅ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ издания, бСлая Π±ΡƒΠΌΠ°Π³Π°, Ρ‡Π΅Ρ‚ΠΊΠΈΠΉ ΡˆΡ€ΠΈΡ„Ρ‚.

НСдостатки:

  • Π’ сравнСнии с ΠΊΠ½ΠΈΠ³Π°ΠΌΠΈ ΠšΠΎΡ€ΠΌΠ°Π½Π° ΠΈΠ»ΠΈ ΠšΠ½ΡƒΡ‚Π° раскрыты Π½Π΅ всС Ρ‚ΠΈΠΏΡ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ².

ΠœΠ΅ΠΉΠ΅Ρ€Ρ Π‘ΠΊΠΎΡ‚Ρ‚. Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΈ соврСмСнный Π‘++: 42 Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ использованию C++11 ΠΈ C++14

ΠœΠ΅ΠΉΠ΅Ρ€Ρ Π‘ΠΊΠΎΡ‚Ρ‚. Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΈ соврСмСнный Π‘++: 42 Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ использованию C++11 ΠΈ C++14

Книга Π² сообщСствС Книги для программистов

Π­Ρ‚Π° ΠΊΠ½ΠΈΠ³Π° посвящСна возмоТностям языка, появившимся Π² C++11 ΠΈ C++14. Рассказано, ΠΊΠ°ΠΊ эффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ особСнности, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Ρ‚Ρƒ ΠΈΠ»ΠΈ ΠΈΠ½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ слСдуСт Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ., Ρ‡Ρ‚ΠΎΠ±Ρ‹ создаваСмыС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±Ρ‹Π»ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹, эффСктивны ΠΈ пСрСносимы.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π°:

  • Написано доступно, Π½ΠΎ Π±Π΅Π· Π²ΠΎΠ΄Ρ‹.
  • Π₯ΠΎΡ€ΠΎΡˆΠ΅Π΅ качСство ΠΏΠ΅Ρ€Π΅ΠΏΠ»Π΅Ρ‚Π°.

НСдостатки:

  • Π Π΅Π΄ΠΊΠΎ, Π½ΠΎ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ нСточности ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° ΠΈ ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΈ.

Π―Ρ†Π΅ΠΊ Π“Π°Π»ΠΎΠ²ΠΈΡ†. Π‘++17 STL. Бтандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° шаблонов

Π―Ρ†Π΅ΠΊ Π“Π°Π»ΠΎΠ²ΠΈΡ†. Π‘++17 STL. Бтандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° шаблонов

Книга Π² ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π΅ Π² сообщСствС Книги для программистов

90 рСалистичных ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚ всю ΠΌΠΎΡ‰ΡŒ STL ΠΈ станут Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ ΠΊΠΈΡ€ΠΏΠΈΡ‡ΠΈΠΊΠ°ΠΌΠΈ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡. Описана Ρ€Π°Π±ΠΎΡ‚Π° с ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ, Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ классами ΠΈ лямбда-выраТСниями.

Достоинства:

  • Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ C++17.
  • БоздаСтся Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ соврСмСнного ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΊ использованию C++.
  • Много ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² с пояснСниями Π±Π΅Π· лишнСй Π²ΠΎΠ΄Ρ‹.

НСдостатки:

  • Мягкий ΠΏΠ΅Ρ€Π΅ΠΏΠ»Π΅Ρ‚, Π½ΠΈΠ·ΠΊΠΎΠ΅ качСство ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ ΠΈ ΠΎΠ±Ρ€Π΅Π·ΠΊΠΈ страниц.

Π­Π½Ρ‚ΠΎΠ½ΠΈ Уильямс. ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Π‘++ Π² дСйствии. ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ

Π­Π½Ρ‚ΠΎΠ½ΠΈ Уильямс. ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Π‘++ Π² дСйствии. ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ

Книга Π² ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π΅ Π² сообщСствС Книги для программистов

Π’ наши Π΄Π½ΠΈ стали Π½ΠΎΡ€ΠΌΠΎΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ с многоядСрными процСссорами. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ стандарты языка C++ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ многопоточности. Π’Π΄ΡƒΠΌΡ‡ΠΈΠ²ΠΎ читая ΠΊΠ½ΠΈΠ³Ρƒ Уильямса, Π²Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Π΅ ΠΈ элСгантныС ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π‘++.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π°:

  • Π‘ΠΎΠ»ΡŒΡˆΠΎΠ΅ количСство ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ².
  • НС Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ знания ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅.
  • РассмотрСны всС тонкости ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ программирования ΠΈ Ρ‚ΠΈΠΏΠΎΠ² синхронизации, ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ описаны lock-free-ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ проСктирования.

НСдостатки:

  • Π‘Ρ‚Π°Ρ€Ρ‹ΠΉ, хотя ΠΈ достаточно Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ стандарт (Π‘11).
  • УТасноС качСство ΠΏΠ΅Ρ€Π΅ΠΏΠ»Π΅Ρ‚Π° для Ρ‚Π°ΠΊΠΎΠ³ΠΎ объСма ΠΊΠ½ΠΈΠ³ΠΈ.

Π ΠΎΠ±Π΅Ρ€Ρ‚ C. ΠœΠ°Ρ€Ρ‚ΠΈΠ½. Гибкая Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° Java ΠΈ C++. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹, ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠΈ

Π ΠΎΠ±Π΅Ρ€Ρ‚ ΠœΠ°Ρ€Ρ‚ΠΈΠ½. Гибкая Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° Java ΠΈ C++. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹, ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠΈ

Как ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΎΠ±Π»ΠΎΠΆΠΊΠ΅, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π΅ΡΡ‚ΡŒ ΠΈ Π½Π° C++, ΠΈ Π½Π° Java, для Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ понимания ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΎΠ±Π° языка. Π Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ ООП, UML, ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹, ΠΏΡ€ΠΈΠ΅ΠΌΡ‹ Π³ΠΈΠ±ΠΊΠΎΠ³ΠΎ ΠΈ ΡΠΊΡΡ‚Ρ€Π΅ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования, Π° Ρ‚Π°ΠΊΠΆΠ΅ приводится Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ описаниС ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ процСсса проСктирования для ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° C++ ΠΈ Java.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π°:

  • Π›Π΅Π³ΠΊΠΎ читаСтся.
  • На простых ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… даСтся Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.
  • Π Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ ошибки Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Β«Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎΒ» проСктирования ΠΊΠΎΠ΄Π°.
  • ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΎΠ±ΡΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ SOLID.
  • ЧувствуСтся ΠΎΠΏΡ‹Ρ‚ Π°Π²Ρ‚ΠΎΡ€Π°.

НСдостатки:

  • ЗатянутоС Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅.

Π‘ΡŒΠ΅Ρ€Π½ Бтрауструп. Π”ΠΈΠ·Π°ΠΉΠ½ ΠΈ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΡ Π‘++

Π‘ΡŒΠ΅Ρ€Π½ Бтрауструп. Π”ΠΈΠ·Π°ΠΉΠ½ ΠΈ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΡ Π‘++

Книга Π² ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π΅ Π² сообщСствС Книги для программистов

Π’ ΠΊΠ½ΠΈΠ³Π΅, написанной создатСлСм языка Π‘++ Π‘ΡŒΠ΅Ρ€Π½ΠΎΠΌ Бтрауструпом, прСдставлСно описаниС процСсса проСктирования ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ языка программирования Π‘++.

Π˜Π·Π»ΠΎΠΆΠ΅Π½Ρ‹ Ρ†Π΅Π»ΠΈ, ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΈ практичСскиС ограничСния, налоТившиС ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚ΠΎΠΊ Π½Π° структуру ΠΈ ΠΎΠ±Π»ΠΈΠΊ Π‘++, рассказано ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ Π½Π΅Π΄Π°Π²Π½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… Π² язык срСдств: шаблонов, ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ‚ΠΈΠΏΠ° Π²ΠΎ врСмя исполнСния ΠΈ пространств ΠΈΠΌΠ΅Π½. Автор Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, принятыС Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ языком, ΠΈ дСмонстрируСт, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Β«Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования».

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π°:

  • Описана идСология, структура, философия языка.
  • Бтановятся понятными конструкции языка: ΠΏΠΎΡ‡Π΅ΠΌΡƒ сдСлано Ρ‚Π°ΠΊ, Π° Π½Π΅ ΠΈΠ½Π°Ρ‡Π΅.
  • Для людСй с большим ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½Π° C++ читаСтся ΠΊΠ°ΠΊ Π·Π°Ρ…Π²Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π°Ρ худоТСствСнная ΠΊΠ½ΠΈΠ³Π°.

НСдостатки:

  • Мягкая ΠΎΠ±Π»ΠΎΠΆΠΊΠ°.

***

Если Π²Ρ‹ Π½Π΅ ΡƒΠ²ΠΈΠ΄Π΅Π»ΠΈ Π»ΡŽΠ±ΠΈΠΌΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ Π² дСсяткС, поТалуйста, Π½Π΅ ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΏΠΎΡ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ Π² коммСнтариях. Если Π²Ρ‹ Ρ‡ΠΈΡ‚Π°Π»ΠΈ пСрСчислСнныС ΠΊΠ½ΠΈΠ³ΠΈ, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ наши описания – ΠΊΠ°ΠΊΠΈΠ΅ прСимущСства ΠΈ нСдостатки ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ Π±Ρ‹ Π²Ρ‹.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста Π»ΡŽΠ±ΠΈΡ‚ язык C++. Π’ΠΎΡ‚ Ρ‚Ρ€ΠΈ послСдних ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ:

ΡƒΡ‡Π΅Π±Π½ΠΈΠΊ ΠΈ практичСский курс для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…:

практичСский курс

Π§Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅?


Π’ своС врСмя (1991-1992 Π³ΠΎΠ΄Π°), Π²Ρ‹Π±Ρ€Π°Π² язык Π‘ΠΈ Π²
качСствС основного языка программирования для матСматичСских классов,
Π°Π²Ρ‚ΠΎΡ€ столкнулся с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ отсутствия Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠΎΠ²,
ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Ρ‚ΡŒ школьникам. Π­Ρ‚ΠΎ
Π²Ρ‹Π½ΡƒΠ΄ΠΈΠ»ΠΎ Π΅Π³ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свой конспСкт Π»Π΅ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹
Π½Π°Π·Π²Π°Ρ‚ΡŒ Β«ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ курс программирования Π½Π° Π‘ΠΈΒ» β€”
Π² Π½Π΅Π³ΠΎ вошли Ρ‚Π΅ свСдСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΈΡΡŒ Π°Π²Ρ‚ΠΎΡ€Ρƒ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅.
ΠœΠ½ΠΎΠ³ΠΎΠ»Π΅Ρ‚Π½ΠΈΠΉ ΠΎΠΏΡ‹Ρ‚ прСподавания ΠΏΠΎΠΊΠ°Π·Π°Π», Ρ‡Ρ‚ΠΎ конспСкт
Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ вострСбован ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ школьниками, Ρ‚Π°ΠΊ
ΠΈ выпускниками.


Π’ качСствС срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ бСсплатно распространяСмая
ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° Dev-C++ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным
ΠΊΠΎΠ΄ΠΎΠΌ, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π°Ρ компилятор GCC.

Автор Π±ΡƒΠ΄Π΅Ρ‚ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ Π·Π° ΠΎΡ‚Π·Ρ‹Π²Ρ‹ ΠΈ
ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ ΠΊΡ€ΠΈΡ‚ΠΈΠΊΡƒ ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ содСрТания ΠΈ оформлСния этих ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ².
Если Π²Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΈΠ»ΠΈ Ρƒ вас Π΅ΡΡ‚ΡŒ
прСдлоТСния, замСчания, ΠΆΠ°Π»ΠΎΠ±Ρ‹, ΠΏΡ€ΠΎΡΡŒΠ±Ρ‹ ΠΈ заявлСния, ΠΏΠΈΡˆΠΈΡ‚Π΅.

Π›ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½ΠΎΠ΅ соглашСниС

ВсС ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π½ΠΈΠΆΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ свободно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹
Π² нСкоммСрчСских цСлях ΠΏΡ€ΠΈ условии сохранСния авторства.

Π‘Π΅Π· письмСнного согласия Π°Π²Ρ‚ΠΎΡ€Π° Π—ΠΠŸΠ Π•Π©ΠΠ•Π’Π‘Π―:

  1. 1) публикация ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² Π² любой Ρ„ΠΎΡ€ΠΌΠ΅, Π² Ρ‚ΠΎΠΌ числС Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… Web-сайтах;
  2. 2) распространСниС Π½Π΅ΠΏΠΎΠ»Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Ρ… ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ²;
  3. 3) Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² Π² сборники Π½Π° Π»ΡŽΠ±Ρ‹Ρ… носитСлях ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ;
  4. 4) ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ коммСрчСской Π²Ρ‹Π³ΠΎΠ΄Ρ‹ ΠΎΡ‚ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠΈ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ использования ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ².


Π‘ΠΊΠ°Ρ‡ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ приняли условия этого Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ соглашСния.

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ


ΠšΠΎΠ½ΡΠΏΠ΅ΠΊΡ‚ распространяСтся свободно Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ PDF.
Для просмотра трСбуСтся бСсплатный просмотрщик
Acrobat Reader.
ΠšΠΎΠ½ΡΠΏΠ΅ΠΊΡ‚ курса условно Ρ€Π°Π·Π±ΠΈΡ‚ Π½Π° 4 части:

  1. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° языкС Π‘ΠΈ (860 Кб)
    29.03.2014


    Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ основных конструкций языка ΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠ² написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.
  2. XΡ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… (792 Кб)
    21.11.2013


    Π―Π·Ρ‹ΠΊ Π‘ΠΈ: массивы, ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, структуры, ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ строки, структуры, рСкурсия.
  3. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° языкС Π‘ΠΈ (937 Кб)
    01.03.2014


    ΠŸΡ€ΠΈΠ΅ΠΌΡ‹ проСктирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ,
    структурноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, цСлочислСнныС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, числСнныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹,
    ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.
  4. ДинамичСскиС структуры Π΄Π°Π½Π½Ρ‹Ρ… Π² языкС Π‘ΠΈ (666 Кб)
    11.06.2009


    Бписки, стСки, Π΄Π΅Ρ€Π΅Π²ΡŒΡ, Π³Ρ€Π°Ρ„Ρ‹.

ΠŸΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ

Для ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ учащихся ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹
ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, построСнныС Π½Π° основС этого конспСкта. Π˜Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ
Π½Π° страницС ΠŸΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

ΠœΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠ°


Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ прСдусмотрСно ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ языка Π‘ΠΈ Π²
7-11 классах:

7 класс


Π§Π°ΡΡ‚ΡŒΒ I прСдставляСт собой Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ конспСкт курса
7 класса. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² язык Π‘ΠΈ строится Π½Π° Π±Π°Π·Π΅ алгоритмичСской
ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π΄Π΅Ρ‚ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Π² 6 классС, работая с
исполнитСлями.


Основная Π·Π°Π΄Π°Ρ‡Π° β€” ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒ учащихся с основными
конструкциями языка Π‘ΠΈ: Ρ†ΠΈΠΊΠ»Π°ΠΌΠΈ, условными ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ,
ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°ΠΌΠΈ. Π’Π΅ΡΡŒΠΌΠ° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ²,
связанных с Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ, Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠ΅ΠΉ.


Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ Ρ‡Π΅Ρ€Π΅Π· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ
ΠΎΠ½Π»Π°ΠΉΠ½-сСрвис
Антона Π”Π΅Π½ΠΈΠΊΠΈΠ½Π°.

8 класс


ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹ (Π² скобках ΡƒΠΊΠ°Π·Π°Π½Π° Ρ‡Π°ΡΡ‚ΡŒ конспСкта):
ΠœΠ°ΡΡΠΈΠ²Ρ‹ (II), Π Π°Π±ΠΎΡ‚Π° с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ (II), Π‘ΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ строки (II), Π’Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (III),
ΠœΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (III)
. ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ удСляСтся ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΡŽ
Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами, Π² Ρ‚ΠΎΠΌ числС поиска, сортировки ΠΈ Ρ‚.ΠΏ.
ДаСтся понятиС ΠΎΠ± эффСктивности Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².

9 класс


ОсновноС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ удСляСтся ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ
ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ
Π½Π° языкС Π‘ΠΈ. УчащиСся Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅, Π² Ρ…ΠΎΠ΄Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ
учатся ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ Π½Π° экранС, знакомятся с прСобразованиями
систСм ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚, ΠΈΠ·ΡƒΡ‡Π°ΡŽΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ, знакомятся с числСнными
ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ, учатся ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠ»ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (Ρ€Π°Π·Π΄Π΅Π»Ρ‹ 1-2 части III).
Одно ΠΈΠ· Π·Π°Π΄Π°Π½ΠΈΠΉ посвящСно использованию ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠœΠΎΠ½Ρ‚Π΅-ΠšΠ°Ρ€Π»ΠΎ для вычислСния
ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΈ слоТной Ρ„ΠΈΠ³ΡƒΡ€Ρ‹. Из Π½ΠΎΠ²Ρ‹Ρ… Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² ΠΈΠ·ΡƒΡ‡Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΆΠ΅
ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ (II), ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… строк (II). Вводится понятиС
ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ ΠΈΠ·ΡƒΡ‡Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π½ΠΈΠΌΠΈ.

10 класс


Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΡ языка Π‘ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅
Ρ‚Π΅ΠΌΡ‹ β€” Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ (II), РСкурсия (II), Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ (II).
ΠŸΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΎ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ языка Паскаль Π² качСствС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ языка программирования.
Π‘ этого ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π½Π° тСорСтичСских занятиях Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ
ΠΏΠΎΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎ Π½Π° Π΄Π²ΡƒΡ… языках.

11 класс

Π˜Π·ΡƒΡ‡Π°ΡŽΡ‚ΡΡ Π½Π΅ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ особСнности языков, сколько
Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹ β€” ЧислСнныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ (III), ΠœΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (III),
ДинамичСскиС структуры Π΄Π°Π½Π½Ρ‹Ρ… (IV)
.

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π½Π° C — Cprogramming.com

  • C
    Π―Π·Ρ‹ΠΊ программирования Π‘Ρ€Π°ΠΉΠ°Π½Π° Π’. ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½Π°, ДСнниса М. Π ΠΈΡ‡ΠΈ Highly
    Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½ΠΎ

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

    Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ
    ΠžΠ±Π·ΠΎΡ€

  • C
    ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅: соврСмСнный ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ К.Н. King ΠΠ°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ рСкомСндуСтся
    Π­Ρ‚Π° ΠΊΠ½ΠΈΠ³Π° — Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ для изучСния C. Π’ Π½Π΅ΠΉ описаны особСнности
    языка Π² дСталях, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ C ++. Π’ ΠΊΠΎΠ½Ρ†Π΅
    ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π° King Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ€Π°Π·Π΄Π΅Π» вопросов ΠΈ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΡ€Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΡƒΡ‚Π°Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ
    слоТныС ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹. Π”Π°Π»Π΅Π΅ каТдая Π³Π»Π°Π²Π° заканчиваСтся комплСксом ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΉ.
    (хотя ΠΎΡ‚Π²Π΅Ρ‚Ρ‹, ΠΊ соТалСнию, Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹).Π’ ΠΊΠ½ΠΈΠ³Π΅ большС
    Ρ‡Π΅ΠΌ просто основы, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π΄ΠΈΠ·Π°ΠΉΠ½ программирования, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня,
    ΠΈ Π±ΠΎΠ»Π΅Π΅.

    Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ
    ΠžΠ±Π·ΠΎΡ€

  • C
    ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π° 12 простых ΡƒΡ€ΠΎΠΊΠΎΠ² ΠΎΡ‚ Π“Ρ€Π΅Π³Π° ΠŸΠ΅Ρ€Ρ€ΠΈ
    ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° C Π·Π° 12 простых
    Π£Ρ€ΠΎΠΊΠΈ — это Π½Π΅ ΠΊΠ½ΠΈΠ³Π°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ я Π±Ρ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π», Ссли Π²Ρ‹ Π½ΠΈΠΊΠΎΠ³Π΄Π° Ρ€Π°Π½ΡŒΡˆΠ΅ Π½Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π»ΠΈ.
    Он пытаСтся ΠΎΡ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ большой объСм ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° Π·Π° нСсколько ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠ»ΠΎΡ‚Π½Ρ‹Ρ… ΡƒΡ€ΠΎΠΊΠΎΠ². Π­Ρ‚Π°
    ΠΊΠ½ΠΈΠ³Π° слуТит Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ эффСктивным справочником. Он ΠΈΠΌΠ΅Π΅Ρ‚ комплСксный
    index, ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ прСобразования, ΠΈ ΠΎΠ½ поставляСтся с TClite, компилятором, Π½Π°
    диск.

  • C для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ² Vol. I by Dan Gookin
    ВСрная своСму названию, эта ΠΊΠ½ΠΈΠ³Π° ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ читатСля Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π°ΡΡ‚ΡŒ
    языка C (оставляя массивы, ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, структуры ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ Π²Π²ΠΎΠ΄-Π²Ρ‹Π²ΠΎΠ΄ для Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ
    объСм). Автор довольно Π·Π°Π±Π°Π²Π½Ρ‹ΠΉ, Π° ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» интСрСсный;
    Ссли вас ΡΠΌΡƒΡ‰Π°ΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠΈ ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ ΠΈΠ»ΠΈ Π²Ρ‹ просто Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΊΠ½ΠΈΠ³Ρƒ, которая
    эта ΠΊΠ½ΠΈΠ³Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ для вас. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ
    повСрхностного освСщСния слоТных Ρ‚Π΅ΠΌ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, это Π½Π΅ Π»ΡƒΡ‡ΡˆΠ΅Π΅ использованиС
    вашС врСмя.Π― ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ основы ΠΎΠ½Π»Π°ΠΉΠ½, Π° Π·Π°Ρ‚Π΅ΠΌ
    ΠΏΠΎΠ΄Π±ΠΈΡ€Π°Ρ‚ΡŒ
    Π’ΠΎΠΌ II для Π±ΠΎΠ»Π΅Π΅ слоТного ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°.

  • C для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ² Vol. II Дэна Π“ΡƒΠΊΠΈΠ½Π°
    Π­Ρ‚ΠΎ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ полная ΠΊΠ½ΠΈΠ³Π°, Ρ‡Π΅ΠΌ Ρ‚ΠΎΠΌ I, Π² Π½Π΅ΠΉ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π±ΠΎΠ»Π΅Π΅ слоТныС
    ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» с большой ΡΡΠ½ΠΎΡΡ‚ΡŒΡŽ — ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, структуры, массивы ΠΈ Ρ„Π°ΠΉΠ»
    Π’Π²ΠΎΠ΄ / Π²Ρ‹Π²ΠΎΠ΄. Π‘Ρ‚ΠΈΠ»ΡŒ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΉ, ΠΈ каТСтся, Ρ‡Ρ‚ΠΎ Π² этом Ρ‚ΠΎΠΌΠ΅ Π“ΡƒΠΊΠΈΠ½
    Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π½ΡƒΠΆΠ½ΠΎΠ΅ количСство Ρ€ΡƒΠΊ для срСднСго читатСля.

.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ язык программирования C? ΠžΡΠ½ΠΎΠ²Ρ‹, Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈ история

  • На Π³Π»Π°Π²Π½ΡƒΡŽ
  • ВСстированиС

      • Назад
      • Π“ΠΈΠ±ΠΊΠΎΠ΅ тСстированиС
      • BugZilla
      • Cucumber
      • ВСстированиС Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…
      • 000
      • 000 J3000
      • 000
      • 000 J2000
      • 000

        000

        000 JUnit

      • LoadRunner
      • Π ΡƒΡ‡Π½ΠΎΠ΅ тСстированиС
      • МобильноС тСстированиС
      • Mantis
      • ΠŸΠΎΡ‡Ρ‚Π°Π»ΡŒΠΎΠ½
      • QTP
      • Назад
      • Π¦Π΅Π½Ρ‚Ρ€ качСства (ALM)
      • RPA
      • SAP Testing
      • RPA
      • TestLink
  • SAP

      • Назад
      • ABAP
      • APO
      • ΠΠ°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΉ
      • Basis
      • BODS
      • BI
      • BPC
      • CO
      • Назад
      • CRM
      • Crystal Reports
      • MMO
      • HANA
      • Назад
      • PI / PO
      • PP
      • SD
      • SAPUI5
      • Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ
      • ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ
      • Successfactors
      • SAP Tutorials

    000

  • AngularJS
  • ASP.Net
  • C
  • C #
  • C ++
  • CodeIgniter
  • Π‘Π£Π‘Π”
  • JavaScript
  • Назад
  • Java
  • JSP
  • Kotlin
  • Linux
  • Linux
  • Kotlin
  • Linux
  • js

  • Perl
  • Назад
  • PHP
  • PL / SQL
  • PostgreSQL
  • Python
  • ReactJS
  • Ruby & Rails
  • Scala
  • SQL
  • 000

  • SQL
  • 000

    0003 SQL

    000

    0003 SQL

    000

  • UML
  • VB.Net
  • VBScript
  • Π’Π΅Π±-слуТбы
  • WPF
  • ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Π΅!

      • Назад
      • БухгалтСрский ΡƒΡ‡Π΅Ρ‚
      • Алгоритмы
      • Android
      • Π‘Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½
      • Business Analyst
      • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²Π΅Π±-сайта
      • CCNA
      • ΠžΠ±Π»Π°Ρ‡Π½Ρ‹Π΅ вычислСния
      • 00030003 COBOL 9000 Compiler
          9000 ВстроСнныС систСмы

        • 00030002 9000 Compiler 9000
        • Ethical Hacking
        • Π£Ρ‡Π΅Π±Π½ΠΈΠΊΠΈ ΠΏΠΎ Excel
        • ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Go
        • IoT
        • ITIL
        • Jenkins
        • MIS
        • Π‘Π΅Ρ‚ΡŒ
        • ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма
        • Назад
        • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠžΠ±Π·ΠΎΡ€Ρ‹
        • Salesforce
        • SEO
        • Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния
        • VB A
    • Big Data

        • Назад
        • AWS
        • BigData
        • Cassandra
        • Cognos
        • Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π΄Π°Π½Π½Ρ‹Ρ…
        • 0003

        • HBOps
        • 0003

        • HBOps
        • 0003

        • MicroStrategy

    .

    ΠΊΠ½ΠΈΠ³ ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ — ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ бСсплатно элСктронныС ΠΊΠ½ΠΈΠ³ΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ PDF

    БСсплатная ΠΊΠ½ΠΈΠ³Π° ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠ»Π΅ΠΊΡ†ΠΈΠΈ

    НСограничСнноС количСство бСсплатных ΠΊΠ½ΠΈΠ³, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, схСмы ΠΈ Ρ‚. Π”. Π›ΡƒΡ‡ΡˆΠ°Ρ коллСкция бСсплатных ΠΊΠ½ΠΈΠ³

    Π’ΠΈΠ΄Π΅ΠΎ-Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΏΠΎ языкам программирования
    Π’ΠΈΠ΄Π΅ΠΎ-Π»Π΅ΠΊΡ†ΠΈΠΈ

    Книги ΠΏΠΎ поисковой ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ бСсплатно
    ΠΊΠ½ΠΈΠ³ ΠΏΠΎ SEO

    Книги ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌΡƒ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ бСсплатно
    ΠΊΠ½ΠΈΠ³ ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌΡƒ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ

    Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΠΈ, связанныС с языками программирования
    Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΠΈ

    • .Net Framework
    • 2010 Π“ΠΎΠ΄
    • 2011 Π“ΠΎΠ΄
    • 2012 Π“ΠΎΠ΄
    • 2013 Π“ΠΎΠ΄
    • 2014 Π“ΠΎΠ΄
    • 2015 Π“ΠΎΠ΄
    • 2016 Π“ΠΎΠ΄
    • 2017 Π“ΠΎΠ΄
    • 2018 Π“ΠΎΠ΄
    • 2019 Π“ΠΎΠ΄
    • Adobe
    • Ajax
    • Android
    • Apache
    • API
    • Arduino
    • ASP.NET
    • Autocad
    • Azure
    • Книги
    • C #
    • C ++
    • Бвязь
    • ВычислСния
    • CRM
    • ΠšΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ
    • CSS
    • CSS3
    • Cyber ​​Security
    • Dreamweaver
    • Drupal
    • Facebook
    • Flash
    • Π˜Π³Ρ€Π°
    • GMAT
    • Google
    • Π“Ρ€Π°Ρ„ΠΈΠΊΠ°
    • Руководства
    • Π’Π·Π»ΠΎΠΌ
    • HTML
    • HTML5
    • iOS
    • iPAD
    • iPhone
    • IPv
    • Java
    • JavaScript
    • J oomla
    • JQuery
    • Linux
    • MAC
    • Π–ΡƒΡ€Π½Π°Π»Ρ‹
    • Magento
    • MATLAB
    • MCQs
    • Microsoft
    • Mobile
    • Мой PDF
    • MySQL
    • Π‘Π΅Ρ‚ΠΈ
    • Π—Π°ΠΌΠ΅Ρ‚ΠΊΠΈ для профСссионалов
    • ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ
    • Oracle
    • PDF
    • Perl
    • Photoshop
    • PHP
    • PowerShell
    • Python
    • Raspberry Pi
    • Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡŽ
    • Scala
    • SEO
    • ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС
    • SQL
    • Swift
    • System Center
    • Π¨Π°Π±Π»ΠΎΠ½Ρ‹
    • Ubuntu
    • Unity
    • Unix
    • Π’ΠΈΠ΄Π΅ΠΎΠ»Π΅ΠΊΡ†ΠΈΠΈ
    • Visual Basic
    • Π’Π΅Π±-Π΄ΠΈΠ·Π°ΠΉΠ½
    • Π’Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°
    • Windows
    • WordPress
    • XHTML
    • XML

    .

  • Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

    Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *