ЛогичСский Ρ‚ΠΈΠΏ Π² си: Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² БИ

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

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

< ЛСкция 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

bool (C++) | Microsoft Learn

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

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

Π­Ρ‚ΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово являСтся встроСнным Ρ‚ΠΈΠΏΠΎΠΌ. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ этого Ρ‚ΠΈΠΏΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ значСния true ΠΈ false. УсловныС выраТСния ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚ΠΈΠΏ

bool , Π° Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΈ значСния Ρ‚ΠΈΠΏΠ° bool. НапримСр, i != 0 Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ true Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ false Π² зависимости ΠΎΡ‚ значСния i.

Visual Studio 2017 вСрсии 15.3 ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΡ… вСрсий (доступно Π² /std:c++17 ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΡ… вСрсиях): ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ постфиксного ΠΈΠ»ΠΈ прСфиксного ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π° ΠΈΠ»ΠΈ Π΄Π΅ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚ΠΈΠΏΠ° bool. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ b Ρ‚ΠΈΠΏΠ° boolэти выраТСния большС Π½Π΅ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ:

    b++;
    ++b;
    b--;
    --b;

ЗначСния true ΠΈ false ΠΈΠΌΠ΅ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ связь:

!false == true
!true == false

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅

if (condexpr1) statement1;

Если condexpr1 ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true, statement1 всСгда выполняСтся; Ссли condexpr1 ΠΈΠΌΠ΅Π΅Ρ‚ falseΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ , statement1 Ρ‚ΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ выполняСтся.

Если ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ postfix ΠΈΠ»ΠΈ прСфикс ++ примСняСтся ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΈΠΏΠ° bool, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ присваиваСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true.

Visual Studio 2017 вСрсии 15.3 ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΡ… вСрсий: operator++ для bool Π±Ρ‹Π»Π° ΡƒΠ΄Π°Π»Π΅Π½Π° ΠΈΠ· языка ΠΈ большС Π½Π΅ поддСрТиваСтся.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ postfix ΠΈΠ»ΠΈ prefix -- нСльзя ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ этого Ρ‚ΠΈΠΏΠ°.

Π’ΠΈΠΏ bool участвуСт Π² Ρ†Π΅Π»Ρ‹Ρ… ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡΡ… ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. R-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° bool ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π² r-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° intс false Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ ΠΈ true Ρ€Π°Π²Π½Ρ‹ΠΌ Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅ΠΉ. Как ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ участвуСт bool Π² Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΈ.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова
ВстроСнныС Ρ‚ΠΈΠΏΡ‹

Π‘ΡƒΠ»Π΅Π² Ρ‚ΠΈΠΏ 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 Π² соотвСтствиС с ΠΊΠΎΠΌΠΈΡ‚Π΅Ρ‚ΠΎΠΌ. Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡƒΡ‚Π΅ΠΌ добавлСния пСрвоклассного логичСского Ρ‚ΠΈΠΏΠ°. Π­Ρ‚ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈΠ·-Π·Π° Ρ€Π°Π·Π½Ρ‹Ρ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ.

6.3: ЛогичСский Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… β€” Engineering LibreTexts

  1. ПослСднСС обновлСниС
  2. Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ PDF
  • Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ страницы
    29059
    • ΠŸΠ°Ρ‚Ρ€ΠΈΠΊ ΠœΠ°ΠΊΠšΠ»Π°Π½Π°Ρ…Π°Π½
    • КоллСдТ Π‘Π°Π½-Π₯ΠΎΠ°ΠΊΠΈΠ½ Π”Π΅Π»ΡŒΡ‚Π°

    Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Boolean Ρ‚Π°ΠΊΠΆΠ΅ извСстСн ΠΊΠ°ΠΊ логичСский Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ прСдставляСт понятия истинного ΠΈ Π»ΠΎΠΆΠ½ΠΎΠ³ΠΎ. НазваниС Β«Π±ΡƒΠ»Π΅Π²ΠΎΒ» происходит ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° Π”ΠΆΠΎΡ€Π΄ΠΆΠ° Буля; ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² 1854 Π³ΠΎΠ΄Ρƒ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»: ИсслСдованиС Π·Π°ΠΊΠΎΠ½ΠΎΠ² мысли. Π‘ΡƒΠ»Π΅Π²Π° Π°Π»Π³Π΅Π±Ρ€Π° β€” это ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ, которая ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π΅Π»ΠΎ с логичСским прСдставлСниСм истинности ΠΈ лоТности с использованиСм чисСл 0 ΠΈ 1. Π’Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… Boolean Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для управлСния структурами программирования (if then else, Ρ†ΠΈΠΊΠ»Ρ‹ while, ΠΈ Ρ‚. Π΄.), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π½Π°ΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Β«Π²Ρ‹Π±ΠΎΡ€Β» Π² Π½Π°ΡˆΠΈΡ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°Ρ….

    Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Boolean ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΈ дСйствуСт ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Π²ΠΎ всСх языках программирования. ΠŸΡ€Π°Π²ΠΈΠ»Π° языка программирования C++:

    C++ Reserved Word логичСский
    ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΡŒ ЛогичСскиС понятия истинности ΠΈ лоТности
    Π Π°Π·ΠΌΠ΅Ρ€ ΠžΠ±Ρ‹Ρ‡Π½ΠΎ 1 Π±Π°ΠΉΡ‚
    ΠžΠ±Ρ‹Ρ‡Π½Π°Ρ вывСска Π‘Π΅Π· Π·Π½Π°ΠΊΠ°
    Π”ΠΎΠΌΠ΅Π½ (допустимыС значСния) 0 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ лоТь, 1 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ истину
    БинтаксичСскоС ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ C++ true ΠΈ false β€” это Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ слова, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² качСствС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² выраТСниях
    ΠšΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡ/ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ C++ Π›ΡŽΠ±ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· любого Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ½ΠΈΠΆΠ΅Π½ΠΎ Π΄ΠΎ логичСского Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… с Π½ΡƒΠ»Π΅ΠΌ, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΌ лоТь, ΠΈ всСми Π½Π΅Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌΠΈ значСниями, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΌΠΈ истину

    Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ C++ Π΄ΠΎΠ±Π°Π²ΠΈΠ» Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… bool Π² спСцификации C++. Они ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для обСспСчСния Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ контроля Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ситуациях, Π° Ρ‚Π°ΠΊΠΆΠ΅ для удобства программистов Π½Π° C++.

    Как ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ Π²Ρ‹ΡˆΠ΅, логичСскиС значСния Π½Π° самом Π΄Π΅Π»Π΅ ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π»ΠΈΠ±ΠΎ ΠΊΠ°ΠΊΒ 0Β (Π›ΠžΠ–Π¬), Π»ΠΈΠ±ΠΎ 1Β (ИБВИНА).

    логичСский b1 = истина; // объявлСниС логичСской ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ true 

    Π’ C++ Π²Π²Π΅Π΄Π΅Π½ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… bool для хранСния логичСского значСния  true Β ΠΈΠ»ΠΈ false . ЗначСния true ΠΈΠ»ΠΈ false Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π² качСствС ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов языка C++.
    Π’Π°ΠΆΠ½Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹:

    • ЧисловоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ true Ρ€Π°Π²Π½ΠΎ 1, Π° Β  false Ρ€Π°Π²Π½ΠΎ 0.
    • ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΠ° bool ΠΈΠ»ΠΈ значСния true ΠΈ false Ρ‚Π°ΠΊΠΆΠ΅ Π² матСматичСских выраТСниях. НапримСр,
      int Ρ… = лоТь + истина + 6; 

      допустимо, ΠΈ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ справа Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ†Π΅Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ 9.0331 7 Β ΠΊΠ°ΠΊ false Β  ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0, Π° true Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1.

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

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

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