- Переменные константы способы описания
- Описание и инициализация переменных
- Задание и использование констант
- Переменные константы способы описания
- Описание и инициализация переменных
- Задание и использование констант
- Константы и переменные в языке Си
- Целочисленные константы
- Вещественные константы
- Символьные константы
- Строковые константы
- Переменные
- BestProg
- Переменные и константы
- Содержание
- 1. Для чего в программе используются константы и переменные?
- 2. Каким образом в C# объявляется константа? Примеры объявление констант.
- 3. Как в программе объявляется переменная? Примеры объявления переменных.
- 4. Пример объявления переменной, которая есть структурой.
- 5. Пример объявления переменной которая есть перечислением.
- 6. Как осуществляется инициализация переменной? Примеры инициализации переменных.
- 7. Как в C# реализуется динамическая инициализация переменных?
- 8. Как в C# описываются неявно типизированные переменные?
- 9. Сколько неявно типизированных переменных можно описывать одновременно?
- 10. Пример описания неявно типизированной переменной, которая есть перечислением.
- 11. Что определяет область действия локальной переменной?
Переменные константы способы описания
Константа, переменная — это основополагающие понятия в любом языке программирования. Дадим определения этим понятиям.
Константа — это величина, которая при выполнении программы остаётся неизменной.
Переменная — это ячейка памяти для временного хранения данных. Предполагается, что в процессе выполнения программы значения переменных могут изменяться.
Описание и инициализация переменных
Прежде чем использовать в программе какую-то переменную, надо обязательно дать её описание , то есть сказать, какое имя имеет переменная и каков её тип. Вначале указывается тип переменной, а затем её имя. Например:
int k; // это переменная целого типа int
double x; // это переменная вещественного типа удвоенной точности
Если имеется несколько переменных одного типа, то допускается их описание через запятую в одном операторе, например:
После описания переменной её можно использовать, но возникает вопрос: а какое значение имеет переменная сразу же после её описания? Ответ таков: в программе на языке C# значение переменной после описания не определено. Такая переменная может использоваться в левой части оператора присваивания, но её нельзя использовать в выражении или в правой части оператора присваивания. Например:
y=z+1; // а так нельзя! Переменная z не определена
Для последнего оператора компилятор языка C# выдаст сообщение об ошибке. Этим свойством ( нельзя использовать переменную, которая не получила ни какого значения ) язык C# выгодно отличается от своих предшественников — языков С и С++.
Чтобы избежать проблемы, рекомендуется инициализировать переменные , то есть не просто выделять память под переменные, но и задавать им при этом необходимые значения. Например:
double x=3, y=4, z=5;
Инициализация переменных выполняется один раз на этапе компиляции и ни как не сказывается на скорости работы программы.
Задание и использование констант
Выше было дано определение констант. Теперь рассмотрим работу с константами более подробно.
Все константы вне зависимости от типа данных можно подразделить на две категории: именованные константы и константы, которые не имеют собственного имени. Например:
25 — константа целого типа;
3.14 — вещественная константа;
‘A’ — символьная константа.
Все три приведённые здесь константы не имеют имени, они заданы своим внешним представлением и используются в программе непосредственно, например так:
int k=25; // переменная k инициализирована константой — целым числом 25.
В ряде случаев константе удобнее дать имя и использовать её далее по имени. Это делает текст программы более наглядным. Обычно применяется для математических или физических констант.
В языке C# определить именованную константу очень просто Для этого используют ключевое слово const , например:
const double PI=3.14; // здесь PI — константа
Источник
Переменные константы способы описания
Константа, переменная — это базовые понятия в любом языке программирования. Дадим им определения.
Константа — это величина, которая при выполнении программы остаётся неизменной.
Переменная — это ячейка памяти для временного хранения данных. Предполагается, что в процессе выполнения программы значения переменных могут изменяться.
Описание и инициализация переменных
Прежде чем использовать в программе какую-то переменную, надо дать ей описание , то есть сказать, какое имя имеет переменная и каков её тип. Вначале указывается тип переменной, а затем её имя. Например:
int k; // это переменная целого типа int
double x; // это переменная вещественного типа удвоенной точности
Если имеется несколько переменных одного типа, то допускается их описание через запятую в одном операторе, например:
После описания переменной её можно использовать, но возникает вопрос: а какое значение имеет переменная сразу же после её описания? Ответ таков: в программе на языке C или C++ переменная после описания имеет произвольное значение , то есть ей просто выделяется свободный участок памяти и на этом всё заканчивается. В переменной хранится та последовательность двоичных цифр, которая была там до выделения памяти под эту переменную. Такой подход таит определённую опасность: можно по ошибке использовать в выражении переменную, которой не было присвоено ни какое значение:
Так как переменная x ни как не была определена, т. е. имела произвольное значение (чаще всего — это очень большое число или наоборот — очень маленькое), то и переменная y получит явно не то значение, на которое рассчитывал пользователь.
Чтобы избежать такой ошибки, Бьерн Страуструп рекомендует инициализировать переменные , то есть не просто выделять память под переменные, но и задавать им при этом необходимые значения. Например:
double a=3, b=4, c=5;
Инициализация переменных выполняется один раз на этапе компиляции, она не снижает скорость работы программы, но при этом уменьшает риск использования переменной, которая не получила ни какого значения.
Задание и использование констант
Выше было дано определение констант. Теперь рассмотрим работу с константами более подробно.
Все константы вне зависимости от типа данных можно подразделить на две категории: именованные константы и константы, которые не имеют собственного имени. Например:
25 — константа целого типа;
3.14 — вещественная константа;
‘A’ — символьная константа.
Все три приведённые здесь константы не имеют имени, они заданы своим внешним представлением и используются в программе непосредственно, например так:
int k=25; // переменная k инициализирована константой — целым числом 25.
В ряде случаев константе удобнее дать имя и использовать её далее по имени. Обычно это делается для математических или физических констант.
В языке C был единственный способ создания именованных констант — с помощью директивы препроцессора #define , например:
t = PI * 2; // здесь использована именованная константа PI, заданная выше
В языке C++ появился ещё один способ — использование константных переменных , то есть переменных, которые нельзя изменять после инициализации. Рассмотрим на том же примере:
const double PI=3.14; // здесь PI — константная переменная
В чём преимущество от использования константных переменных вместо задания констант с помощью директивы препроцессора #define ? Всё очень просто: при использовании константной переменной компилятор проверяет правильность задания константы, и если она будет задана неверно, то будет выдана ошибка именно в операторе, в котором дано определение константной переменной.
Если использована именованная константа, заданная директивой препроцессора #define , то ошибка будет показана только там, где используется константа. Например:
// в директиве препроцессора сделаем ошибку:
t = PI * 2; // в этой строке компилятор выдаст ошибку,
// хотя на самом деле ошибка допущена гораздо раньше!
Источник
Константы и переменные в языке Си
Константа — это ограниченная последовательность символов алфавита языка, представляющая собой изображение фиксированного (неизменяемого) объекта.
Константы бывают числовые, символьные и строковые. Числовые константы делятся на целочисленные и вещественные.
Целочисленные константы
Целочисленные данные в языке Си могут быть представлены в одной из следующих систем счисления:
Десятичные | Последовательность цифр ( 0 — 9 ), которая начинаются с цифры, отличной от нуля. Пример: 1, -29, 385. Исключение — число 0. |
Восьмеричные | Последовательность цифр ( 0 — 7 ), которая всегда начинается с 0 . Пример: 00, 071, -052, -03. |
Шестнадцатеричные | Последовательность шестнадцатеричных цифр ( 0 — 9 и A — F ), которой предшествует присутствует 0x или 0X . Пример: 0x0, 0x1, -0x2AF, 0x17. |
Двоичная система представления данных непосредственно в языке Си не поддерживается. Однако можно воспользоваться файлом binary.h, в котором определены двоичные константы в пределах байта.
Пример использования двоичной системы счисления в языке Си:
Результат выполнения
В зависимости от значения целой константы компилятор присваивает ей тот или иной тип ( char , int , long int ).
С помощью суффикса U (или u ) можно представить целую константу в виде беззнакового целого.
Например, Константе 200U выделяется 1 байт, и старший бит используется для представления одного из разрядов кода числа и диапазон значений становится от 0 до 255 . Суффикс L (или l ) позволяет выделить целой константе 8 байт ( long int ).
Совместное использование в любом порядке суффиксов U (или u ) и L (или l ) позволяет приписать целой константе тип unsigned long int , и она займет в памяти 64 разряда, причем знаковый разряд будет использоваться для представления разряда кода (а не знака).
Вещественные константы
Константа с плавающей точкой (вещественная константа) всегда представляется числом с плавающей точкой двойной точности, т. е. как имеющая тип double , и состоит из следующих частей:
- целой части — последовательности цифр;
- точки — разделителя целой и дробной части;
- дробной части — последовательности цифр;
- символа экспоненты е или E ;
- экспоненты в виде целой константы (может быть со знаком).
Любая часть (но не обе сразу) из нижеследующих пар может быть опущена:
- целая или дробная часть;
- точка или символ е ( Е ) и экспонента в виде целой константы.
Примеры вещественных констант
По умолчанию компилятор присваивает вещественному числу тип double . Если программиста не устраивает тип, который компилятор приписывает константе, то тип можно явно указать в записи константы с помощью следующих суффиксов:
- F (или f ) — float для простых вещественных констант,
- L (или l ) — long double для вещественных констант двойной расширенной точности.
- 3.14159F — константа типа float , занимающая 4 байта;
- 3.14L — константа типа long double , занимающая 10 байт.
Символьные константы
Символьная константа — это один символ, например: ‘z’ . В качестве символьных констант также могут использоваться управляющие коды, не имеющие графического представления. При этом код управляющего символа начинается с символа ‘\’ (обратный слеш).
Код | Обозначение | Описание |
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’ (нуль-символ), чтобы программе было возможно определить конец строки. Такое представление означает, что размер строковой константы не ограничен каким-либо пределом, но для определения длины строковой константы её нужно полностью просмотреть.
Поскольку строковая константа состоит из символов, то она имеет тип char . Количество ячеек памяти, необходимое для хранения строковой константы на 1 больше количества символов в ней (1 байт используется для хранения нуль-символа).
Символьная константа ‘x’ и строка из одного символа «x» — не одно и то же. Символьная константа — это символ, используемый для числового представления буквы x, а строковая константа «x» содержит символ ‘x’ и нуль-символ ‘\0’ и занимает в памяти 2 байта. Если в программе строковые константы записаны одна за другой через разделители, то при выполнении программы они будут размещаться в последовательных ячейках памяти.
Переменные
Переменная — идентификатор, представляющий собой изображение изменяемого объекта. C технической точки зрения, переменная — это область памяти, в которую могут помещаться различные значения.
Любая переменная до ее использования в программе на языке Си должна быть объявлена, то есть для нее должны быть указаны тип и имя (идентификатор).
Объявление переменных в Си осуществляется в форме
ТипПеременной ИмяПеременной;
Каждую переменную можно снабдить комментарием, поясняющим ее смысл. Например,
Если в программе требуется несколько переменных одного типа, то они могут быть объявлены в одной строке через запятую. Например,
При объявлении переменной ей может быть присвоено начальное значение в форме
ТипПеременной ИмяПеременной=значение;
Источник
BestProg
Переменные и константы
Содержание
Поиск на других ресурсах:
1. Для чего в программе используются константы и переменные?
Константы и переменные есть основными объектами, которые используются в программе. Константы и переменные – это именованные объекты, для которых выделяется память.
Значение константы обязательно устанавливается при ее объявлении в программе.
В отличие от переменной значение константы не может изменяться программно. Если константа уже объявлена, то при попытке присвоить константе какое-нибудь новое значение компилятор выдаст сообщение об ошибке.
Все переменные и константы должны быть объявлены до их применения. Это нужно, чтобы сообщить компилятору о типе данных, который сохраняется в переменной. Если известен тип переменной, то компилятор осуществляет соответствующую компиляцию любого оператора, в котором используется данная переменная.
2. Каким образом в C# объявляется константа? Примеры объявление констант.
Константа объявляется с помощью оператора следующей формы:
const – ключевое слово, которое определяет что именно это есть константа; тип – тип данных, которые сохраняются в константе; имя_константы – имя константы; значение – значение константы, которое есть неизменяемым в программе.
Примеры описания констант.
3. Как в программе объявляется переменная? Примеры объявления переменных.
Переменные объявляются с помощью оператора следующей формы:
где тип – это тип данных, которые сохраняются в переменной; а имя_переменной – это ее имя.
Объявить переменную можно любого типа, который существует в программе. Тип переменной может быть также типом-значением .
Пример объявления переменной, которая имеет значимый тип.
4. Пример объявления переменной, которая есть структурой.
В языке C# структура относится к типу-значению а не к типу-классу.
Пример описания переменной, которая есть структурой типа MyPoint . Структура MyPoint определяет координаты точки на плоскости.
5. Пример объявления переменной которая есть перечислением.
В следующем примере объявляется переменная типа Months , которая есть перечислением.
6. Как осуществляется инициализация переменной? Примеры инициализации переменных.
Инициализация позволяет задать начальное значение переменной при ее объявлении.
Общая форма инициализации переменной имеет следующий вид:
где тип – это тип данных, которые сохраняются в переменной; имя_переменной – это ее имя; значение – это конкретное значение, которое задается при создании переменной.
Примеры инициализации переменных:
Можно осуществлять инициализацию переменных выборочно. Например:
7. Как в C# реализуется динамическая инициализация переменных?
При динамической инициализации переменной в качестве инициализаторов используются не константы (литералы) а выражения. Эти выражения на момент объявления переменной должны быть действительными.
8. Как в C# описываются неявно типизированные переменные?
Начиная с версии C# 3.0 компилятор имеет возможность самостоятельно определять тип локальной переменной. Этот тип определяется на основе значения, которым переменная инициализируется. Значению соответствует некоторый литерал , что описывается согласно синтаксису языка C# .
Такая переменная называется неявно типизированной.
Для объявления неявно типизированной переменной используется ключевое слово var . В этом случае инициализация переменной есть обязательной.
Общий вид описания неявно типизированной переменной:
var – ключевое слово; имя_переменной – это имя переменной; значение – это конкретное значение, которое задается при создании переменной.
Примеры описания неявно типизированных переменных:
9. Сколько неявно типизированных переменных можно описывать одновременно?
Одновременно можно описывать только одну типизированную переменную.
При следующем описании будет ошибка, так как описаны две переменные:
10. Пример описания неявно типизированной переменной, которая есть перечислением.
Пример описания неявно типизированной переменной, которая есть перечислением типа DaysOfWeek .
11. Что определяет область действия локальной переменной?
Область действия локальной переменной определяется блоком кода. Блок кода начинается с фигурной открытой скобки ‘ < ‘и заканчивается фигурной закрытой скобкой ‘ > ‘.
Область действия определяет видимость имен констант и переменных без дополнительного уточнения. Также область действия определяет время существования локальной переменной.
В C# область действия определяется классом или методом.
Области действия могут быть вложенными. Если создается кодовый блок, тогда создается и вложенная область действия. В этом случае внешняя область действия охватывает внутреннюю область действия. Это означает, что локальные переменные и константы, которые объявлены во внешней области действия, будут доступны во внутренней области действия:
Источник