Как Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ double Π² си

Ѐункция printf

Если Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Π½Π° C++, Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» cstdio :

Π‘ΠΈΠΌΠ²ΠΎΠ» ‘\n’ Π² ΠΊΠΎΠ½Ρ†Π΅ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ символ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° Π½ΠΎΠ²ΡƒΡŽ строку.

НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… a ΠΈ b Ρ‚ΠΈΠΏΠ° int Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π» ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ:

Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Ρ‚ΠΈΠΏΡ‹

ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΠΌ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ printf ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΈΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π½Ρ‹Π΅ строки.

ЗначСния Ρ†Π΅Π»Ρ‹Ρ… чисСл Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π² Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½ΠΎΠΉ ΠΈΠ»ΠΈ ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΉ систСмах счислСния.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚ΠΈΠΏΠ° float вывСсти ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ printf нСльзя (ΠΌΠΎΠΆΠ½ΠΎ привСсти Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° float ΠΊ Ρ‚ΠΈΠΏΡƒ double ΠΈ вывСсти Π΅Π³ΠΎ).

Π’ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС Windows Π½Π΅ рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ long double.

ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Π΄Π»ΠΈΠ½Ρ‹

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для значСния Ρ‚ΠΈΠΏΠ° long int ΠΈΠ»ΠΈ unsigned long int вмСстС с ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ d, i, u.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для значСния Ρ‚ΠΈΠΏΠ° double вмСстС с ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ e, f, g.

hhΠ˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для значСния Ρ‚ΠΈΠΏΠ° char вмСстС с символами d, i, u для Π²Ρ‹Π²ΠΎΠ΄Π° Π² Π²ΠΈΠ΄Π΅ дСсятичного числа, ΡΠΎΠΎΡ‚Π²Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π΅Π³ΠΎ ASCII-ΠΊΠΎΠ΄Ρƒ.
hΠ˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для значСния Ρ‚ΠΈΠΏΠ° short int ΠΈΠ»ΠΈ unsigned short int вмСстС с ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ d, i, u.
l
llΠ˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для значСния Ρ‚ΠΈΠΏΠ° long long int ΠΈΠ»ΠΈ unsigned long long int вмСстС с ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ d, i, u.
LΠ˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для значСния Ρ‚ΠΈΠΏΠ° long double вмСстС с ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ e, f, g. НС слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Windows.

Π¨ΠΈΡ€ΠΈΠ½Π° поля Π²Ρ‹Π²ΠΎΠ΄Π°

ПослС Π·Π½Π°ΠΊΠ° % ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ ΡˆΠΈΡ€ΠΈΠ½Ρƒ поля для Π²Ρ‹Π²ΠΎΠ΄Π° Π² Π²ΠΈΠ΄Π΅ Ρ†Π΅Π»ΠΎΠ³ΠΎ числа (Π½Π΅ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ с нуля). Π’ этом случаС число Π²Ρ‹Π²ΠΎΠ΄ этого числа Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ число символов. Если Π² числС мСньшС Ρ†ΠΈΡ„Ρ€, Ρ‡Π΅ΠΌ заданная ΡˆΠΈΡ€ΠΈΠ½Π° поля Π²Ρ‹Π²ΠΎΠ΄Π°, Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ числом (слСва) выводятся ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹. Если ΠΆΠ΅ Π² числС большС Ρ†ΠΈΡ„Ρ€, Ρ‡Π΅ΠΌ ΡˆΠΈΡ€ΠΈΠ½Π° поля, Ρ‚ΠΎ выводятся всС Ρ†ΠΈΡ„Ρ€Ρ‹ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ выводится большС Ρ†ΠΈΡ„Ρ€, Ρ‡Π΅ΠΌ вся ΡˆΠΈΡ€ΠΈΠ½Π° поля, ΠΏΠΎΠ»Π΅ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ вывСсти всС символы).

Если ΠΏΠ΅Ρ€Π΅Π΄ ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ поля ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ†ΠΈΡ„Ρ€Ρƒ 0, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, «%010d», Ρ‚ΠΎ число Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ слСва Π½Π΅ ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ, Π° нулями. Π­Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Π²Ρ‹Π²ΠΎΠ΄Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ hh:mm, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Π°ΠΊ:

Π’Π°ΠΊΠΆΠ΅ вмСсто ΡˆΠΈΡ€ΠΈΠ½Ρ‹ поля Π²Ρ‹Π²ΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ символ «*» (Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠ°), Ρ‚ΠΎΠ³Π΄Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ поля Π²Ρ‹Π²ΠΎΠ΄Π° Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π² качСствС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°. НапримСр, запись:

ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ вывСсти Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ a ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠΎΠ»Π΅ ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ n символов.

Π’ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄Π° Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… чисСл

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ числа выводятся с 6 Π·Π½Π°ΠΊΠ°ΠΌΠΈ послС Ρ‚ΠΎΡ‡ΠΊΠΈ, ΠΏΡ€ΠΈ этом числа Π² ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ выводятся Π² Π²ΠΈΠ΄Π΅ ΠΎΠ΄Π½ΠΎΠΉ Ρ†ΠΈΡ„Ρ€Ρ‹, Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΈ 6 Ρ†ΠΈΡ„Ρ€ послС Ρ‚ΠΎΡ‡ΠΊΠΈ (ΠΈ показатСля стСпСни).

Π’Ρ‹Π²ΠΎΠ΄ Ρ†Π΅Π»Ρ‹Ρ… чисСл со Π·Π½Π°ΠΊΠΎΠΌ +/-

Если ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ Ρ†Π΅Π»ΠΎΠ³ΠΎ числа Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π½ΠΎΠΉ строкС Π·Π°Π΄Π°Ρ‚ΡŒ символ «+», Ρ‚ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ числа Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ с ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°ΠΊΠΎΠΌ «+» ΠΏΠ΅Ρ€Π΅Π΄ Π½ΠΈΠΌΠΈ.

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ пСрСчислСнных Π²Ρ‹ΡˆΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ. НапримСр, такая строка:

ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ числа Ρ‚ΠΈΠΏΠ° long long, со Π·Π½Π°ΠΊΠΎΠΌ «+» ΠΈΠ»ΠΈ «-» ΠΏΠ΅Ρ€Π΅Π΄ числом, с Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π½ΡƒΠ»Π΅ΠΉ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ‰Π΅Π΅ число Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… символов Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ мСньшС 20.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π’Π²ΠΎΠ΄-Π²Ρ‹Π²ΠΎΠ΄ Π² Π‘ΠΈ

Основной Π·Π°Π΄Π°Ρ‡Π΅ΠΉ программирования являСтся ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, поэтому любой язык программирования ΠΈΠΌΠ΅Π΅Ρ‚ срСдства для Π²Π²ΠΎΠ΄Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π’ языкС Π‘ΠΈ Π½Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°.

Π’Ρ‹Π²ΠΎΠ΄ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ

Ѐункция printf() ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π°. Она ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π² символьноС прСдставлСниС ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ изобраТСния символов Π½Π° экран. ΠŸΡ€ΠΈ этом Ρƒ программиста имССтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π²Π»ΠΈΡΡ‚ΡŒ Π½Π° ΠΈΡ… прСдставлСниС
Π½Π° экранС.

ΠžΠ±Ρ‰Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° записи Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ printf() :

Π‘Ρ‚Ρ€ΠΎΠΊΠ°Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² состоит ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… элСмСнтов:

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ.

Π£ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ символы Π½Π΅ выводятся Π½Π° экран, Π° ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ располоТСниСм Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… символов. ΠžΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ‡Π΅Ρ€Ρ‚ΠΎΠΉ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ символа являСтся Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ слэша β€˜\’ ΠΏΠ΅Ρ€Π΅Π΄ Π½ΠΈΠΌ.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ символы:

Π€ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ Π½ΡƒΠΆΠ½Ρ‹ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π²ΠΈΠ΄, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ информация Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½Π° Π½Π° экран. ΠžΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ‡Π΅Ρ€Ρ‚ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° являСтся Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ символа ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ β€˜%’ ΠΏΠ΅Ρ€Π΅Π΄ Π½ΠΈΠΌ:

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
Как Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ double Π² си

Π’ΠΎΡ‚ ΠΆΠ΅ самый ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСн с использованиСм ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° printf :

Π’Π°Π±Π»ΠΈΡ‡Π½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄

ΠŸΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΌΠΎΠΆΠ½ΠΎ явным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠ±Ρ‰Π΅Π΅ количСство знакомСст ΠΈ количСство знакомСст, Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡ‹Ρ… Π΄Ρ€ΠΎΠ±Π½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ:

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

Как Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ double Π² си

Π’Π²ΠΎΠ΄ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ

Ѐункция Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ… с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ scanf() выполняСт Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…, Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΈΡ… Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ΠŸΡ€ΠΈ этом программист Π·Π°Π΄Π°Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ спСцификаций Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π½ΠΎΠΉ строки.
ΠžΠ±Ρ‰Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° записи Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ scanf( ) :

Π‘Ρ‚Ρ€ΠΎΠΊΠ° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² ΠΈ список Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:
Как Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ double Π² си

Ѐункция scanf( ) являСтся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Π½Π΅Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°, Ρ‚.ΠΊ. появилась ΠΎΠ½Π° Π² Ρ€Π°Π½Π½ΠΈΡ… вСрсиях языка Π‘ΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π΄Π°Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² соврСмСнных компиляторах Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π² Π½Π°Ρ‡Π°Π»ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ строчку

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΊ записи: 96

#include
#include
#include
#include

int main() <
int a[4][5];
int i,j,range,max,maxi,maxj;
float kproiz1,kproiz2;
int proiz1=1;
int proiz2=1;

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΈΡ… Π²Ρ‹Π²ΠΎΠ΄

Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ познакомимся с особСнностями Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ printf() ΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…: Ρ†Π΅Π»Ρ‹ΠΌΠΈ ΠΈ вСщСствСнными числами, символами, массивами ΠΈ строками. Π­Ρ‚ΠΎ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ всС допустимыС Π² C Ρ‚ΠΈΠΏΡ‹. Π•ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, структуры, объСдинСния, пСрСчислСния, Ρ‚Π°ΠΊΠΆΠ΅ Π² C Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ собствСнныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ….

Ѐункция printf() ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄

Π’Ρ‹Π²ΠΎΠ΄ символов Π½Π° экран, Π° Ρ‚ΠΎΡ‡Π½Π΅Π΅ Π² стандартный ΠΏΠΎΡ‚ΠΎΠΊ Π²Ρ‹Π²ΠΎΠ΄Π°, осущСствляСтся Π² языкС C ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ printf(). Π­Ρ‚Π° функция Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° экран строку, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ, ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΠ² Π² Π½Π΅ΠΉ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ символов ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ Π² символы Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ послС ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ строками, символами, Ρ†Π΅Π»Ρ‹ΠΌΠΈ ΠΈΠ»ΠΈ вСщСствСнными числами, Π° Ρ‚Π°ΠΊΠΆΠ΅ указатСлями. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… имССтся своС ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€” своя спСцификация Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°.

На ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠ»ΠΈ строку «Hello World» Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

Однако Ρ‚ΠΎ ΠΆΠ΅ самоС ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊ:

Π—Π΄Π΅ΡΡŒ %s β€” это спСцификация строкового Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°, Ρ‚. Π΅. вмСсто %s Π±ΡƒΠ΄Π΅Ρ‚ подставлСн ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ строкой. Π’Ρ‹Π²ΠΎΠ΄ Ρ†Π΅Π»ΠΎΠ³ΠΎ числа ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

ВмСсто числа 5 ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚ΠΎΡΡ‚ΡŒ пСрСмСнная цСлочислСнного Ρ‚ΠΈΠΏΠ°. Ѐункция printf() ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ΅ число Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²:

ΠŸΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎ очСрСдности слСдования: 3 Π½Π° мСсто ΠΏΠ΅Ρ€Π²ΠΎΠΉ спСцификации, dogs Π½Π° мСсто Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΈ Ρ‚.Π΄. Π’ΠΎ Π΅ΡΡ‚ΡŒ слСдуСт строго ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ соотвСтствиС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ….

Под Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ большС знакомСст, Ρ‡Π΅ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ. Для этого ΠΌΠ΅ΠΆΠ΄Ρƒ Π·Π½Π°ΠΊΠΎΠΌ % ΠΈ Π±ΡƒΠΊΠ²ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° прописываСтся Ρ†Π΅Π»ΠΎΠ΅ число, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ ΡˆΠΈΡ€ΠΈΠ½Ρƒ поля, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊ: %10d. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ происходит ΠΏΠΎ ΠΏΡ€Π°Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ. Для выравнивания ΠΏΠΎ Π»Π΅Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ ΠΏΠ΅Ρ€Π΅Π΄ числом ставится Π·Π½Π°ΠΊ минус.

ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая Π²Ρ‹Π²ΠΎΠ΄ΠΈΠ»Π° Π±Ρ‹ Π½Π° экранС Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅. ΠŸΡ€ΠΈ этом ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‚ΡŒ ΡˆΠΈΡ€ΠΈΠ½Ρƒ поля, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ Π»Π΅Π²ΠΎΠΌΡƒ ΠΈ ΠΏΡ€Π°Π²ΠΎΠΌΡƒ краям.

ЦСлочислСнныС Ρ‚ΠΈΠΏΡ‹

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

Часто Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΈΠΏ int. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π³Π΄Π΅ происходит объявлСниС ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ (присваиваниС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ) цСлочислСнных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹Π²ΠΎΠ΄ ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π½Π° экран:

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π² языкС C ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈ объявлСнии ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠΌ:

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

Π’ΠΎ ΠΆΠ΅ самоС с ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠΎΠΌ int. Если ΠΌΡ‹ Π½Π°Ρ‡Π½Π΅ΠΌ ΠΈΠ· Π½Π΅Π³ΠΎ Π²Ρ‹Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‚. Π΅. Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΎΡ‚ΠΈΠ² часовой стрСлки, Ρ‚ΠΎ пСрСскочим ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Π³Ρ€Π°Π½ΠΈΡ†Ρƒ ΠΈ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΠ΄Ρ‚ΠΈ Π² Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ ΡƒΠΆΠ΅ ΠΎΡ‚ Π½Π΅Π΅:

Помимо Ρ‚ΠΈΠΏΠ° int Π² языкС программирования C ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ (ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅) цСлочислСнныС Ρ‚ΠΈΠΏΡ‹:

short β€” отводится мСньшС Π±Π°ΠΉΡ‚ΠΎΠ², Ρ‡Π΅ΠΌ Π½Π° int;

long β€” отводится большС Π±Π°ΠΉΡ‚ΠΎΠ², Ρ‡Π΅ΠΌ Π½Π° int (Π½Π΅ всСгда, зависит ΠΎΡ‚ систСмы);

unsigned β€” ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΆΠ΅ Π±Π°ΠΉΡ‚ ΠΊΠ°ΠΊ Ρƒ int, Π½ΠΎ Π±Π΅Π· ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… чисСл; Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‡Π΅Π³ΠΎ Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ разряд освобоТдаСтся, ΠΈ количСство ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ увСличиваСтся;

ΠŸΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… чисСл слСдуСт Π΄ΠΎΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π±ΡƒΠΊΠ²ΠΎΠΉ l ΠΏΠ΅Ρ€Π΅Π΄ Π±ΡƒΠΊΠ²ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°. НапримСр:

Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹

Под ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… отводится 1 Π±Π°ΠΉΡ‚ памяти. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ символа Π΅ΡΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Π΅ΠΌΡƒ Ρ†Π΅Π»ΠΎΠ΅ число ΠΏΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ символов ASCII.

Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Ссли пСрСмСнная Π·Π°Π΄Π°Π½Π° ΠΊΠ°ΠΊ int ΠΈΠ»ΠΈ short ΠΈ Π΅ΠΉ присвоСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅, Π³Π΄Π΅ ΠΎΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСно символом, Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ вывСсти ΠΊΠ°ΠΊ символ. БоотвСтствСнно цСлочислСнной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ символ.

Если Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†Π΅Π»Ρ‹Π΅ числа со значСниями Π΄ΠΎ 127 ΠΈΠ»ΠΈ 255 ΠΈ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ, Ρ‚ΠΎ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΊΠ°ΠΊ char ΠΈΠ»ΠΈ unsigned char.

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ символы β€” это числа, Π° числа β€” символы. Π’ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½Π° экранС: символ ΠΈΠ»ΠΈ число? Для Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° экран символов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ спСцификация Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π²ΠΈΠ΄Π° %c.

Π’Π°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, прСдставлСнная Π½ΠΈΠΆΠ΅,

Π²Ρ‹Π΄Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

Число 63 ΠΏΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ символов ASCII соотвСтствуСт Π·Π½Π°ΠΊΡƒ ‘?’. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ch Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ символа, Π·Π°Ρ‚Π΅ΠΌ – числа. Π’ΠΎΠΆΠ΅ самоС с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ uch, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ Π·Π°Π΄Π°Π½ΠΎ Ρ‡Π΅Ρ€Π΅Π· символ, Π° Π½Π΅ число.

ВСщСствСнныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Π’ языкС C сущСствуСт Ρ‚Ρ€ΠΈ Ρ‚ΠΈΠΏΠ° чисСл с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ: float ΠΈ double (Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ точности) ΠΈ long double. Π’Π°ΠΊΠΆΠ΅ сущСствуСт Ρ‚Ρ€ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π²Ρ‹Π²ΠΎΠ΄Π° вСщСствСнных чисСл, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ ΠΎΠ½ΠΈ Π½Π΅ связаны с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ, Π° связаны с удобством прСдставлСния числа. ВСщСствСнныС числа ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ, ΠΎΡ‡Π΅Π½ΡŒ малСнькоС ΠΈΠ»ΠΈ ΠΎΡ‡Π΅Π½ΡŒ большоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Если Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ printf() с Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ:

, Ρ‚ΠΎ Π½Π° экранС ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС (%f) выводится число Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ прСдставлСния числа Ρ€Π°Π²Π½Π° ΡˆΠ΅ΡΡ‚ΠΈ Π·Π½Π°ΠΊΠ°ΠΌ послС Ρ‚ΠΎΡ‡ΠΊΠΈ.

Π§Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ (%e) Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ число ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π² Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅, ΠΊΠ°ΠΊΠΈΠΌ Π±Ρ‹ это вСщСствСнноС число Π½ΠΈ Π±Ρ‹Π»ΠΎ.

Если ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ трСбуСтся ΠΎΠΊΡ€ΡƒΠ³Π»ΠΈΡ‚ΡŒ число Π΄ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ точности, Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ Π±ΡƒΠΊΠ²ΠΎΠΉ-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ ставят Ρ‚ΠΎΡ‡ΠΊΡƒ ΠΈ число-ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ точности. НапримСр, printf(«%.2f», 0.23) Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ Π½Π° экран 0.23, Π° Π½Π΅ 0.230000. Когда трСбуСтся ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΅Ρ‰Π΅ ΠΈ ΠΏΠΎΠ»Π΅, Ρ‚ΠΎ Π΅Π³ΠΎ ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΏΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, %10.3f.

ΠœΠ°ΡΡΠΈΠ²Ρ‹

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, содСрТащиС массивы, Π² языкС программирования C ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Π°ΠΊ:

Если ΠΏΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ количСства элСмСнтов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ константа, ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Π΄ΠΎ своСго использования ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ (Ρ‡Π°Ρ‰Π΅ константы ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ Π²Π½Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ):

На самом Π΄Π΅Π»Π΅ #define являСтся ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ прСпроцСссора, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для опрСдСлСния констант. Когда прСпроцСссор ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ исходный Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΎΠ½ подставляСт Π²ΠΎ всС мСста, Π³Π΄Π΅ Π±Ρ‹Π»Π° упомянута константа, Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Π˜Π½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡ массивов Π² языкС программирования C начинаСтся с нуля.

ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ элСмСнтам массивов ΠΌΠΎΠΆΠ½ΠΎ произвСсти сразу ΠΈΠ»ΠΈ Π² процСссС выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. НапримСр:

Когда пСрСмСнная-массив ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ΡΡ ΠΈ сразу опрСдСляСтся (ΠΊΠ°ΠΊ Π² случаС vowels), Ρ‚ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ массива ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‚. ΠΊ. ΠΎΠ½ вычисляСтся ΠΏΠΎ количСству элСмСнтов, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобках.

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ

Π’ языкС программирования Π‘ Π½Π΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ строкового Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…, хотя Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π²Ρ‹Π²ΠΎΠ΄Π° строки Π΅ΡΡ‚ΡŒ (%s). Π‘Ρ‚Ρ€ΠΎΠΊΠΈ Π² C – это массивы символов, послСдний элСмСнт ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… являСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ (с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ 0) символом Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ASCII. Π’ этом мСстС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ стоит «Π½ΠΈΡ‡Ρ‚ΠΎ», ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π΅ символьноС ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ‘\0’.

Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, строки β€” это Π½Π΅ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ массивы Π² Ρ‚ΠΎΠΌ смыслС, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с Π½ΠΈΠΌΠΈ Π² языкС программирования C нСсколько отличаСтся ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с числовыми массивами. Π’ этом ΠΌΡ‹ убСдимся ΠΏΠΎΠ·ΠΆΠ΅.

Π’Ρ‹ΡˆΠ΅ ΠΌΡ‹ объявили ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈ массив vowels. Если Π±Ρ‹ ΠΌΡ‹ Π΅Π³ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈ Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

Ρ‚ΠΎ ΠΎΠ½ Π±Ρ‹Π» Π±Ρ‹ строкой. Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ случаС сами Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ «Π³ΠΎΠ²ΠΎΡ€ΡΡ‚» Ρ‡Ρ‚ΠΎ это строка, ΠΈ символ окончания строки ‘\0’ записываСтся Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΎΠΌ.

ΠœΠ°ΡΡΠΈΠ²Ρ‹ символов ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° экран, просто ΡƒΠΊΠ°Π·Π°Π² имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π° Π²ΠΎΡ‚ с массивами чисСл Ρ‚Π°ΠΊΠΎΠΉ Π½ΠΎΠΌΠ΅Ρ€ Π½Π΅ ΠΏΡ€ΠΎΠΉΠ΄Π΅Ρ‚:

Ѐункция sizeof()

Ѐункция sizeof() языка C ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° константу, Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство Π±Π°ΠΉΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚Π²Π΅Π΄Π΅Π½ΠΎ ΠΏΠΎΠ΄ этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² памяти.

ΠŸΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ Π½Π° экран значСния, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ sizeof() ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ %lu (Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ Π±Π΅Π· Π·Π½Π°ΠΊΠ°). ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:

ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π²Ρ‹Π²ΠΎΠ΄ΡΡ‰ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ количСствС Π±Π°ΠΉΡ‚ΠΎΠ², ΠΎΡ‚Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π² памяти ΠΏΠΎΠ΄ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ ΠΈΠ·ΡƒΡ‡Π΅Π½Ρ‹ Π½Π° Π΄Π°Π½Π½ΠΎΠΌ ΡƒΡ€ΠΎΠΊΠ΅. ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с массивами символов, опрСдСляСмыми ΠΊΠ°ΠΊ строковыС Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ (Π² Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ…), ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ массива большС Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ, Ρ‡Π΅ΠΌ количСство Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… символов.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π²Π²ΠΎΠ΄ ΠΈ Π²Ρ‹Π²ΠΎΠ΄

Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄

БСгодня ΠΌΡ‹ рассмотрим Π΄Π²Π΅ Π²Π°ΠΆΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π°. Устройство ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρƒ этих Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС изучСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ с указатСлями ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ числом ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². Но ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ этими функциями Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΆΠ΅ сСйчас, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ придётся ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ.

Ѐункция ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎ строкС ΠΈ замСняСт ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ % Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, Π²Ρ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ % Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΠΈ Ρ‚.Π΄. Π”Π°Π»Π΅Π΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ просто Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ список Ρ„Π»Π°Π³ΠΎΠ² ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования.

ΠžΠ±Ρ‰ΠΈΠΉ синтаксис спСцификатора Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°
%[Ρ„Π»Π°Π³ΠΈ][ΡˆΠΈΡ€ΠΈΠ½Π°][.Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ][Π΄Π»ΠΈΠ½Π°]спСцификатор
Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ – это самый Π²Π°ΠΆΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚. Он опрСдСляСт Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ способ Π΅Ρ‘ Π²Ρ‹Π²ΠΎΠ΄Π°.

Π’Π°Π±. 1 Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ‚ΠΈΠΏΠ°.

Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π§Ρ‚ΠΎ Ρ…ΠΎΡ‚ΠΈΠΌ Π²Ρ‹Π²Π΅ΡΡ‚ΠΈΠŸΡ€ΠΈΠΌΠ΅Ρ€
d ΠΈΠ»ΠΈ iΠ¦Π΅Π»ΠΎΠ΅ со Π·Π½Π°ΠΊΠΎΠΌ Π² Π² дСсятичном Π²ΠΈΠ΄Π΅392
uΠ¦Π΅Π»ΠΎΠ΅ Π±Π΅Π· Π·Π½Π°ΠΊΠ° Π² дСсятичном Π²ΠΈΠ΄Π΅7235
oΠ‘Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ΅ Π² Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅657
xΠ‘Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ Π² ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅7fa
XΠ‘Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ Π² ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅, Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ рСгистр7FA
f ΠΈΠ»ΠΈ FЧисло с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ3.4563745
eΠ­ΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° для числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ3.1234e+3
EΠ­ΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° для числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ, Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ рСгистр3.1234E+3
gΠšΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅Π΅ ΠΈΠ· прСдставлСний Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² f ΠΈ e3.12
GΠšΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅Π΅ ΠΈΠ· прСдставлСний Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² F ΠΈ E3.12
aШСстнадцатСричноС прСдставлСниС числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ-0xc.90fep-2
AШСстнадцатСричноС прСдставлСниС числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ, Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ рСгистр-0xc.90FEP-2
cΠ‘ΡƒΠΊΠ²Π°a
sΠ‘Ρ‚Ρ€ΠΎΠΊΠ° (Π½ΡƒΠ»ΡŒ-Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ массив Π±ΡƒΠΊΠ²)Hello World
pАдрСс указатСляb8000000
nНичСго Π½Π΅ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚. АргумСнтом Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° signed int. По этому адрСсу Π±ΡƒΠ΄Π΅Ρ‚ сохранСно количСство Π±ΡƒΠΊΠ², ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±Ρ‹Π»ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ Π΄ΠΎ встрСчи %n
%Π”Π²Π° ΠΈΠ΄ΡƒΡ‰ΠΈΡ… Π΄Ρ€ΡƒΠ³ Π·Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π° выводят Π·Π½Π°ΠΊ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π°%

Π‘ΡƒΠ±-спСцификатор Π΄Π»ΠΈΠ½Ρ‹ измСняСт Π΄Π»ΠΈΠ½Ρƒ Ρ‚ΠΈΠΏΠ°. Π’ случаС, Ссли Π΄Π»ΠΈΠ½Π° Π½Π΅ совпадаСт с Ρ‚ΠΈΠΏΠΎΠΌ, ΠΏΠΎ возмоТности происходит ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΎ Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°.

Π’Π°Π±. 5 Π”Π»ΠΈΠ½Π°.

спСцификаторы
Π”Π»ΠΈΠ½Π°d, iu o x Xf F e E g G a Acspn
(none)intunsigned intdoubleintchar*void*int*
hhsigned charunsigned charsigned char*
hshort intunsigned short intshort int*
llong intunsigned long intwint_twchar_t*long int*
lllong long intunsigned long long intlong long int*
jintmax_tuintmax_tintmax_t*
zsize_tsize_tsize_t*
tptrdiff_tptrdiff_tptrdiff_t*
Llong double

Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π²Π²ΠΎΠ΄

Как ΠΈ Π² printf, ΡˆΠΈΡ€ΠΈΠ½Π°, заданная символом * ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Ρ‚ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ ΡˆΠΈΡ€ΠΈΠ½Ρƒ. Π€Π»Π°Π³ Π΄Π»ΠΈΠ½Π° совпадаСт с Ρ‚Π°ΠΊΠΈΠΌ Ρ„Π»Π°Π³ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ printf.

ΠšΡ€ΠΎΠΌΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ scanf ΠΈ printf Π΅ΡΡ‚ΡŒ Π΅Ρ‰Ρ‘ ряд Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅

Π­Ρ‚ΠΎ Π½Π΅ ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ символьного Π²Π²ΠΎΠ΄Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π°. Π’Π°ΠΊΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΌΠΎΡ€Π΅, Π½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· Π½ΠΈΡ… нСбСзопасны, поэтому ΠΏΠ΅Ρ€Π΅Π΄ использованиСм Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ.

НСпСчатныС символы

Π’ си ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½ ряд символов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ выводятся Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ, Π½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄Π°. Π­Ρ‚ΠΈ символы ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ числСнных Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π»ΠΈΠ±ΠΎ Π² Π²ΠΈΠ΄Π΅ эскСйп-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ: символа, экранированного ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΌ слСшСм.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

printf()

Π’ΠΎΡ‚ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ printf() :

Ѐункция printf() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ число Π²Ρ‹Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… символов ΠΈΠ»ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² случаС ошибки.

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ спСцификатору прСобразования ( %c ), соотвСтствуСт символ ‘C’, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ ( %s ), β€” строка «ΠΈ ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ ΠΎΡ‡Π΅Π½ΡŒ сильно!».

Π’Π°Π±Π»ΠΈΡ†Π° 8.2. Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ прСобразования для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ printf()
ΠšΠΎΠ΄Π€ΠΎΡ€ΠΌΠ°Ρ‚
%aШСстнадцатСричноС Π² Π²ΠΈΠ΄Π΅ 0xh.hhhhp+d (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π‘99)
%AШСстнадцатСричноС Π² Π²ΠΈΠ΄Π΅ 0Xh.hhhhP+d (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π‘99)
%cΠ‘ΠΈΠΌΠ²ΠΎΠ»
%dДСсятичноС Ρ†Π΅Π»ΠΎΠ΅ со Π·Π½Π°ΠΊΠΎΠΌ
%iДСсятичноС Ρ†Π΅Π»ΠΎΠ΅ со Π·Π½Π°ΠΊΠΎΠΌ
%eΠ­ΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ прСдставлСниС (‘Π΅’ Π½Π° Π½ΠΈΠΆΠ½Π΅ΠΌ рСгистрС)
%EΠ­ΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ прСдставлСниС (‘Π•’ Π½Π° Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ рСгистрС)
%fДСсятичноС с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ
%gΠ’ зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ Π²Ρ‹Π²ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠΎΡ€ΠΎΡ‡Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ %Π΅ ΠΈΠ»ΠΈ %f
%GΠ’ зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ Π²Ρ‹Π²ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠΎΡ€ΠΎΡ‡Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ %Π• ΠΈΠ»ΠΈ %F
%oΠ’ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½ΠΎΠ΅ Π±Π΅Π· Π·Π½Π°ΠΊΠ°
%sΠ‘Ρ‚Ρ€ΠΎΠΊΠ° символов
%uДСсятичноС Ρ†Π΅Π»ΠΎΠ΅ Π±Π΅Π· Π·Π½Π°ΠΊΠ°
%xШСстнадцатСричноС Π±Π΅Π· Π·Π½Π°ΠΊΠ° (Π±ΡƒΠΊΠ²Ρ‹ Π½Π° Π½ΠΈΠΆΠ½Π΅ΠΌ рСгистрС)
%XШСстнадцатСричноС Π±Π΅Π· Π·Π½Π°ΠΊΠ° (Π±ΡƒΠΊΠ²Ρ‹ Π½Π° Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ рСгистрС)
%pΠ’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ
%nАргумСнт, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ этому спСцификатору, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ Π½Π° Ρ†Π΅Π»ΠΎΡ‡ΠΈΡΠ»Π΅Π½Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ. Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ позволяСт ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ количСство записанных символов (записанных Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ мСста, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находится ΠΊΠΎΠ΄ %n )
%%Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π·Π½Π°ΠΊ %

Π’Ρ‹Π²ΠΎΠ΄ символов


Π’Ρ‹Π²ΠΎΠ΄ чисСл

Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ прСобразования %e ΠΈ %E Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ printf() ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Ρ‚ΠΈΠΏΠ° double Π² ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ Π²ΠΈΠ΄Π΅ числа Π² Ρ‚Π°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ выглядят ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ спСцификатора прСобразования %g ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅:

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния получится ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π»Π° эта ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°:

ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ адрСса


Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ прСобразования %n


ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°


ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ минимальной ΡˆΠΈΡ€ΠΈΠ½Ρ‹ поля

Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ выводится ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ минимальной ΡˆΠΈΡ€ΠΈΠ½Ρ‹ поля Ρ‡Π°Ρ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ создании Ρ‚Π°Π±Π»ΠΈΡ†, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… столбцы Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Ρ‹ ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ. НапримСр, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠ² ΠΈ ΠΊΡƒΠ±ΠΎΠ² чисСл ΠΎΡ‚ 1 Π΄ΠΎ 19: А Π²ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ с Π΅Π΅ помошью Π²Ρ‹Π²ΠΎΠ΄Π°:

ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ точности

ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ точности слСдуСт Π·Π° ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ минимальной ΡˆΠΈΡ€ΠΈΠ½Ρ‹ поля (Ссли Ρ‚Π°ΠΊΠΎΠ²ΠΎΠΉ имССтся). Он состоит ΠΈΠ· Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΈ располоТСнного Π·Π° Π½Π΅ΠΉ Ρ†Π΅Π»ΠΎΠ³ΠΎ числа. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этого ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° зависит ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚.

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΉ ΠΊ строкам, ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ точности опрСдСляСт ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ поля. НапримСр, %5.7s ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΄Π»ΠΈΠ½Π° Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΠΎΠΉ строки Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΏΡΡ‚ΡŒ ΠΈ максимум сСмь символов. Если строка окаТСтся Π΄Π»ΠΈΠ½Π½Π΅Π΅, Ρ‡Π΅ΠΌ максимальная Π΄Π»ΠΈΠ½Π° поля, Ρ‚ΠΎ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Π΅ символы Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚.

Если ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ точности примСняСтся ΠΊ Ρ†Π΅Π»Ρ‹ΠΌ Ρ‚ΠΈΠΏΠ°ΠΌ, Ρ‚ΠΎ ΠΎΠ½ опрСдСляСт минимальноС количСство Ρ†ΠΈΡ„Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½Ρ‹ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· чисСл. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ΅ количСство Ρ†ΠΈΡ„Ρ€, добавляСтся Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ количСство Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… Π½ΡƒΠ»Π΅ΠΉ.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ точности:

Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ выводится ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

Π’Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄Π°

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ примСняСтся Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ Π»Π΅Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ:

И Π²ΠΎΡ‚ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ:

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ²

На Π·Π°ΠΌΠ΅Ρ‚ΠΊΡƒΠ’ составС Π‘99 ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Ρ‚ΠΈΠΏΠ° для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ printf() ; ΠΎ Π½ΠΈΡ… рассказываСтся Π² части II.

ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ * ΠΈ #

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±ΠΎΠΈΡ… ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² # ΠΈ * :

Рис. 8.1. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠ΅ (*) ставится Π² соотвСтствиС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

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

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