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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π―Π·Ρ‹ΠΊ Π‘ΠΈ - руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 22

Автор M. УЭИВ

     Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, компактная Ρ„ΠΎΡ€ΠΌΠ° Π΄Π΅Π»Π°Π΅Ρ‚ ваши ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±ΠΎΠ»Π΅Π΅ изящными ΠΈ Π»Π΅Π³ΠΊΠΈΠΌΠΈ для понимания. Π­Ρ‚ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ΄Π°ΡŽΡ‚ ΠΈΠΌ блСск, Ρ‡Ρ‚ΠΎ приятно само ΠΏΠΎ сСбС.

НапримСр, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ "Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠ±ΡƒΠ²ΠΈ2" ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

size = 3.0;

while(size < 18.5) {foot = SCALE*size + OFFSET;printf("%10.1f %20.2f дюймов\n", size, foot);++size;}

     ΠŸΡ€ΠΈ этом способС ΠΌΡ‹ Π΅Ρ‰Π΅ Π½Π΅ воспользовались всСми прСимущСствами ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ увСличСния. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ Ρ‚Π°ΠΊ

size = 2.0;while(++size < 18.5) {

foot = SCALE *size + OFFSET;

printf( %10.1f  %20.2f дюйма\n" , size, foot);

 }

     Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ объСдинили Π² ΠΎΠ΄Π½ΠΎΠΌ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ увСличСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π° 1 ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ истинности условия Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ while. Подобного Ρ‚ΠΈΠΏΠ° конструкция Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ часто встрСчаСтся Π² языкС Π‘ΠΈ, Ρ‡Ρ‚ΠΎ заслуТиваСт Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ³ΠΎ рассмотрСния. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΊΠ°ΠΊ ΠΎΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. ΠžΡ‡Π΅Π½ΡŒ просто Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ size увСличиваСтся Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ, Π° Π·Π°Ρ‚Π΅ΠΌ сравниваСтся с 18.5. Если ΠΎΠ½ΠΎ мСньшС, Ρ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ Π² Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки. ПослС этого пСрСмСнная size увСличиваСтся Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΈ Ρ‚. Π΄. Π”Π°Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» повторяСтся Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ size Π½Π΅ станСт слишком большим. ΠœΡ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ size с 3.0 Π½Π° 2.0, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΠΎΠΌΠΏΠ΅Π½ΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ size ΠΏΠ΅Ρ€Π΅Π΄ Π΅Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌ использованиСм для вычислСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ foot.

  


                                                        РИБ. 5.4. Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ шага Ρ†ΠΈΠΊΠ»Π°

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

     Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ прСимущСство использования ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ увСличСния Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ компиляции получаСтся нСсколько Π±ΠΎΠ»Π΅Π΅ эффСктивный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ машинной ΠΊΠΎΠΌΠ°Π½Π΄Π΅.

     Π˜, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, эти ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² рядС Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ситуаций. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ это Π·Π° ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ:

main( )

{

int a = 1, b = 1;

int aplus, plusb;

aplus = a++;  /* постфикснаяформа*/

plusb = ++b; /* прСфикснаяформа*/

printf(" a aplus b plusb \n");

printf("%5d %5d %5d %5d\n", a, aplus, b, plusb);

}

     Π•сли Π²Ρ‹ всС сдСлали ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Ρ‚ΠΎ, насколько ΠΌΡ‹ ΠΏΠΎΠΌΠ½ΠΈΠΌ, Π² качСствС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строки

Π°   aplus   b   plusb

2   1         2    2

     ΠšΠ°ΠΊ ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π»ΠΎΡΡŒ, значСния ΠΎΠ±Π΅ΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π° ΠΈ b, ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ»ΠΈΡΡŒ Π½Π° 1. Однако ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ aplus Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π° Π±Ρ‹Π»ΠΎ присвоСно ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π°, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ plusb Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ b Π±Ρ‹Π»ΠΎ присвоСно послС измСнСния b. Π’ этом ΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ прСфиксной ΠΈ постфиксной Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ.


aplus = Π°++ - постфикс: пСрСмСнная Π° измСняСтся послС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ

plusb = ++b - прСфикс: пСрСмСнная b измСняСтся ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ

  


                                                   РИБ. 5.5. ΠŸΡ€Π΅Ρ„ΠΈΠΊΡΠ½Π°Ρ ΠΈ постфиксная Ρ„ΠΎΡ€ΠΌΡ‹.

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

while(++size < 18.5)

     ΠŸΡ€ΠΈ Π΅Π³ΠΎ использовании ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° Π²ΠΏΠ»ΠΎΡ‚ΡŒ Π΄ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° 18. Но, Ссли Π±Ρ‹ ΠΌΡ‹ вмСсто этого записали ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ увСличСния Π² Π²ΠΈΠ΄Π΅ size++, Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΏΠΎΠΏΠ°Π» Π±Ρ‹ ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ 19, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ size ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π»ΠΎΡΡŒ Π±Ρ‹ послС сравнСния, Π° Π½Π΅ Π΄ΠΎ этого.

     ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Π½Π΅Π΅ красивый способ - ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания

size = size +1;

     Π’ΠΎΠ³Π΄Π° Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ ΠΏΠΎΠ²Π΅Ρ€ΠΈΡ‚ Π²Π°ΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΡƒΠΌΠ΅Π΅Ρ‚Π΅ ΠΏΠΎ-настоящСму ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° языкС Π‘ΠΈ.

     Π”ΡƒΠΌΠ°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ ΠΊΠ½ΠΈΠ³ΠΈ Π²Ρ‹ ΡƒΠΆΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠ»ΠΈ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ увСличСния. Как Π²Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅, ΠΌΠΎΠ³Π»ΠΈ Π»ΠΈ ΠΌΡ‹ всСгда ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ любой ΠΈΠ· Π½ΠΈΡ… ΠΈΠ»ΠΈ внСшниС условия Π΄ΠΈΠΊΡ‚ΠΎΠ²Π°Π»ΠΈ Π½Π°ΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€? Говоря ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…, Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ привСсти Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½.

     Π‘пят Π»ΠΈ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹? ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, спят, Π½ΠΎ ΠΎΠ½ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ Ρ€Π°ΡΡΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π°ΠΌ ΠΎΠ± этом. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, привСдСнная Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ происходит Π² Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

/* ΠΎΠ²Ρ†Ρ‹ */

#define MAX 40

main( )

 {

 int count = 0,

printf(" Π― ΡΡ‡ΠΈΡ‚Π°ΡŽ ΠΎΠ²Π΅Ρ†, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΠ½ΡƒΡ‚ΡŒ \n");

while(++ count < MAX)

printf(" %d ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² ΠΎΠ²Π΅Ρ†, Π° я Π΅Ρ‰Π΅ Π½Π΅ уснул \n", count);

printf(" %d ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² ΠΎΠ²Π΅Ρ†, Π° я Ρ…Ρ€-Ρ€-Ρ€ Ρ€   \n" , count);

}

     ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΅Π΅ ΠΈ посмотритС, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»ΠΈ ΠΎΠ½Π° Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎ Π²Π°ΡˆΠ΅ΠΌΡƒ мнСнию. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ константы МАΠ₯ для вашСго ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠΌ. (ΠšΡΡ‚Π°Ρ‚ΠΈ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈ Π·Π°ΠΌΠ΅Π½Π΅ прСфиксной Ρ„ΠΎΡ€ΠΌΡ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ увСличСния постфиксной Ρ„ΠΎΡ€ΠΌΠΎΠΉ?)

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ: --

     ΠšΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ увСличСния соотвСтствуСт нСкоторая опСрация ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ, ΠΏΡ€ΠΈ этом вмСсто символов ++ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ --

-- count, /* прСфиксная Ρ„ΠΎΡ€ΠΌΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ */

count --, /* постфиксная Ρ„ΠΎΡ€ΠΌΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ */

     ΠΠΈΠΆΠ΅ приводится ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ, ΠΊΠ°ΠΊ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹ΠΌΠΈ Π»ΠΈΡ€ΠΈΠΊΠ°ΠΌΠΈ

/* Π±ΡƒΡ‚Ρ‹Π»ΠΊΠΈ*/

#define MAX 100

main( )

 {

int count = MAX + 1;

while(--  count > 0)

 {

     printf(" %d Π±ΡƒΡ‚Ρ‹Π»ΠΎΠΊ ΠΏΠΈΠ²Π° Π½Π° ΠΏΠΎΠ»ΠΊΠ΅, %d Π±ΡƒΡ‚Ρ‹Π»ΠΎΠΊ ΠΏΠΈΠ²Π°!\n", count, count);

    printf(" Π‘Π½ΠΈΠΌΠΈ ΠΎΠ΄Π½Ρƒ ΠΈ пусти Π΅Π΅ ΠΏΠΎ ΠΊΡ€ΡƒΠ³Ρƒ, \n");

    printf("%d Π±ΡƒΡ‚Ρ‹Π»ΠΎΠΊ ΠΏΠΈΠ²Π°! \n \n", count-1); }}

ΠΠ°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ выглядят Ρ‚Π°ΠΊ:

100 Π±ΡƒΡ‚Ρ‹Π»ΠΎΠΊ ΠΏΠΈΠ²Π° Π½Π° ΠΏΠΎΠ»ΠΊΠ΅, 100 Π±ΡƒΡ‚Ρ‹Π»ΠΎΠΊ ΠΏΠΈΠ²Π°!

Π‘Π½ΠΈΠΌΠΈ ΠΎΠ΄Π½Ρƒ ΠΈ пусти Π΅Π΅ ΠΏΠΎ ΠΊΡ€ΡƒΠ³Ρƒ,

99 Π±ΡƒΡ‚Ρ‹Π»ΠΎΠΊ ΠΏΠΈΠ²Π°!

99 Π±ΡƒΡ‚Ρ‹Π»ΠΎΠΊ ΠΏΠΈΠ²Π° Π½Π° ΠΏΠΎΠ»ΠΊΠ΅, 99 Π±ΡƒΡ‚Ρ‹Π»ΠΎΠΊ ΠΏΠΈΠ²Π°!

Π‘Π½ΠΈΠΌΠΈ ΠΎΠ΄Π½Ρƒ ΠΈ пусти Π΅Π΅ ΠΏΠΎ ΠΊΡ€ΡƒΠ³Ρƒ,98 Π±ΡƒΡ‚Ρ‹Π»ΠΎΠΊ ΠΏΠΈΠ²Π°!

ΠŸΠΎΡΡ‚Π΅ΠΏΠ΅Π½Π½ΠΎ количСство Π±ΡƒΡ‚Ρ‹Π»ΠΎΠΊ сходит Π½Π° Π½Π΅Ρ‚, ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ

1 Π±ΡƒΡ‚Ρ‹Π»ΠΎΠΊ ΠΏΠΈΠ²Π° Π½Π° ΠΏΠΎΠ»ΠΊΠ΅, 1 Π±ΡƒΡ‚Ρ‹Π»ΠΎΠΊ ΠΏΠΈΠ²Π°!

Π‘Π½ΠΈΠΌΠΈ ΠΎΠ΄Π½Ρƒ ΠΈ пусти Π΅Π΅ ΠΏΠΎ ΠΊΡ€ΡƒΠ³Ρƒ,

0 Π±ΡƒΡ‚Ρ‹Π»ΠΎΠΊ ΠΏΠΈΠ²Π°!

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

Π‘Ρ‚Π°Ρ€ΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ

     Π’ соотвСтствии с принятым Π² языкС Π‘ΠΈ порядком вычислСний ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ увСличСния ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΡ‡Π΅Π½ΡŒ высокий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΡΡ‚Π°Ρ€ΡˆΠΈΠ½ΡΡ‚Π²Π°; Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ высоким ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠΌ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ x*y++ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ (x)*(y++), Π° Π½Π΅ (x*y)++, Ρ‡Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ послСднСС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ смысла Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚. (ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ увСличСния ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ…*Ρƒ само ΠΏΠΎ сСбС Π½Π΅ являСтся ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ сомноТитСлСй).