Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
Топ:
Оснащения врачебно-сестринской бригады.
Комплексной системы оценки состояния охраны труда на производственном объекте (КСОТ-П): Цели и задачи Комплексной системы оценки состояния охраны труда и определению факторов рисков по охране труда...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов...
Интересное:
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Дисциплины:
2017-09-28 | 251 |
5.00
из
|
Заказать работу |
|
|
Если заранее известно, что некий параметр не будет менять значение в процессе выполнения программы, зачем создавать лишние сложности и вводить константу? Почему нельзя вставить его прямо в текст соответствующей инструкции? Например, если программа начинается с директивы
#define PHONE "555-1234"то, чтобы вывести номер телефона на дисплей, надо написать следующую инструкцию:
puts(PHONE);Но так как известно, что номер не будет меняться в процессе выполнения программы, то можно было с тем же результатом написать просто
puts("555-1234");
Рис. 3.8. Использование констант позволяет легко вносить изменения в программу
и не тратить время на введение в текст директивы #define и определение имени константы.
Однако использование констант позволяет легче вносить изменения в программу. Предположим для примера, что программа 20 раз использует ваш номер телефона. Может случиться так, что номер изменится, и тогда, если вы не использовали константу, вам придется редактировать 20 функций puts(). Если же вы по ошибке отредактируете только 19 функций puts(), это приведет к тому, что в одном случае будет использован неправильный номер. Введение константы позволит ограничиться изменением только одного места программы, а именно, потребуется вставить новый номер телефона в директиву #define. Как показано на рис.3.8, все функции puts() будут исправлены автоматически.
Все сказанное выше справедливо и для числовых констант. Вместо использования директивы
#define TAX 0.06и выполнения вычислений с использованием константы TAX, можно было бы ввести значение 0.06 прямо в формулу. Но, допустим, размер налога в вашем штате изменится с 6 до 6.5 процентов, тогда, если вы не использовали константу, вам придется исправлять эту цифру везде, где она встречается, вместо того, чтобы ограничиться простым изменением директивы #define*.
|
_________________
* Помимо перечисленных преимуществ, константы дают возможность символьного представления трудных для запоминания числовых величин, а в некоторых случаях сокращают исходный текст (и, как следствие, ускоряют его ввод), если заменить часто встречаемую фразу, например стандартное сообщение, более коротким именем. (Прим.перев.)
Определение переменных
Определить переменную — это значит сообщить ее имя и тип компилятору Си, причем, в отличие от определения константы, задание переменной требует явного указания типа присваиваемых переменной значений. В общем виде синтаксис определения переменной выглядит так:
type name;количество пробелов между типом и именем переменной может быть произвольным, но обязательно наличие, по меньшей мере, одного. Типичное определение переменной выглядит следующим образом:
main()
Рис. 3.9. Определение переменной
Внутри функции main() создается целочисленная переменная int и переменная с плавающей точкой, которая называется tax_rate (рис.3.9).
Если вы хотите ввести несколько переменных одного типа, их можно определить в одной инструкции, разделяя имена переменных запятой и обозначив конец определения точкой с запятой:
main() { int count, children, year; float tax_rate, discount; }В этих инструкциях мы определили пять переменных: три целочисленных и две с плавающей точкой. Определять переменные следует внутри функции main() сразу после открывающей фигурной скобки и перед другими инструкциями. Переменную можно также определить перед main():
int count; main(){.....}В простой программе переменную можно определить и так и так, но когда программа состоит из нескольких множественных функций, правила языка Си точно устанавливают место определения переменных (более подробно этот вопрос обсуждается в главе 7).
Присваивание значения
Некоторые переменные могут иметь начальное значение, то есть значение, которое переменная принимает при запуске программы, но которое, в отличие от значения константы, будет изменяться в процессе выполнения. Начальное значение может быть присвоено либо при определении переменной, либо оформлено в виде отдельной инструкции.
|
Числовым или символьным переменным (определение строк мы обсудим позже) значение может присваиваться при их определении:
main() { int count = 5; char initial = 'A'; float rate = 0.55; }В этих инструкциях мы определили целочисленную переменную count и присвоили ей начальное значение 5. Далее мы определили символьную переменную initial, присвоив ей букву 'А' в качестве начального значения, и переменную типа float с именем rate и начальным значением 0.55. Значение символьной переменной должно быть заключено в одинарные кавычки, а число с плавающей точкой должно иметь хотя бы по одному знаку слева и справа от точки.
Если переменная определена, можно присваивать ей значение в отдельной инструкции, используя оператор присваивания (=):
count = 5; initial = 'A'; rate = 0.55;Присвоенное значение является начальным и может изменяться в процессе выполнения программы, иначе переменная не была бы переменной.
Если начальное значение переменной не известно заранее, то после начала выполнения программы оно может быть введено с клавиатуры, из дискового файла или получено в результате определенных вычислений. Со всеми этими способами вы познакомитесь чуть позже.
|
|
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!