Язык Си - [11]

Шрифт
Интервал

     Теперь, так же как прежде, пришло время рассмотреть какую-нибудь простую программу. Возможно, вы обнаружите в ней какие-то непонятные места. Мы постараемся разъяснить их вам при последующем обсуждении в данной главе. Общий смысл про граммы должен быть достаточно понятен, поэтому попробуйте осуществить компиляцию и выполнить эту программу[1] . Для экономии времени можете опустить комментарии при вводе программы в машину. (Замечание: мы включили имя программы в ее соcтав как комментарий, в дальнейшем, приводя программы, будем придерживаться этого правила ).

/*Ваш золотой эквивалент*/

/*определение стоимости количества золота, равного вашему весу*/

main( )

{

    float weight, value, /* 2 переменные с плавающей точкой */

    char beep;           /* символьная переменная */

    beep = ' /007' ;     /* присваивание специального символа  переменной beep */

    printf(" Стоите ли вы своего веса в золотом эквиваленте? \n");

    printf(" Укажите, пожалуйста, свой вес в фунтах и узнаете \n");

    scanf("%f ",  &weight;);  /* получение данных */

    value= 400.0 *weight*14,5833; /* предполагаемая цена золота -

                                    400 долл за тройскую унцию */

     /* коэффициент 14,5833 служит для перевода в тройские унции */

    printf(" %c Стоимость вашего веса в золотом эквиваленте

                                $%2,2 f%c.\n",  beep, value, beep);

    printf("Bы несомненно стоите столько' Если цена золота упадет,");

    printf(" ешьте больше, \n чтобы сохранить свою стоимость \n");

}

     При вводе этой программы в компьютер вы можете захотеть заменить число 400.00 величиной текущей цены золота. Мы надеемся, однако, что вы не будете пускаться на обман, заменяя число 14,5 833, равное числу унций в фунте (Речь идет об унциях в тройской системе мер, применяемой при взвешивании благородных металлов, и фунтах в обычной системе мер, используемой при взвешивании всего остального). Заметим, что слова "укажите свой вес" означают, что необходимо набрать на клавиатуре число, выражающее вес, и нажать клавишу "ввод" или "возврат" (Не надо только вставать на клавиатуру!) Нажав эту клавишу, вы тем самым сообщаете компьютеру, что вы уже закончили ввод.

     Данная программа имеет также некоторую незаметную на первый взгляд особенность. Чтобы обнаружить ее и понять, в чем дело, вы должны сами запустить эту программу; имя одной из переменных служит довольно недвусмысленным намеком.

Что нового содержится в этой программе?

     1. По-видимому, вы уже заметили, что мы ввели описание двух новых типов переменных. До этого мы использовали только целые переменные, а теперь добавили переменные с плавающей точкой и символьные переменные, так что теперь мы можем обрабатывать данные более общего вида.

     2. Мы использовали в программе несколько новых способов задания констант. Теперь мы умеем вводить в программу числа с десятичной точкой и знакомы с довольно специфическим способом представления значения символьной переменной beep.

     3. Для вывода на печать этих переменных нового типа в операторе printf( ) мы использовали спецификации %f и , соответствующие переменной с плавающей точкой и символьной переменной. Модификаторы в спецификации %f применяются для улучшения вида результата на экране дисплея.

     4. Возможно, самой существенной новой особенностью является то, что эта программа "диалоговая". Компьютер запрашивает у вас информацию, а затем использует число, которое вы ввели. Работать с диалоговой программой гораздо интереснее, чем с программами недиалогового типа, которые мы использовали до этого. Более важным является еще и то, что такой подход позволяет нам создавать более гибкие программы. Например, нашу программу можно использовать при задании любого веса (конечно, в разумных пределах), а не только веса в 175 фунтов. Нам не нужно переписывать программу всякий раз, когда мы захотим обработать вес еще одного человека. Функции scanf( ) и printf( ) делают это вполне возможным. Функция scanf( ) читает данные, набираемые на пульте дисплея, и вводит их в программу. В гл. 2 мы уже видели, что функция printf( ) читает данные из программы и выводит их на экран. Вместе эти две функции позволяют установить двустороннюю связь с вашей программой, что делает общение с компьютером гораздо более приятным.

     В данной главе мы рассмотрим два первых пункта - переменные и константы различных типов данных. Оставшиеся два пункта мы обсудим в следующей главе, но функции scanf( ) и printf( ) будем использовать по-прежнему.

ДАННЫЕ: ПЕРЕМЕННЫЕ И КОНСТАНТЫ

Компьютер, выполняя программу, может заниматься разнообразной деятельностью. Он может складывать числа, сортировать имена, заниматься распознаванием речи и изображения на экране видеодисплея, вычислять орбиты комет, подготавливать список почтовых адресов абонентов, чертить фигуры, делать логические выводы или что-нибудь еще, что только вы можете себе представить. Чтобы заниматься всем этим, программам необходимо работать с "данными" - числами и символами, т. е. объектами, которые несут в себе информацию, предназначенную для использования. Некоторые данные устанавливаются равными определенным значениям еще до того, как программа начнет выполняться, а после ее запуска сохраняют такие значения неизменными на всем протяжении работы программы. Это "константы". Другие данные могут изменяться, или же им могут быть присвоены значения во время выполнения программы; они называются "переменными". (Мы уже использовали данный термин в предыдущей главе, но формально вы знакомитесь с ним только здесь.) В нашей простой программе


Еще от автора Митчел Уэйт
Язык программирования C [Лекции и упражнения, 6-е изд.]

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Рекомендуем почитать
Pro Git

Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.


Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.


MFC и OpenGL

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Симуляция частичной специализации

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Обработка событий в С++

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Питон — модули, пакеты, классы, экземпляры

Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.