ЛогичСский Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π² c: ЛогичСский Ρ‚ΠΈΠΏ Π² C++

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

НОУ ИНВУИВ | ЛСкция | ΠžΡΠ½ΠΎΠ²Ρ‹ языка Π‘ΠΈ: структура Π‘ΠΈ-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π±Π°Π·ΠΎΠ²Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΈ конструированиС Π½ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ выраТСния

< ЛСкция 12 || ЛСкция 8: 1234567

Аннотация: ЛСкция посвящСна ввСдСнию Π² язык Π‘ΠΈ. ΠžΠ±ΡŠΡΡΠ½ΡΡŽΡ‚ΡΡ ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ построСния Π‘ΠΈ-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹: Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° h- ΠΈ c-Ρ„Π°ΠΉΠ»Ρ‹, Ρ‚.Π΅. Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ интСрфСйса ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, использованиС прСпроцСссора. ΠŸΡ€ΠΈΠ²ΠΎΠ΄ΡΡ‚ΡΡ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ языка Π‘ΠΈ, конструкции массива ΠΈ указатСля, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Ρ‚ΠΈΠΏΠΎΠ². Π Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ всСвозмоТныС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ выраТСния языка Π‘ΠΈ.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова: Π‘ΠΈ, Java, ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ, адрСс, массив, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ, опСрационная систСма, API, application program, interface, компилятор, слово, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ DEFINE, Ρ„Π°ΠΉΠ», ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, имя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, константы, пСрСмСнная, прСдставлСниС, standard input, прСпроцСссор, Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π°, символичСскоС имя, ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ тСкста, функция, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, вСщСствСнноС число, вычислСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, стандартный ΠΏΠΎΡ‚ΠΎΠΊ Π²Ρ‹Π²ΠΎΠ΄Π°, логичСский Ρ‚ΠΈΠΏ, класс, Ρ‚Π΅Π»ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°, ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, volatility, Intel 80286, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, слоТСниС, ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания, прСфиксныС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, сумма элСмСнтов массива, Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, эквивалСнтноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, type cast, нСявноС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅

ΠžΡΠ½ΠΎΠ²Ρ‹ языка Π‘ΠΈ

intuit.ru/2010/edi»>Π’ настоящСС врСмя язык Π‘ΠΈ ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ языки Π΅Π³ΠΎ Π³Ρ€ΡƒΠΏΠΏΡ‹ (ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго C++, Π° Ρ‚Π°ΠΊΠΆΠ΅ Java ΠΈ C#) ΡΠ²Π»ΡΡŽΡ‚ΡΡ основными Π² практичСском ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Достоинство языка Π‘ΠΈ — это, ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго, Π΅Π³ΠΎ простота ΠΈ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ. Π―Π·Ρ‹ΠΊ Π‘ΠΈ Π»Π΅Π³ΠΊΠΎ учится. Π“Π»Π°Π²Π½Ρ‹Π΅ понятия языка Π‘ΠΈ, Ρ‚Π°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ статичСскиС ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, массивы, ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Ρ‚.Π΄., максимально ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½Ρ‹ ΠΊ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ². Π’Π°ΠΊ, ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ — это просто адрСс памяти, массив — нСпрСрывная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти, Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ — это ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, располоТСнныС Π² Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΌ стСкС, статичСскиС — Π² статичСской памяти. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚, ΠΏΠΈΡˆΡƒΡ‰ΠΈΠΉ Π½Π° Π‘ΠΈ, всСгда достаточно Ρ‚ΠΎΡ‡Π½ΠΎ прСдставляСт сСбС, ΠΊΠ°ΠΊ созданная ΠΈΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° любой ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, язык Π‘ΠΈ прСдоставляСт программисту ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ.

ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ язык Π‘ΠΈ задумывался ΠΊΠ°ΠΊ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅Π»ΡŒ АссСмблСра для написания ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π‘ΠΈ — это язык высокого уровня, Π½Π΅ зависящий ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹, тСкст ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы оказывался Π»Π΅Π³ΠΊΠΎ пСрСносимым с ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ. ΠŸΠ΅Ρ€Π²ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой, написанной практичСски Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ Π½Π° Π‘ΠΈ, Π±Ρ‹Π»Π° систСма Unix. Π’ настоящСС врСмя ΠΏΠΎΡ‡Ρ‚ΠΈ всС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы написаны Π½Π° Π‘ΠΈ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, срСдства программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ опСрационная систСма прСдоставляСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ (Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ API — Application Program Interface), — это Π½Π°Π±ΠΎΡ€Ρ‹ систСмных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π½Π° языкС Π‘ΠΈ.

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΎΠ±Π»Π°ΡΡ‚ΡŒ примСнСния языка Π‘ΠΈ Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ»Π°ΡΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм. Π―Π·Ρ‹ΠΊ Π‘ΠΈ оказался ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π΅Π½ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ тСкстов ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Π² Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½Ρ‹Ρ… расчСтах. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ языки Π½Π° основС Π‘ΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ подходят для программирования Π² ΠΎΠΊΠΎΠ½Π½Ρ‹Ρ… срСдах.

Π’ Π΄Π°Π½Π½ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ лишь основныС понятия языка Π‘ΠΈ (ΠΈ частично C++). Π­Ρ‚ΠΎ Π½Π΅ замСняСт чтСния ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠ° ΠΏΠΎ Π‘ΠΈ ΠΈΠ»ΠΈ C++, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ½ΠΈΠ³ [6] ΠΈ [8].

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

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π‘ΠΈ-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

intuit.ru/2010/edi»>Π›ΡŽΠ±Π°Ρ достаточно большая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° Π‘ΠΈ (программисты ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ) состоит ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ². Π€Π°ΠΉΠ»Ρ‹ Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π‘ΠΈ-компилятором нСзависимо Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ-построитСлСм Π·Π°Π΄Π°Ρ‡, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‡Π΅Π³ΠΎ создаСтся Ρ„Π°ΠΉΠ» с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ, Π³ΠΎΡ‚ΠΎΠ²ΠΎΠΉ ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ. Π€Π°ΠΉΠ»Ρ‹, содСрТащиС тСксты Π‘ΠΈ-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ исходными.

Π’ языкС Π‘ΠΈ исходныС Ρ„Π°ΠΉΠ»Ρ‹ Π±Ρ‹Π²Π°ΡŽΡ‚ Π΄Π²ΡƒΡ… Ρ‚ΠΈΠΏΠΎΠ²:

  • Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅, ΠΈΠ»ΠΈ h-Ρ„Π°ΠΉΠ»Ρ‹;
  • Ρ„Π°ΠΉΠ»Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΈΠ»ΠΈ CΠΈ-Ρ„Π°ΠΉΠ»Ρ‹.

ИмСна Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ » .h «. ИмСна Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ » .c » для языка Π‘ΠΈ ΠΈ » .cpp «, » .cxx » ΠΈΠ»ΠΈ » .cc » для языка C++.

К соТалСнию, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ языка Π‘ΠΈ, программисты Π½Π΅ сумСли Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒΡΡ ΠΎ Π΅Π΄ΠΈΠ½ΠΎΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΈ ΠΈΠΌΠ΅Π½ для Ρ„Π°ΠΉΠ»ΠΎΠ², содСрТащих ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° C++. ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ » .h » для Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ » .cpp » для Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

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

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

int x;

ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π°Ρ Ρ†Π΅Π»ΠΎΡ‡ΠΈΡΠ»Π΅Π½Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ x, являСтся ошибкой. ВмСсто этого слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ описаниС

extern int x;

ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰Π΅Π΅, Ρ‡Ρ‚ΠΎ пСрСмСнная x ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Π³Π΄Π΅-Ρ‚ΠΎ Π² Ρ„Π°ΠΉΠ»Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ (Π² ΠΊΠ°ΠΊΠΎΠΌ — нСизвСстно). Π‘Π»ΠΎΠ²ΠΎ extern (внСшняя) лишь сообщаСт ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ

ΠΎ внСшнСй ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π½ΠΎ Π½Π΅ опрСдСляСт эту ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ.

Π€Π°ΠΉΠ»Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΈΠ»ΠΈ CΠΈ-Ρ„Π°ΠΉΠ»Ρ‹, содСрТат тСксты Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ опрСдСлСния Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Говоря ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½ΠΎ, Π‘ΠΈ-Ρ„Π°ΠΉΠ»Ρ‹ содСрТат сами ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π° h-Ρ„Π°ΠΉΠ»Ρ‹ — лишь ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ….

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

intuit.ru/2010/edi»>Π€Π°ΠΉΠ»Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ описания, содСрТащиСся Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ…. Π‘Π°ΠΌΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹. Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ прСпроцСссора #include. НапримСр, описания стандартных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ строки

#include <stdio.h>

(stdio — ΠΎΡ‚ слов standard input/output). Имя h-Ρ„Π°ΠΉΠ»Π° записываСтся Π² ΡƒΠ³Π»ΠΎΠ²Ρ‹Ρ… скобках, Ссли этот h-Ρ„Π°ΠΉΠ» являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ стандартной Π‘ΠΈ-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ располоТСн Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· систСмных ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ². ИмСна h-Ρ„Π°ΠΉΠ»ΠΎΠ², созданных самим программистом Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ располоТСнных Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€,

#include "abcd.h"

ΠŸΡ€Π΅ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ — это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ тСкста нСпосрСдствСнно ΠΏΠ΅Ρ€Π΅Π΄ трансляциСй. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ прСпроцСссора Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π°ΠΌΠΈ. Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ прСпроцСссора содСрТат символ Π΄ΠΈΠ΅Π· # Π² Π½Π°Ρ‡Π°Π»Π΅ строки. ΠŸΡ€Π΅ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² основном для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ h-Ρ„Π°ΠΉΠ»ΠΎΠ². Π’ Π‘ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‡Π΅Π½ΡŒ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° #define для задания символичСских ΠΈΠΌΠ΅Π½ констант. Π’Π°ΠΊ, строка

#define PI 3.14159265

Π·Π°Π΄Π°Π΅Ρ‚ символичСскоС имя PI для константы 3.14159265. ПослС этого имя PI ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ вмСсто числового значСния. ΠŸΡ€Π΅ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ всС вхоТдСния слова PI Π² тСкст ΠΈ замСняСт ΠΈΡ… Π½Π° константу. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, прСпроцСссор осущСствляСт ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρƒ ΠΎΠ΄Π½ΠΎΠ³ΠΎ тСкста Π΄Ρ€ΡƒΠ³ΠΈΠΌ. ΠΠ΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ использования прСпроцСссора всСгда ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΡƒΠ΅Ρ‚ ΠΎ нСдостаточной Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ языка. Π’Π°ΠΊ, Π² любом АссСмблСрС срСдства прСпроцСссирования ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ довольно интСнсивно. Π’ Π‘ΠΈ ΠΏΠΎ возмоТности слСдуСт ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ Ρ‡Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ увлСчСния ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ прСпроцСссора — это затрудняСт ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Π²Π΅Π΄Π΅Ρ‚ ΠΊ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ исправляСмым ошибкам. Π’ C++ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Π±Π΅Π· использования Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ² #define для задания констант. НапримСр, Π² C++ константу PI ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ описания

const double PI = 3. 14159265;

Π­Ρ‚ΠΎ являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² ΠΏΠΎΠ»ΡŒΠ·Ρƒ примСнСния компилятора C++ вмСсто Π‘ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ трансляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π½Π΅ содСрТащих конструкции класса.

Π”Π°Π»ΡŒΡˆΠ΅ >>

< ЛСкция 12 || ЛСкция 8: 1234567

ЛогичСский Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… — Visual Basic

Twitter LinkedIn Facebook АдрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹

  • Π‘Ρ‚Π°Ρ‚ΡŒΡ
  • Π§Ρ‚Π΅Π½ΠΈΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 2Β ΠΌΠΈΠ½

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ значСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ True ΠΈΠ»ΠΈ False. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ True слова ΠΈ False ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Π²ΡƒΠΌ состояниям ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Boolean .

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ логичСский Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… (Visual Basic), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ значСния Π΄Π²ΡƒΡ… состояний, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ true/false, Π΄Π°/Π½Π΅Ρ‚ ΠΈΠ»ΠΈ Π²ΠΊΠ»./Π²Ρ‹ΠΊΠ».

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ свойства Boolean ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ являСтся False.

Boolean значСния Π½Π΅ хранятся Π² Π²ΠΈΠ΄Π΅ чисСл, Π° сохранСнныС значСния Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ эквивалСнтными числам. Никогда Π½Π΅ слСдуСт ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄, основанный Π½Π° эквивалСнтных числовых значСниях ΠΈ TrueFalse. По возмоТности слСдуСт ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ использованиС Boolean ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… логичСскими значСниями, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ½ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹.

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡ Ρ‚ΠΈΠΏΠΎΠ²

ΠŸΡ€ΠΈ Visual Basic ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ числовыС значСния BooleanΡ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0 False ΠΈ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ значСния становятся True. Когда Visual Basic ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Boolean значСния Π² числовыС Ρ‚ΠΈΠΏΡ‹, False ΠΎΠ½ становится 0 ΠΈ True становится -1.

ΠŸΡ€ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Boolean значСниями ΠΈ числовыми Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… слСдуСт ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ прСобразования ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° .NET Framework Π½Π΅ всСгда ΡΠΎΠ·Π΄Π°ΡŽΡ‚ Ρ‚Π΅ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, Ρ‡Ρ‚ΠΎ ΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова прСобразования Visual Basic. Π­Ρ‚ΠΎ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Visual Basic сохраняСт ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, совмСстимоС с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌΠΈ вСрсиями. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния см. Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ «Π›ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ Ρ‚ΠΈΠΏ Π½Π΅ прСобразуСтся Π² числовой Ρ‚ΠΈΠΏ Ρ‚ΠΎΡ‡Π½ΠΎ» Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ «Π£ΡΡ‚Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…».

Π‘ΠΎΠ²Π΅Ρ‚Ρ‹ ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ

  • ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ числа. Boolean Π½Π΅ являСтся числовым Ρ‚ΠΈΠΏΠΎΠΌ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π’ любом случаС Π½Π΅ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Boolean для хранСния числовых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

  • Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ Ρ‚ΠΈΠΏΠΎΠ². Boolean Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ символа Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΈΠ»ΠΈ символа Ρ‚ΠΈΠΏΠ° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°.

  • Π’ΠΈΠΏ Framework. Π’ .NET Framework Π΄Π°Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ соотвСтствуСт структурС System. Boolean.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ runningVB это пСрСмСнная Boolean , Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ хранится простой ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ yes/no.

Dim runningVB As Boolean  
' Check to see if program is running on Visual Basic engine.  
If scriptEngine = "VB" Then  
    runningVB = True  
End If  

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Π΄Π΅Π»

  • System.Boolean
  • Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…
  • Type Conversion Functions
  • Π‘Π²ΠΎΠ΄ΠΊΠ° ΠΏΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡŽ
  • Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ использованиС Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…
  • УстранСниС Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ, связанных с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…
  • CType Function

Π‘ΡƒΠ»Π΅Π² Ρ‚ΠΈΠΏ C9X

1. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

1.1 НазначСниС

Π­Ρ‚ΠΎΡ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ опрСдСляСт Ρ„ΠΎΡ€ΠΌΡƒ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡŽ Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° для язык Π‘ΠΈ.

1.2 ΠžΠ±Π»Π°ΡΡ‚ΡŒ примСнСния

Π­Ρ‚ΠΎΡ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, хотя ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ стандарт C, ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ области примСнСния этого стандарта ΠΈ, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΡΠΎΠ±Π»ΡŽΠ΄Π°Π΅Ρ‚ всС ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ этому стандарту, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ случаСв, ΠΊΠΎΠ³Π΄Π° это прямо ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² настоящСм Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅.

1.3 ΠšΠ°Ρ‚Π°Π»ΠΎΠΆΠ½Ρ‹Π΅ Π½ΠΎΠΌΠ΅Ρ€Π°
  1. C9X CD1, SC22/N2620, Π―Π·Ρ‹ΠΊΠΈ программирования — C .
  2. WG14/N738, Ѐаранс. Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π½Π°Ρ логичСская Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠ° .
  3. WG14/N743, ΠšΠΈΡ‚ΠΎΠ½. Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ³ΠΎ поля .

ВсС ссылки Π½Π° CD1 Π±ΡƒΠ΄ΡƒΡ‚ прСдставлСны Π² Π²ΠΈΠ΄Π΅ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² ΠΏΠΎΠ΄ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ². НапримСр, Β§6.4 ссылаСтся Π½Π° константныС выраТСния.

2. ОбоснованиС

МногиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° C ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ цСлочислСнныС Ρ‚ΠΈΠΏΡ‹ для хранСния Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΅Π΄ΠΈΠ½ΠΈΡ† ΠΈΠ»ΠΈ Π½ΡƒΠ»Π΅ΠΉ. обозначая логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true ΠΈΠ»ΠΈ false соотвСтствСнно. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΊΠΎΠ΄Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ смысл Π½Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π΅Π½ ΠΈΠ· ΡˆΡ€ΠΈΡ„Ρ‚Π° использовался.

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

РСшСниС состоит Π² стандартизации логичСского Ρ‚ΠΈΠΏΠ°. Π­Ρ‚ΠΎ ΠΌΠΎΠ³Π»ΠΎ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹ΠΌ ΠΈΠ· способов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ C использовали Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ, ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Ρ‚ΠΈΠΏ, встроСнный Π² язык. Комиссия Π²Ρ‹Π±Ρ€Π°Π»Π° Π²Ρ‚ΠΎΡ€ΠΎΠ΅, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это лингвистичСски Ρ‡ΠΈΡ‰Π΅. Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΡƒ прямоС Π·Π½Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ согласованныС ΠΏΡ€Π°Π²ΠΈΠ»Π° продвиТСния ΠΈ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ возмоТности для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ C Ρ‚Π°ΠΊ Π΄ΠΎΠ»Π³ΠΎ сущСствовал Π±Π΅Π· логичСского Ρ‚ΠΈΠΏΠ°, Π½ΠΎΠ²Ρ‹ΠΉ стандарт Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ со старыми срСдствами ΠΏΡ€Π°Π²ΠΎΠ²ΠΎΠΉ Π·Π°Ρ‰ΠΈΡ‚Ρ‹. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ имя Ρ‚ΠΈΠΏΠ° бСрСтся ΠΈΠ· Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ пространства ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°. Для поддСрТания ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ продвиТСния ΠΏΡ€Π°Π²ΠΈΠ», Ρ‚ΠΈΠΏ Boolean опрСдСляСтся ΠΊΠ°ΠΊ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ цСлочислСнный Ρ‚ΠΈΠΏ, способный прСдставлСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ 0 ΠΈ 1. Π‘ΠΎΠ»Π΅Π΅ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° для Ρ‚ΠΈΠΏ ΠΈ Π΅Π³ΠΎ значСния становятся доступными Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ . ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ опрСдСляСт макрос тСстирования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‰ΠΈΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄ со старым ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСт свой собствСнный логичСский Ρ‚ΠΈΠΏ.

3. Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ языка

НСобходимыС измСнСния ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π½ΠΈΠΆΠ΅ ΠΈ пСрСчислСны ΠΏΠΎ Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ Π½Π° C9X CD1.

Β§4. БоотвСтствиС

ΠŸΠ°Ρ€Π°Π³Ρ€Π°Ρ„ 2:
Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² список Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ², Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π² автономная рСализация.

Бсылки Π²ΠΏΠ΅Ρ€Π΅Π΄:
Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ «Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ Ρ‚ΠΈΠΏ ΠΈ значСния (7.1.7)»

Β§6.1.1 ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова

ΠŸΠ°Ρ€Π°Π³Ρ€Π°Ρ„ 1:
Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово _Bool .

ΠŸΠ°Ρ€Π°Π³Ρ€Π°Ρ„ 2:
Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ «(ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π² Π½ΠΈΠΆΠ½Π΅ΠΌ рСгистрС)» Π½Π° «(с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ рСгистра).»

Β§6.1.2.5 Π’ΠΈΠΏΡ‹

ПослС Π°Π±Π·Π°Ρ†Π° 1 Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π°Π±Π·Π°Ρ†:
ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹ΠΉ ΠΊΠ°ΠΊ Ρ‚ΠΈΠΏ _Bool , достаточно Π²Π΅Π»ΠΈΠΊ для хранСния значСния 0 ΠΈ 1.

ΠŸΡƒΠ½ΠΊΡ‚ 5, Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

    Π’ΠΈΠΏΡ‹ Ρ†Π΅Π»Ρ‹Ρ… чисСл Π±Π΅Π· Π·Π½Π°ΠΊΠ°, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ стандартному Ρ†Π΅Π»ΠΎΠΌΡƒ числу со Π·Π½Π°ΠΊΠΎΠΌ Ρ‚ΠΈΠΏΡ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ стандартными Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ цСлочислСнными Ρ‚ΠΈΠΏΠ°ΠΌΠΈ .

со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

    Π’ΠΈΠΏ _Bool ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ цСлочислСнныС Ρ‚ΠΈΠΏΡ‹ Π±Π΅Π· Π·Π½Π°ΠΊΠ° ΠΊ стандартным цСлочислСнным Ρ‚ΠΈΠΏΠ°ΠΌ со Π·Π½Π°ΠΊΠΎΠΌ относятся стандартныС Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹Ρ… Ρ†Π΅Π»Ρ‹Ρ… чисСл. Ρ‚ΠΈΠΏ .

Π’ Π°Π±Π·Π°Ρ†Π΅ 6 ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:
Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ цСлочислСнныС Ρ‚ΠΈΠΏΡ‹ со Π·Π½Π°ΠΊΠΎΠΌ ΠΈ стандартныС цСлочислСнныС Ρ‚ΠΈΠΏΡ‹ Π±Π΅Π· Π·Π½Π°ΠΊΠ° вмСстС Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ стандартными цСлочислСнными Ρ‚ΠΈΠΏΠ°ΠΌΠΈ .

Β§6.2.1.1 Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ ΠΈ Ρ†Π΅Π»Ρ‹Π΅ числа

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π½Π° «ЛогичСскиС значСния, символы ΠΈ Ρ†Π΅Π»Ρ‹Π΅ числа».

ΠŸΡƒΠ½ΠΊΡ‚ 1:
Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΈ пятый ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ списка.
ΠŸΠ΅Ρ€Π΅Π΄ «Π Π°Π½Π³ символов . . . » вставка:
— Π Π°Π½Π³ любого цСлочислСнного Ρ‚ΠΈΠΏΠ° Π±Π΅Π· Π·Π½Π°ΠΊΠ° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π²Π΅Π½ Ρ€Π°Π½Π³Ρƒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π΅ΠΌΡƒ цСлочислСнный Ρ‚ΠΈΠΏ со Π·Π½Π°ΠΊΠΎΠΌ, Ссли Ρ‚Π°ΠΊΠΎΠΉ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ‚ΠΈΠΏ сущСствуСт.
— Π Π°Π½Π³ любого стандартного цСлочислСнного Ρ‚ΠΈΠΏΠ° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ большС, Ρ‡Π΅ΠΌ Ρ€Π°Π½Π³ любого Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ³ΠΎ цСлочислСнного Ρ‚ΠΈΠΏΠ° с Ρ‚ΠΎΠΉ ΠΆΠ΅ ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ.

ΠŸΠ°Ρ€Π°Π³Ρ€Π°Ρ„ 1, послС «Π Π°Π½Π³ char . . . » Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ:
— Π Π°Π½Π³ _Bool Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ мСньшС Ρ€Π°Π½Π³Π° всСх Π΄Ρ€ΡƒΠ³ΠΈΠ΅ стандартныС цСлочислСнныС Ρ‚ΠΈΠΏΡ‹.

ΠŸΠ°Ρ€Π°Π³Ρ€Π°Ρ„ 2:
Π—Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ Β«Π‘ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Ρ‚ΠΈΠΏΠ° int Β» Π½Π° Β«Π‘ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅Β». Ρ‚ΠΈΠΏΠ° _Bool , int

Β§6.2.1.1+ ЛогичСский Ρ‚ΠΈΠΏ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π°Π±Π·Π°Ρ† Π² качСствС Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΏΡƒΠ½ΠΊΡ‚Π° ΠΌΠ΅ΠΆΠ΄Ρƒ 6.2.1.1 ΠΈ 6.2.1.2:
Когда Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ пониТаСтся Π΄ΠΎ _Bool , Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π²Π΅Π½ 0, Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π²Π½ΠΎ 0 ΠΈ 1 Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС.

Β§6.2.1.2 Π¦Π΅Π»Ρ‹Π΅ числа со Π·Π½Π°ΠΊΠΎΠΌ ΠΈ Π±Π΅Π· Π·Π½Π°ΠΊΠ°

ΠŸΠ°Ρ€Π°Π³Ρ€Π°Ρ„ 1:
Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ «Π΄Ρ€ΡƒΠ³ΠΎΠΉ цСлочислСнный Ρ‚ΠΈΠΏ» Π½Π° «Π΄Ρ€ΡƒΠ³ΠΎΠΉ цСлочислСнный Ρ‚ΠΈΠΏ, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΎΡ‚ _Bool »

Β§6.2.1.3 Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой ΠΈ Ρ†Π΅Π»ΠΎΠ΅ число

ΠŸΠ°Ρ€Π°Π³Ρ€Π°Ρ„ 1:
Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ «ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΎ Π² цСлочислСнный Ρ‚ΠΈΠΏ» Π½Π° «ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΎ Π² цСлочислСнный Ρ‚ΠΈΠΏ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ Ρ‡Π΅ΠΌ _Bool

Β§6.5.2 Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Ρ‚ΠΈΠΏΠΎΠ²

ΠŸΠ°Ρ€Π°Π³Ρ€Π°Ρ„ 1:
Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ _Bool .

ΠŸΠ°Ρ€Π°Π³Ρ€Π°Ρ„ 2:
Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ _Bool .

ΠŸΠ°Ρ€Π°Π³Ρ€Π°Ρ„ 4:
Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ «ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ int » to «ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ int

Β§6.5.2.1 Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ структуры ΠΈ объСдинСния

ΠŸΠ°Ρ€Π°Π³Ρ€Π°Ρ„ 8:
Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ « signed int ΠΈΠ»ΠΈ unsigned int » Π½Π° « _Bool , со Π·Π½Π°ΠΊΠΎΠΌ int ΠΈΠ»ΠΈ Π±Π΅Π· Π·Π½Π°ΠΊΠ° ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» . »

ПослС Π°Π±Π·Π°Ρ†Π° 8 Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π°Π±Π·Π°Ρ†:
Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0 ΠΈΠ»ΠΈ 1 хранится Π² Π±ΠΈΡ‚ΠΎΠ²ΠΎΠΌ ΠΏΠΎΠ»Π΅ Ρ‚ΠΈΠΏΠ° _Bool любой Π½Π΅Π½ΡƒΠ»Π΅Π²ΠΎΠΉ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΎΠ΄Π½ΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅), исходный Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ³ΠΎ поля Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ Ρ€Π°Π²Π½Ρ‹ΠΌΠΈ.

Β§7.1.7 ЛогичСский Ρ‚ΠΈΠΏ ΠΈ значСния

Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ 1-3 ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ тСкстом:

    ΠœΠ°ΠΊΡ€ΠΎΡ

      логичСский

    опрСдСляСтся ΠΊΠ°ΠΊ _Bool .

    ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Ρ€ΠΈ макроса подходят для использования Π² #if Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. ΠΎΠ½ΠΈ

      ΠΏΡ€Π°Π²Π΄Π°

    , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ΡΡ Π΄ΠΎ дСсятичной константы 1,

      лоТь

    , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ΡΡ Π΄ΠΎ дСсятичной константы 0 ΠΈ

    , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ΡΡ Π΄ΠΎ дСсятичной константы 1.

Бноска 138:
Π£Π΄Π°Π»ΠΈΡ‚Π΅ эту сноску, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Π° большС Π½Π΅ примСняСтся Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° _Bool являСтся Ρ‚ΠΈΠΏΠΎΠΌ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ класса. Π’ качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ содСрТаниС сноски ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ для использования Π² обосновании.

Β§B.1.3 ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово _Bool .

§B.2.2 ОбъявлСния

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ спСцификатор Ρ‚ΠΈΠΏΠ° _Bool .

Β§H.2.1 ЛогичСский Ρ‚ΠΈΠΏ

Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°Π³Ρ€Π°Ρ„ 1 ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:
Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… LIA-1 Boolean Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… C _Bool , со значСниями true ΠΈ false from .

Β§K.2 НСопрСдСлСнноС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅

Π—Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ это:

    Π‘ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ объявлСно с Ρ‚ΠΈΠΏΠΎΠΌ, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΎΡ‚ ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ вСрсия со Π·Π½Π°ΠΊΠΎΠΌ int ΠΈΠ»ΠΈ Ρ†Π΅Π»ΠΎΠ΅ число Π±Π΅Π· Π·Π½Π°ΠΊΠ° (6.5.2.1).

со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

    Π‘ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ объявлСно с Ρ‚ΠΈΠΏΠΎΠΌ, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΎΡ‚ ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ вСрсия _Bool , signed int ΠΈΠ»ΠΈ unsigned ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» (6.5.2.1).

Β§K.5.8 НСцСлыС Ρ‚ΠΈΠΏΡ‹ Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π½Π° Β«Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉΒ».

Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΡƒΠ½ΠΊΡ‚ 1 ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:
Π’ΠΈΠΏΡ‹, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΡ‚ _Bool , unsigned int ΠΈΠ»ΠΈ signed int ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ ΠΊΠ°ΠΊ Π±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ поля с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ максимальная ΡˆΠΈΡ€ΠΈΠ½Π° (6. 5.2.1).

4. Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚Ρ‹Π΅ измСнСния ΠΏΡ€ΠΈΠ²Π΅Π΄ΡƒΡ‚ C9X Π² соотвСтствиС с ΠΊΠΎΠΌΠΈΡ‚Π΅Ρ‚ΠΎΠΌ. Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡƒΡ‚Π΅ΠΌ добавлСния пСрвоклассного логичСского Ρ‚ΠΈΠΏΠ°. Π­Ρ‚ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈΠ·-Π·Π° Ρ€Π°Π·Π½Ρ‹Ρ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ.

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Bool C++

Π’ языках программирования ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ мноТСство Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΈ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² зависимости ΠΎΡ‚ ситуации ΠΈ расчСта. Одним ΠΈΠ· Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Π² C++ являСтся логичСский Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ с ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом Β«boolΒ». Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… bool ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ двумя значСниями, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ true ΠΈ false. Π­Ρ‚ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ значСния, ΠΊΡ€ΠΎΠΌΠ΅ этого.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… bool Π² Π½Π°ΡˆΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… C++. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ наши ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π² систСмС Ubuntu 20.04, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π² вашСй систСмС Linux ΡƒΠΆΠ΅ установлСн компилятор G++. НачнСм с простых ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ².

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 01:

Π’ нашСм ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ C++ ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… bool ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ ΠΈ распСчатан Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅ систСмы Ubuntu 20. 04. Π˜Ρ‚Π°ΠΊ, ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ сочСтания клавиш Β«Ctrl+Alt+TΒ» ΠΈΠ»ΠΈ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π΅Π³ΠΎ Π² области активности. ΠžΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π° Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ 5 сСкунд. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΡ‚Π°Ρ€ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Β«touchΒ» для создания Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° C++ с ΠΈΠΌΠ΅Π½Π΅ΠΌ bool.cc. Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² домашнСй ΠΏΠ°ΠΏΠΊΠ΅.

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°, установлСнного Π² вашСй систСмС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Π½Π΅Π³ΠΎ ΠΊΠΎΠ΄. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ использовали встроСнный Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ GNU Nano, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΅Π³ΠΎ прямо Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅. Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹ vim ΠΈ тСкстовыС Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ доступны Π² систСмС Ubuntu 20.04.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρ„Π°ΠΉΠ» ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ nano для кодирования. Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ этот Ρ„Π°ΠΉΠ» Π±ΡƒΠ΄Π΅Ρ‚ пустым. ΠœΡ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π²Π²ΠΎΠ΄ ΠΈ вывСсти Π΅Π³ΠΎ Π² ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠ΅ пространство ΠΈΠΌΠ΅Π½ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для использования Π² ΠΊΠΎΠ΄Π΅. Π‘Π΅Π· Π½Π΅Π³ΠΎ наш ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ошибки. ПослС этого инициализируСтся функция main().

Π‘Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ main() Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ. Π’ этом ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ main() ΠΌΡ‹ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Π΄Π²Π΅ логичСскиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ v1 ΠΈ v2. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ v1 ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «истина», Π° пСрСмСнная v2 ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «лоТь». ПослС ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ здСсь ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ cout для отобраТСния ΠΎΠ±Π΅ΠΈΡ… логичСских ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅ ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

ΠŸΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, это ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сохранСнный Ρ„Π°ΠΉΠ» ΠΊΠΎΠ΄Π°. Π˜Ρ‚Π°ΠΊ, для этой Ρ†Π΅Π»ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ установлСнный компилятор g++. ПослС компиляции для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ запуска Ρ„Π°ΠΉΠ»Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ простая ΠΊΠΎΠΌΠ°Π½Π΄Π° Β«./a.outΒ». ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ ΠΏΡ€ΠΎΡˆΠ»Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, ΠΈ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΊΠ°ΠΊ 1 ΠΈ 0. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ стандартный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ cout ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ true ΠΊΠ°ΠΊ 1 ΠΈ false ΠΊΠ°ΠΊ 0.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 02:

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ логичСскиС значСния Π² матСматичСском Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ. Π˜Ρ‚Π°ΠΊ, ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» Β«bool.ccΒ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄. ΠŸΠΎΡ‚ΠΎΠΊ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ стандартныС строки пространства ΠΈΠΌΠ΅Π½ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π’ основной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ этого ΠΊΠΎΠ΄Π° ΠΌΡ‹ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Ρ†Π΅Π»ΠΎΡ‡ΠΈΡΠ»Π΅Π½Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Β«vΒ». Π­Ρ‚Π° пСрСмСнная ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π²Π° логичСских выраТСния ΠΈ 1 цСлочислСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для ΠΈΡ… суммирования.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ истина ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ 1, Π° лоТь ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ 0, Ρ‚ΠΎ здСсь сумма Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ 8. ПослС этого ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ cout ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для отобраТСния рассчитанного значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ v.

Π’ΠΎΡ‚ компиляция компилятором g++. Он становится ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹ΠΌ, ΠΈ послС запуска ΠΊΠΎΠ΄Π° ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠΆΠΈΠ΄Π°Π»ΠΈ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ 8 Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 03:

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ G++ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ цСлочислСнныС значСния Π² логичСский Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…. Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ создадим Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Π»ΠΈ этот ΠΆΠ΅ Ρ„Π°ΠΉΠ» Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ Β«Π½Π°Π½ΠΎΒ». ПослС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΏΠΎΡ‚ΠΎΠΊΠ° Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ стандартного пространства ΠΈΠΌΠ΅Π½ ΠΌΡ‹ использовали Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ main() для использования логичСского значСния. Π’ основном ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ ΠΌΡ‹ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ 4 цСлочислСнныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ 0, ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ†Π΅Π»Ρ‹Π΅ числа. ВсСм ΠΈΠΌ Π±Ρ‹Π» присвоСн Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… bool.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ g++ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ 0 ΠΊΠ°ΠΊ Π»ΠΎΠΆΠ½ΠΎΠ΅, Π° всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ†Π΅Π»Ρ‹Π΅ значСния ΠΊΠ°ΠΊ истинныС для логичСского Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…. Π˜Ρ‚Π°ΠΊ, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ cout здСсь ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ отобраТСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° всСх 4 ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

Π”Π°Π²Π°ΠΉΡ‚Π΅ сначала скомпилируСм ΠΊΠΎΠ΄ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ g++ ΠΈ посмотрим Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ ΠΏΡ€ΠΎΡˆΠ»Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ компилятора g++, ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° Β«./a.outΒ» ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΊΠ°ΠΊ 0,1,1,1. ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ΡΡ, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π»ΠΈ. Он ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ 0 ΠΊΠ°ΠΊ false, Π° всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ значСния β€” ΠΊΠ°ΠΊ true для логичСского Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 04:

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ стандартный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ cout Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с логичСским Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Ρ‚. Π΅. true ΠΈΠ»ΠΈ false, Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅ систСмы Ubuntu 20.04. Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Π»ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ„Π°ΠΉΠ» bool.cc для обновлСния ΠΊΠΎΠ΄Π°. ПослС добавлСния Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΏΠΎΡ‚ΠΎΠΊΠ° Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ стандартного пространства ΠΈΠΌΠ΅Π½ функция main() добавляСтся ΠΊΠ°ΠΊ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ. Π’ основной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ использовались 4 стандартных ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° cout. ВсС утвСрТдСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ логичСскиС выраТСния, Ρ‚.Π΅. истинныС ΠΈ Π»ΠΎΠΆΠ½Ρ‹Π΅. Π”Π²Π° ΠΈΠ· Π½ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ, Π° Π΄Π²Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ с Β«!Β» Π·Π½Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ исходноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ ΠΏΡ€ΠΎΡˆΠ»Π° Π³Π»Π°Π΄ΠΊΠΎ с установщиком g++, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² ΠΊΠΎΠ΄Π΅ Π½Π΅Ρ‚ ошибок. Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π² Π²ΠΈΠ΄Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² cout, упомянутых Π² ΠΈΡ… тСкстах.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 05:

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² качСствС Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅ консоли. Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ„Π°ΠΉΠ», Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Β«bool.ccΒ». Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ main() этого ΠΊΠΎΠ΄Π° ΠΌΡ‹ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ массива логичСского Ρ‚ΠΈΠΏΠ° с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«aΒ» Π±Π΅Π· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ этой логичСской ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ Π»ΠΎΠΆΠ½ΠΎΠΉ.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ cout ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ввСсти Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Β«cinΒ» использовался для получСния Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ значСния ΠΈΠ· ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ ΠΈ сохранСния Π΅Π³ΠΎ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Β«aΒ». Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ стандартный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ cout Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ, Ссли Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ истинно ΠΈΠ»ΠΈ Π»ΠΎΠΆΠ½ΠΎ.

ПослС добавлСния Β«falseΒ» ΠΈ Β«trueΒ» Π² ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅ Π² качСствС Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ 0. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ любоС строковоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ ΠΎΡ‚ логичСского значСния.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ для логичСских Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ 1 ΠΈ 0 ΠΊΠ°ΠΊ true ΠΈ false. Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ сдСлали Ρ‚ΠΎ ΠΆΠ΅ самоС ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 06:

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠΌ эту ΡΡ‚Π°Ρ‚ΡŒΡŽ бонусным ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ Π΄Π²Π° значСния ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π²Π·Π°ΠΌΠ΅Π½ логичСский Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ использовали ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ„Π°ΠΉΠ» для этого ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°. Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ main() этого Ρ„Π°ΠΉΠ»Π° ΠΌΡ‹ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Π΄Π²Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ цСлочислСнного Ρ‚ΠΈΠΏΠ°, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ x ΠΈ y, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ 42. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ cout использовался для отобраТСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° сравнСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π² Π½Π΅ΠΌ выраТСния сравнСния.

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ этого ΠΊΠΎΠ΄Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 1, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ сравнСния Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ true.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅:

Π’ этом руководствС ΠΌΡ‹ обсудили логичСский Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π΅Π³ΠΎ использованиС Π² языкС C++. Помимо этого, ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ обсудили ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ†Π΅Π»Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² логичСскиС значСния ΠΈ использованиС логичСских Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² матСматичСских выраТСниях.

ΠžΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

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

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