что такое переменная константа
Что такое переменная константа
Константа, переменная — это основополагающие понятия в любом языке программирования. Дадим определения этим понятиям.
Константа — это величина, которая при выполнении программы остаётся неизменной.
Переменная — это ячейка памяти для временного хранения данных. Предполагается, что в процессе выполнения программы значения переменных могут изменяться.
Описание и инициализация переменных
int k; // это переменная целого типа int
double x; // это переменная вещественного типа удвоенной точности
Если имеется несколько переменных одного типа, то допускается их описание через запятую в одном операторе, например:
После описания переменной её можно использовать, но возникает вопрос: а какое значение имеет переменная сразу же после её описания? Ответ таков: в программе на языке C# значение переменной после описания не определено. Такая переменная может использоваться в левой части оператора присваивания, но её нельзя использовать в выражении или в правой части оператора присваивания. Например:
y=z+1; // а так нельзя! Переменная z не определена
Для последнего оператора компилятор языка C# выдаст сообщение об ошибке. Этим свойством ( нельзя использовать переменную, которая не получила ни какого значения ) язык C# выгодно отличается от своих предшественников — языков С и С++.
Инициализация переменных выполняется один раз на этапе компиляции и ни как не сказывается на скорости работы программы.
Задание и использование констант
Выше было дано определение констант. Теперь рассмотрим работу с константами более подробно.
Все константы вне зависимости от типа данных можно подразделить на две категории: именованные константы и константы, которые не имеют собственного имени. Например:
25 — константа целого типа;
3.14 — вещественная константа;
‘A’ — символьная константа.
Все три приведённые здесь константы не имеют имени, они заданы своим внешним представлением и используются в программе непосредственно, например так:
int k=25; // переменная k инициализирована константой — целым числом 25.
В ряде случаев константе удобнее дать имя и использовать её далее по имени. Это делает текст программы более наглядным. Обычно применяется для математических или физических констант.
const double PI=3.14; // здесь PI — константа
BestProg
Переменные и константы
Содержание
Поиск на других ресурсах:
1. Для чего в программе используются константы и переменные?
Константы и переменные есть основными объектами, которые используются в программе. Константы и переменные – это именованные объекты, для которых выделяется память.
Значение константы обязательно устанавливается при ее объявлении в программе.
В отличие от переменной значение константы не может изменяться программно. Если константа уже объявлена, то при попытке присвоить константе какое-нибудь новое значение компилятор выдаст сообщение об ошибке.
Все переменные и константы должны быть объявлены до их применения. Это нужно, чтобы сообщить компилятору о типе данных, который сохраняется в переменной. Если известен тип переменной, то компилятор осуществляет соответствующую компиляцию любого оператора, в котором используется данная переменная.
2. Каким образом в C# объявляется константа? Примеры объявление констант.
Константа объявляется с помощью оператора следующей формы:
const – ключевое слово, которое определяет что именно это есть константа; тип – тип данных, которые сохраняются в константе; имя_константы – имя константы; значение – значение константы, которое есть неизменяемым в программе.
Примеры описания констант.
3. Как в программе объявляется переменная? Примеры объявления переменных.
Переменные объявляются с помощью оператора следующей формы:
где тип – это тип данных, которые сохраняются в переменной; а имя_переменной – это ее имя.
Пример объявления переменной, которая имеет значимый тип.
4. Пример объявления переменной, которая есть структурой.
В языке C# структура относится к типу-значению а не к типу-классу.
5. Пример объявления переменной которая есть перечислением.
6. Как осуществляется инициализация переменной? Примеры инициализации переменных.
Инициализация позволяет задать начальное значение переменной при ее объявлении.
Общая форма инициализации переменной имеет следующий вид:
где тип – это тип данных, которые сохраняются в переменной; имя_переменной – это ее имя; значение – это конкретное значение, которое задается при создании переменной.
Примеры инициализации переменных:
Можно осуществлять инициализацию переменных выборочно. Например:
7. Как в C# реализуется динамическая инициализация переменных?
При динамической инициализации переменной в качестве инициализаторов используются не константы (литералы) а выражения. Эти выражения на момент объявления переменной должны быть действительными.
8. Как в C# описываются неявно типизированные переменные?
Такая переменная называется неявно типизированной.
Общий вид описания неявно типизированной переменной:
var – ключевое слово; имя_переменной – это имя переменной; значение – это конкретное значение, которое задается при создании переменной.
Примеры описания неявно типизированных переменных:
9. Сколько неявно типизированных переменных можно описывать одновременно?
Одновременно можно описывать только одну типизированную переменную.
При следующем описании будет ошибка, так как описаны две переменные:
10. Пример описания неявно типизированной переменной, которая есть перечислением.
11. Что определяет область действия локальной переменной?
Область действия локальной переменной определяется блоком кода. Блок кода начинается с фигурной открытой скобки ‘ < ‘и заканчивается фигурной закрытой скобкой ‘ > ‘.
Область действия определяет видимость имен констант и переменных без дополнительного уточнения. Также область действия определяет время существования локальной переменной.
В C# область действия определяется классом или методом.
Области действия могут быть вложенными. Если создается кодовый блок, тогда создается и вложенная область действия. В этом случае внешняя область действия охватывает внутреннюю область действия. Это означает, что локальные переменные и константы, которые объявлены во внешней области действия, будут доступны во внутренней области действия:
Переменные и константы
Переменные
Любая программа обрабатывает данные (информацию, объекты). Данные, с которыми работает программа, хранятся в памяти компьютера (чаще оперативной). Программа должна знать, где они лежат, каким объемом памяти она располагает, как следует интерпретировать данные (например, как числа или строки). Для обеспечения программе доступа к участкам памяти существует механизм переменных.
Переменные описываются в начале программы и как бы сообщают о том, с какими данными будет работать программа и какой объем памяти они займут. Другими словами, резервируется память. Но это не значит, что в эти ячейки памяти помещаются конкретные значения (данные). На момент резервирования памяти в них может быть что угодно.
В процессе выполнения программы в ячейки памяти будут помещаться конкретные значения, извлекаться оттуда, изменяться, снова записываться. Мы же через программу обращаемся к ним посредством имен переменных, которые были описаны в начале программы.
Имена переменных могут быть почти любым сочетанием английских букв и цифр (без пробелов). Нельзя чтобы имена переменных совпадали со словами, которые являются какими-либо командами самого языка программирования. Нельзя начинать имена переменных с цифры или специального символа. Для того чтобы имена переменных были удобны для восприятия, надо стараться придерживаться пары правил. Если программа не простейший пример, то имена переменных должны быть осмысленными словами или их сокращениями. Желательно, чтобы имена переменных не были слишком длинными.
В Pascal прописные и строчные буквы в именах переменных не различаются.
При описании переменных указывается не только их имя, но и тип. Тип переменных сообщает о том, сколько отвести под них памяти и что за данные там планируется сохранять. Точнее хранится там всегда будут числа в двоичной системе счисления. Но что они значат, может быть чем угодно: целым или дробным числом, символом, строкой, массивом, записью и др. Т.е. тип переменной определяет то, что мы можем сохранить в участке памяти, с которым связана описываемая переменная.
Пример работы программы:
Итак, переменные связаны с участками памяти, содержимое которых может меняется по ходу выполнения программы в определенных пределах.
Длина переменных
Ранние версии компиляторов Паскаля имели ограничение на учитываемую длину имен переменных. В имени учитывались лишь первые восемь символов. Поэтому, например, такие переменные как variable1 и variable2 компилятор воспринимал как одно и тоже, т.к. первые восемь символов совпадали.
В современных версиях компиляторов с языка Pascal таких ограничений нет. Например, в результате работы приведенной ниже программы как в среде Free Pascal, так и Turbo Pascal 7.1 на экран выводятся два разных числа (10 и 20). Это значит, что компиляторы учитывают больше восьми символов в именах переменных (и других идентификаторов: именах констант, процедур и др.).
Константы
Что делать, если в программе требуется постоянно использовать какое-нибудь одно и тоже число. Вроде бы это не проблема. Можно описать переменную, затем присвоить ей значение и не изменять его в программе. Однако это не всегда удобно (можно нечаянно изменить), поэтому в языках программирования для хранения данных помимо переменных существуют константы.
Главное преимущество констант заключается в том, что они описываются в начале программы и им сразу там же присваивается значение, а при выполнении программы константы не изменяются. Но если при правке кода, программист решит поменять значение константы, он впишет в ее описание другое значение, а сам код программы редактировать не придется. Поэтому, если в программе часто планируется использоваться какое-то значение, опишите его в разделе констант, который в программе располагается до раздела переменных:
Значениями констант могут быть данные большинства типов, используемых в языке Паскаль.
Рассмотрим такую программу:
В ней используется константа n со значением 10. Программа считает сумму десяти чисел в диапазоне от 1 до 10. Если нам захочется посчитать сумму чисел до 20, то достаточно будет изменить значение константы в начале программы. Если бы константа не использовалась, то пришлось бы просмотреть весь код программы и исправить значение 10 на 20. Если программа большая, то легко ошибиться: не найти или исправить не то значение.
Типизированные константы
В языке Паскаль помимо обычных констант используются типизированные константы. Можно сказать, что они занимают промежуточное положение между переменными и константами. Они получают значение при описании (как константы), но могут его менять в теле программы (как переменные).
Описываются типизированные константы в разделе констант:
Константы и переменные в языке Си
Константа — это ограниченная последовательность символов алфавита языка, представляющая собой изображение фиксированного (неизменяемого) объекта.
Константы бывают числовые, символьные и строковые. Числовые константы делятся на целочисленные и вещественные.
Целочисленные константы
Целочисленные данные в языке Си могут быть представлены в одной из следующих систем счисления:
Двоичная система представления данных непосредственно в языке Си не поддерживается. Однако можно воспользоваться файлом binary.h, в котором определены двоичные константы в пределах байта.
Пример использования двоичной системы счисления в языке Си:
Результат выполнения
С помощью суффикса U (или u ) можно представить целую константу в виде беззнакового целого.
Вещественные константы
Любая часть (но не обе сразу) из нижеследующих пар может быть опущена:
Примеры вещественных констант
Символьные константы
Код | Обозначение | Описание |
0x00 | ‘\0’ | Нуль-символ, NULL |
0x07 | ‘\a’ | Звуковой сигнал. |
0x08 | ‘\b’ | Возврат на 1 шаг (Backspace) |
0x09 | ‘\t’ | Горизонтальная табуляция (Tab) |
0x0A | ‘\n’ | Перевод строки (Enter) |
0x0B | ‘\v’ | Вертикальная табуляция (в консоли аналогична переводу строки) |
0x0C | ‘\f’ | Смена страницы |
0x0D | ‘\r’ | Возврат каретки |
Как правило, нажатие клавиши Enter генерирует сразу два управляющих символа — перевод строки ( 0x0A ) и возврат каретки ( 0x0D ).
Все символьные константы имеют тип char и занимают в памяти 1 байт. Значением символьной константы является числовое значение её внутреннего кода.
Строковые константы
Строковая константа — это последовательность символов, заключенная в кавычки, например:
«Это строковая константа»
Кавычки не входят в строку, а лишь ограничивают её. Технически строковая константа представляет собой массив символов, и по этому признаку может быть отнесена к разряду сложных объектов языка Си.
В конце каждой строковой константы компилятор помещает ‘\0’ (нуль-символ), чтобы программе было возможно определить конец строки. Такое представление означает, что размер строковой константы не ограничен каким-либо пределом, но для определения длины строковой константы её нужно полностью просмотреть.
Символьная константа ‘x’ и строка из одного символа «x» — не одно и то же. Символьная константа — это символ, используемый для числового представления буквы x, а строковая константа «x» содержит символ ‘x’ и нуль-символ ‘\0’ и занимает в памяти 2 байта. Если в программе строковые константы записаны одна за другой через разделители, то при выполнении программы они будут размещаться в последовательных ячейках памяти.
Переменные
Переменная — идентификатор, представляющий собой изображение изменяемого объекта. C технической точки зрения, переменная — это область памяти, в которую могут помещаться различные значения.
Любая переменная до ее использования в программе на языке Си должна быть объявлена, то есть для нее должны быть указаны тип и имя (идентификатор).
Объявление переменных в Си осуществляется в форме
ТипПеременной ИмяПеременной;
Каждую переменную можно снабдить комментарием, поясняющим ее смысл. Например,
Если в программе требуется несколько переменных одного типа, то они могут быть объявлены в одной строке через запятую. Например,
При объявлении переменной ей может быть присвоено начальное значение в форме
ТипПеременной ИмяПеременной=значение;
Константы и переменные
Константа и переменная – это объекты программы, служащие для хранения данных и работы с ними. Константа и переменная единовременно могут содержать только одно значение. Во время работы программы значение, хранящееся в переменной, может изменяться, тогда как значение в константе постоянно.
Константа не может быть изменена во время выполнения программы, это контролируется компилятором. Любой константе можно присвоить символьное имя (идентификатор). Таким образом, различаются именованные и неименованные константы.
В программировании существует важное понятие – тип данных. Типы данных различаются способом хранения данных в памяти компьютера. Каждому типу соответствует своя область допустимых значений, способ хранения в памяти ПК, объём памяти, набор операций.
Имеется пять базовых (основных) типов:
— целочисленныеInteger;
— вещественныеReal;
— комплексные Complex;
— логическийLogical;
— символьный Character.
Каждому типу данных соответствуют свои константы и правила их написания.
В операторах объявления типов целое число после символа «*» указывает, сколько байт в памяти занимает значение этого типа.
Операторы объявления типа переменных и констант – неисполняемые операторы, и они должны располагаться в тексте программы до первого исполняемого оператора
Константы в Фортране бывают именованные и неименованные. Именованные константы имеют имя, составленное в соответствии с соглашением об именах. Неименованные константы специального описания не требуют. Это значения, которые используются в операторах программы (числа, строки символов и т.д.)
Типы данных
Целочисленные типы
Целые значения хранятся в памяти компьютера с абсолютной точностью. Они в основном используются в качестве счетчиков, номеров и индексов.
Разновидности целого типа представлены в таблице:
Тип | Количество байтов | Диапазон представления |
Byte или Integer*1 | 1 байт (8 бит) | От –128 до +127 |
Integer*2 | 2 байта | От –32768 до +32767 |
Integer*4 или Integer | 4 байта | От –2147483648 до +2147483647 |
Integer*8 | 8 байт |
По умолчанию Integer соответствует типу Integer*4.
Неименованная целая константа записывается строкой цифр, которой может предшествовать знак «+» или «–». В отличие от вещественной константы эта строка не содержит десятичной точки.
Примеры целых констант: 23 –6 456 +10002
Вещественные типы
В памяти компьютера хранятся не точные значения вещественных чисел, а приближения к ним с ограниченной точностью. Дело в том, что преобразование вещественного десятичного числа в эквивалентную двоичную форму часто дает периодическую последовательность цифр для дробной части. При занесении числа в память вносится ошибка округления.
Разновидности вещественного типа данных:
Тип | Количество байтов | Диапазон представления | Точность, знаков |
Real или Real*4 | ±10 ±38 | ||
Real*8или Double precision | ±10 ±308 | ||
Real*16 | ±10 ± 4932 |
По умолчанию Realсоответствует типу Real*4.
Существует две возможности записи неименованных вещественных констант:
— запись с фиксированной точкой – это последовательность символов, состоящая из знака, целой части, десятичной точки, дробной части; любая из частей, кроме точки, может быть опущена, например:
— в формате с плавающей точкой (в экспоненциальной форме) дополнительно используются символы E, D или Q. Символ E отвечает простой точности (real), символ D – двойной точности (real*8), символ Q – типу real*16. Любой из этих символов обозначает основание 10. После основания следует порядок – степень числа 10, на которую следует умножить число, записанное перед основанием. Например:
5.2D+3 (= 5.2*10 3 = 5200)
Сравните с неправильным Е–2. Эта запись транслируется, как арифметическое выражение, где Е – имя переменной.
Экспоненциальная форма записи используется либо для очень маленьких, либо для очень больших чисел, например:
0.0000034= 3.4Е-6 8800000=8.8Е6.
Комплексные типы
Каждое комплексное число состоит из двух вещественных чисел, соответствующих величине действительной и мнимой частей. Размер памяти, указанный в операторе объявления типа, относится к каждому из этих чисел, т.е. комплексное число занимает в два раза больше байтов, чем указано при объявлении.
Разновидности комплексного типа данных:
Тип | Количество байтов |
Complex или Complex *4 | |
Complex *8или Double complex | |
Complex *16 |
По умолчанию Complex соответствует типу Complex *4.
Неименованная комплексная константа записывается парой вещественных чисел в круглых скобках, например:
(2., –2.) соответствует комплексному числу 2 – 2 i ;
(0., 1.) соответствует мнимой единице i ;
(1., 0.) соответствует вещественной единице 1
(12.5, 1.7E-2) соответствует комплексному числу 12,5 + 0,017 i ;
(12.5D0, 1.7D-2) комплексное число 12,5 + 0,017 i ; (Double complex)
Символьный тип
Переменные и константы символьного типа представляют собой последовательности символов. Они используются в программах для вывода текста. Отметим, что символ пробела является значащим символом в символьной строке.
Переменные символьного типа объявляются оператором Character, например
Character*5 slovo! символьная переменная из 5 символов
Character Symbol! символьная переменная из одного символа
Здесь по умолчанию, то есть длина переменной не указана, имеется в виду один символ.
Неименованная символьная константа представляет собой последовательность символов, заключенную в кавычки. Примеры символьных констант:
‘Площади квадратов равны’ ‘Работу выполнил студент Иван Иванов’
Логический тип
Существуют только два логических значения – «истина» и «ложь». Переменные и константы этого типа используются в логических выражениях, которые также могут принимать значения «истина» и «ложь». Логические выражения применяются в управляющих операторах, когда в зависимости от некоторых условий требуется изменить последовательность выполнения операторов программы.
Переменные логического типа объявляются оператором Logical, например
LogicalPlus, Minus! список логических переменных
Существуют две логические константы. Обратите внимание на точки в их записи. Без точек вместо констант слова true и false воспринимаются компилятором как имена переменных.
Переменные
Перед созданием программы рекомендуется определить, сколько потребуется переменных, и какие данные будет обрабатывать программа.
Переменные можно объявлять списком, разделяя их запятыми. При объявлении переменным можно задавать начальные значения (инициализировать их) с помощью символа «=». При объявлении инициализированных переменных необходимо использование символов «::».
Примеры объявления типов и инициализации переменных:
IntegerN! целая переменная N
IntegerNumber! целая переменная Number – имя выбрано со смыслом
Integer::Number=1, Count=10! заданы начальные значения
Double precisionRadius! вещественная переменная 8 байт памяти
Real*8::Radius=1.7D-2! инициализация вещественной переменной
Complex::comp = (2., 5.)! начальное значение comp = 2+5i
Double complex::comp=(2.5, 1.7)! начальное значение comp = 2,5+1,7i
LogicalYes, No! список логических переменных
Character*5:: Word = ‘слово’! инициализация символьной переменной
Внимание! Инициализация переменных не превращает их в константы. Как и значения любых переменных, значения инициализированных переменных можно изменять.
Переменная не определена в данной точке программы, если ранее в нее не было записано значение. Переменная становится определенной либо в результате инициализации, либо при вводе данных, либо в результате вычислений.
Большинство компиляторов присваивает неинициализированным переменным значение 0 соответствующего типа. Однако полагаться на компилятор не рекомендуется, и использовать любую переменную нужно только после того, как она определена.
В ранних версиях Фортрана было принято соглашение о типах объектов по 1-ой букве имени. Имена объектов, начинающиеся с букв I, J, K, L, M, и N, подразумевали по умолчанию (без объявления типа) принадлежность этих объектов к целому типу. Объекты, имена которых начинались с остальных букв латинского алфавита, по умолчанию считались вещественными. Это соглашение действует и поныне. Отменить его в своей программе можно, написав сразу после заголовка программы оператор
Implicit None
Использование этого оператора заставляет программиста объявлять типы всех объектов программы, не пользуясь умолчанием. Это считается хорошим стилем, т.к. позволяет уже на этапе компиляции обнаружить ошибки, связанные с неправильным использованием типов данных.
Дата добавления: 2017-09-19 ; просмотров: 965 ; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ