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

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

Автор M. УЭИВ

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

/* ΠΏΠΈΡ†Ρ†Π° */

#define PI  3,14159

main( ) /* ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ вашСй ΠΏΠΈΡ†Ρ†Ρ‹ */

{

float area, circum, radius;

printf("Π§Π΅ΠΌy Ρ€Π°Π²Π΅Π½ радиус вашСй ΠΏΠΈΡ†Ρ†Ρ‹? \n");

scanf("%f", &radius);

area = PI * radius * radius;

printf(" ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ вашСй ΠΏΠΈΡ†Ρ†Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ \n");

printf(" Π΄Π»ΠΈΠ½Π° окруТности = %1.2f, ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ =%1.2f \n circum, area);

}

 


                                               РИБ.4.5. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ прСпроцСссором

     Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ спСцификации %1.2f Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ printf( ) ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½Ρ‹ Π΄ΠΎ Π΄Π²ΡƒΡ… дСсятичных Ρ†ΠΈΡ„Ρ€. ΠœΡ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ρ‡Ρ‚ΠΎ написанная Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈ Π½Π΅ ΠΎΡ‚Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ваши собствСнныС вкусы, ΠΊΠ°ΡΠ°ΡŽΡ‰ΠΈΠ΅ΡΡ ΠΏΠΈΡ†Ρ†Ρ‹, Π½ΠΎ Π²ΠΎ мноТСствС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, посвящСнных этому вопросу, ΠΎΠ½Π° Π·Π°ΠΉΠΌΠ΅Ρ‚ своС скромноС мСсто. Π’ΠΎΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Π΅Π΅ выполнСния:

Π§Π΅ΠΌΡƒ Ρ€Π°Π²Π΅Π½ радиус вашСй ΠΏΠΈΡ†Ρ†Ρ‹? 6.0

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ вашСй ΠΏΠΈΡ†Ρ†Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅: Π΄Π»ΠΈΠ½Π° окруТности = 37.70,

ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ окруТности = 113.40.

     Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρƒ #define ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для опрСдСлСния ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΈ строковых констант. НСобходимо ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π½Π°ΠΊ "апостроф" Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС ΠΈ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ - Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π½ΠΈΠΆΠ΅, Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΡ€Π°Π²ΠΎΠΌΠ΅Ρ€Π½Ρ‹

#define Π’Π•Π•Π   '\007'

#define ESS 'S'

#deline NULL '\0'

#define OOPS  "Ну Π²ΠΎΡ‚, Π²Ρ‹ ΠΈ сдСлали это!"

     Π Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΎΠ±Ρ€Π°Π΄ΠΎΠ²Π°Ρ‚ΡŒ лСнтяСв. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ Ρ†Π΅Π»Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Π½Π°Π±ΠΎΡ€ констант. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ произвСсти ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:

     1. Π‘ΠΎΠ±Π΅Ρ€ΠΈΡ‚Π΅ всС ваши Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ #define Π² ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ» ΠΈ Π½Π°Π·ΠΎΠ²ΠΈΡ‚Π΅ Π΅Π³ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, const.h.

     2. Π’ Π½Π°Ρ‡Π°Π»ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, содСрТащСго ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρƒ #include "const.h."

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

Π―Π·Ρ‹ΠΊ Π‘ΠΈ - искусный фокусник: созданиС псСвдоимСн

     Π’озмоТности Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ #define Π½Π΅ ΠΈΡΡ‡Π΅Ρ€ΠΏΡ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ символичСским прСдставлСниСм констант. Рассмотрим, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, cΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ:

#include "alias. h"

program begin

whole yours, mine then

spitout(" Π’Π²Π΅Π΄ΠΈΡ‚Π΅, поТалуйста, Ρ†Π΅Π»ΠΎΠ΅ число.\n" )

then takem(" %d", & yours)

then mine = yours times TWO then

spitout(" %d Π² Π΄Π²Π° Ρ€Π°Π·Π° большС вашСго числа! \n" , mine) then end

     Π‘Ρ‚Ρ€Π°Π½Π½ΠΎ, тСкст Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ смутно Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚, язык Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° Паскаль, Π½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° Π‘ΠΈ-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Π‘Π΅ΠΊΡ€Π΅Ρ‚ Π»Π΅ΠΆΠΈΡ‚, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π² Ρ„Π°ΠΉΠ»Π΅ с ΠΈΠΌΠ΅Π½Π΅ΠΌ alias.h. Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΌ содСрТится?

alias. h #define program main( )

#define degin { #define enf  } #define then;

#define takein   scanf

#define spilout   printf

#define TWO  2

#define times   *

#define whole int

     Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ прСпроцСссор. Он просматриваСт Π²Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ поиск элСмСнтов, опрСдСляСмых Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π°ΠΌΠΈ #define. ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ² Ρ‚Π°ΠΊΠΈΠ΅ элСмСнты, ΠΎΠ½ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ замСняСт ΠΈΡ…. Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²ΠΎ врСмя компиляции всС слова then Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ символами "Ρ‚ΠΎΡ‡ΠΊΠ° с запятой", end - } ΠΈ Ρ‚.Π΄. Π Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Π° Ρ‚ΠΎΠΉ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ, Ссли Π±Ρ‹ с самого Π½Π°Ρ‡Π°Π»Π° писали Π΅Π΅ Π² ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… языка Π‘ΠΈ.

     Π­Ρ‚Ρƒ ΠΌΠΎΡ‰Π½ΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ языка ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для задания ΠΌΠ°ΠΊΡ€ΠΎΠΊΠΎΠΌΠ°Π½Π΄, ΡΠ²Π»ΡΡŽΡ‰ΠΈΡ…ΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… срСдств программирования. ΠœΡ‹ вСрнСмся ΠΊ ΠΎΠ±ΡΡƒΠΆΠ΄Π΅Π½ΠΈΡŽ этой Ρ‚Π΅ΠΌΡ‹ Π² Π³Π». 11.

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

#define MN "ΠΌΠΈΠ½ΠΈΠΌΠΈΡ„ΠΈΠ΄ΠΈΠ°Π½ΠΈΠ·ΠΌ"

printf(" OΠ½ Π³Π»ΡƒΠ±ΠΎΠΊΠΎ Π²Π΅Ρ€ΠΈΠ» Π² MN.\n");

РаспСчатка Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

OΠ½ Π³Π»ΡƒΠ±ΠΎΠΊΠΎ Π²Π΅Ρ€ΠΈΠ» Π² MN.

Однако послС выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°

printf(" Он Π³Π»ΡƒΠ±ΠΎΠΊΠΎ Π²Π΅Ρ€ΠΈΠ» Π² %s.\n" , MN);

ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

Он Π³Π»ΡƒΠ±ΠΎΠΊΠΎ Π²Π΅Ρ€ΠΈΠ» Π² ΠΌΠΈΠ½ΠΈΠΌΠΈΡ„ΠΈΠ΄ΠΈΠ°Π½ΠΈΠ·ΠΌ.

     Π’ послСднСм случаС константа с ΠΈΠΌΠ΅Π½Π΅ΠΌ MN Π½Π°Ρ…ΠΎΠ΄ΠΈΠ»Π°ΡΡŒ Π²Π½Π΅ ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ ΠΈ поэтому Π±Ρ‹Π»Π° Π·Π°ΠΌΠ΅Π½Π΅Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ.

Π˜Π—Π£Π§Π•ΠΠ˜Π• И Π˜Π‘ΠŸΠžΠ›Π¬Π—ΠžΠ’ΠΠΠ˜Π• Π€Π£ΠΠšΠ¦Π˜Π™ printf( ) И scanf( )

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

     ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ printf() ΠΈ scanf() "Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚" Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ - каТдая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ "ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΡƒΡŽ строку" ΠΈ список "Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²". Π‘Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ рассмотрим Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ printf(), Π·Π°Ρ‚Π΅ΠΌ scanf( ).

     Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ printf( ), ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ "просим" Π΅Π΅ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, зависят ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° эта пСрСмСнная. НапримСр, ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ Ρ†Π΅Π»ΠΎΠ³ΠΎ числа примСняСтся Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ %d, Π° ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ символа - %с. НиТС пСрСчислСны всС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΈ обращСниях ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ printf(), Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ. ΠšΠ°ΠΆΠ΄ΠΎΠΌΡƒ Ρ„ΠΎΡ€ΠΌΠ° Ρ‚Ρƒ соотвСтствуСт Ρ‚ΠΈΠΏ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΠΎΠΉ (с ΠΈΡ… ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ) ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΏΡΡ‚ΡŒ ΠΏΠΎΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΡ… потрСбностСй, Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ достаточно Ρ€Π΅Π΄ΠΊΠΎ.

Π€ΠΎΡ€ΠΌΠ°Ρ‚ Π’ΠΈΠΏ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ %d ДСсятичноС Ρ†Π΅Π»ΠΎΠ΅ число %с Один символ %s Π‘Ρ‚Ρ€ΠΎΠΊΠ° символов %Π΅ Число с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ, ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ запись %f Число с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ, дСсятичная запись %g Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ вмСсто записСй %f ΠΈΠ»ΠΈ %Π΅, Ссли ΠΎΠ½ ΠΊΠΎΡ€ΠΎΡ‡Π΅ %u ДСсятичноС Ρ†Π΅Π»ΠΎΠ΅ число Π±Π΅Π· Π·Π½Π°ΠΊΠ° %ΠΎ Π’ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число Π±Π΅Π· Π·Π½Π°ΠΊΠ° %x ШСстнадцатСричноС Ρ†Π΅Π»ΠΎΠ΅ число Π±Π΅Π· Π·Π½Π°ΠΊΠ°

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠ°ΠΊ эти Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ.

ИспользованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ printf( )

     ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽ обсуТдаСмыС вопросы:

/* ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ Ρ‡Π΅ΠΏΡƒΡ…ΠΈ*/

#define PI  3.14159

main( )

      number = 5;

      float ouzo =13,5;

      int cost = 31000;

      printf("%d ΠΆΠ΅Π½Ρ‰ΠΈΠ½ Π²Ρ‹ΠΏΠΈΠ»ΠΈ %f стаканов Π»ΠΈΠΊΠ΅Ρ€Π°. \n",

               number, ouzo);

      printf(" Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ числа pi Ρ€Π°Π²Π½ΠΎ %f \n", PI);

      printf(" ΠŸΡ€ΠΎΡ‰Π°ΠΉ! Π’Π²ΠΎΠ΅ искусство слишком Π΄ΠΎΡ€ΠΎΠ³ΠΎ для мСня \n");

     printf(" %c%d\n", '$', cost);

}

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выглядит Ρ‚Π°ΠΊ:

5 ΠΆΠ΅Π½Ρ‰ΠΈΠ½ Π²Ρ‹ΠΏΠΈΠ»ΠΈ 13,50000 стаканов Π»ΠΈΠΊΠ΅Ρ€Π°.

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ числа pi Ρ€Π°Π²Π½ΠΎ 3,14159.

ΠŸΡ€ΠΎΡ‰Π°ΠΉ! Π’Π²ΠΎΠ΅ искусство слишком Π΄ΠΎΡ€ΠΎΠ³ΠΎ для мСня.

$31000

Π€ΠΎΡ€ΠΌΠ°Ρ‚, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ printf( ), выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Ρ€rintf(Π£ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π°Ρ строка, Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚1,  Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚2, ...,);

АргумСнт1, АргумСнт2 ΠΈ Ρ‚. Π΄. - это ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌΡ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ, константами ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ выраТСниями, вычисляСмыми Π²Π½Π°Ρ‡Π°Π»Π΅, ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ.

Π£ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π°Ρ строка - строка символов, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π°Ρ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½Ρ‹ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹. НапримСр, Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅: