Приветствую Вас ГостьСуббота, 20.04.2024, 13:10

Robostroi


Программирование: переменные и константы - Форум

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Роботы » Программирование » Программирование: переменные и константы
Программирование: переменные и константы
super_spectraДата: Среда, 01.06.2011, 00:51 | Сообщение # 1
Рядовой
Группа: Пользователи
Сообщений: 2
Репутация: 0
Статус: Offline
Переменные
Для хранения различных данных в языках программирования используют переменные. Переменной называется область памяти, имеющая имя, которое иначе называют идентификатором.

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

Хорошим стилем является осмысленное именование переменных. Имя переменной может содержать от одного до 32 символов. Разрешается использовать строчные и прописные буквы, цифры и символ подчёркивания, который в Си считается буквой. Первым символом обязательно должна быть буква. Имя переменной не может совпадать с зарезервированными словами.

В языке Си все переменные должны быть объявлены. Это означает, что, во-первых, в начале каждой программы или функции Вы должны привести список всех используемых переменных, а во-вторых, указать тип каждой из них.

При объявлении переменной компилятор отводит ей место в памяти в зависимости от её типа. Стандартными средствами AVR GCC работает с типами данных char (символьный тип) и int (целочисленный тип).
Типы переменных
Тип char

char - является самым экономным типом. Тип char может быть знаковым и беззнаковым. Обозначается, соответственно, как "signed char" (знаковый тип) и "unsigned char" (беззнаковый тип). Знаковый тип может хранить значения в диапазоне от -128 до +127. Беззнаковый - от 0 до 255. Под переменную типа char отводится 1 байт памяти (8 бит).

Ключевые слова (модификаторы) signed и unsigned указывают, как интерпретируется нулевой бит объявляемой переменной, т.е., если указано ключевое слово unsigned, то нулевой бит интерпретируется как часть числа, в противном случае нулевой бит интерпретируется как знаковый.

Тип int

Целочисленная величина int может быть short (короткой) или long (длинной).

Ключевое слово (модификатор) short ставится после ключевых слов signed или unsigned. Таким образом, различают следующие типы: signed short int, unsigned short int, signed long int, unsigned long int.

Переменная типа signed short int (знаковая короткая целая) может принимать значения от -32768 до +32767, unsigned short int (беззнаковая короткая целая) - от 0 до 65535. Под каждую из них отводится ровно по два байта памяти (16 бит).

При объявлении переменной типа signed short int ключевые слова signed и short могут быть пропущены, и такой тип переменной может быть объявлен просто int. Допускается и объявление этого типа одним ключевым словом short.

Переменная unsigned short int может быть объявлена как unsigned int или unsigned short.

Под каждую величину signed long int или unsigned long int отводится 4 байта памяти (32 бита). Значения переменных этого типа могут находиться в интервалах от -2147483648 до 2147483647 и от 0 до 4294967295 соответственно.

Существуют также переменные типа long long int, для которых отводится 8 байт памяти (64 бита). Они также могут быть знаковыми и беззнаковыми. Для знакового типа диапазон значений лежит в пределах от 9223372036854775808 до 9223372036854775807, для беззнакового - от 0 до 18446744073709551615. Знаковый тип может быть объявлен и просто двумя ключевыми словами long long.
Объявление переменных
Переменные объявляют в операторе описания. Оператор описания состоит из спецификации типа и списка имён переменных, разделённых запятой. В конце обязательно должна стоять точка с запятой.

Объявление переменной имеет следующий формат:

[модификаторы] спецификатор_типа идентификатор [, идентификатор] ...

Модификаторы - ключевые слова signed, unsigned, short, long.
Спецификатор типа - ключевое слово char или int, определяющее тип объявляемой переменной.
Идентификатор - имя переменной.

Пример:
char x;
int a, b, c;
unsigned long long y;

Таким образом, будут объявлены переменные x, a, b, c, y. В переменную x можно будет записывать значения от -128 до 127. В переменные a, b, c - от -32768 до +32767. В переменную y - от 0 до 18446744073709551615.

Инициализация значения переменной при объявлении

При объявлении переменную можно проинициализировать, то есть присвоить ей начальное значение. Сделать это можно следующим образом.
int x = 100;
Таким образом, в переменную x при объявлении сразу же будет записано число 100.

Лучше избегать смешивания инициализируемых переменных в одном операторе описания, то есть инициализируемые переменные лучше объявлять в отдельных строках.
Константы
Переменная любого типа может быть объявлена как немодифицируемая. Это достигается добавлением ключевого слова const к спецификатору типа. Переменные с типом const представляют собой данные, используемые только для чтения, то есть этой переменной не может быть присвоено новое значение. Если после слова const отсутствует спецификатор типа, то константы рассматриваются как величины со знаком, и им присваивается тип int или long int в соответствии со значением константы: если константа меньше 32768, то ей присваивается тип int, в противном случае long int.

Пример:
const long int k = 25;
const m = -50; // подразумевается const int m=-50
const n = 100000; // подразумевается const long int n=100000
Присваивание
Для присваивания в Си служит знак "=". Выражение, стоящее справа от знака присваивания, вычисляется, и полученное значение присваивается переменной, стоящей слева от знака присваивания. При этом предыдущее значение, хранящееся в переменной, стирается и заменяется на новое.

Оператор "=" не следует понимать как равенство.
Например, выражение a = 5; следует читать как "присвоить переменной a значение 5".

Примеры:
x = 5 + 3; // сложить значения 5 и 3,
// результат присвоить переменной x (записать в переменную x)

b = a + 4; // прибавить 4 к значению, хранящемуся в переменной a,
// полученный результат присвоить переменной b (записать в переменную b)

b = b + 2; // прибавить 2 к значению, хранящемуся в переменной b,
// полученный результат присвоить переменной b (записать в переменную b)
В правой части значение переменной может использоваться несколько раз:
c = b * b + 3 * b;
Арифметические операции
Арифметические операции записываются в выражениях следующим образом:
+ плюс
- минус
* умножить
/ разделить

Пример:
x = 3; // переменной x будет присвоено значение 3

y = x + 5; // к значению, хранящемуся в переменной x, будет прибавлено число 5,
// полученный результат будет записан в переменную y

z = x * y; // значения переменных x и y будут перемножены,
// результат будет записан в переменную z

z = z - 1; // от значения, хранящегося в переменной z, будет отнято 1
// результат будет записан в переменную z

Таким образом, в переменной z будет храниться число 23
Дополнительные способы присваивания
Кроме простого оператора присваивания "=", в Си существует еще несколько комбинированных операторов присваивания: "+=", "-=", "*=<", "/=", "%=".

Примеры:
x += y; // то же, что и x = x + y; - сложить x и y
// и записать результат в переменную x

x -= y; // то же, что и x = x - y; - отнять от x значение y
// и записать результат в переменную x

x *= y; // то же, что и x = x * y; - умножить x на y
// и записать результат в переменную x

x /= y; // то же, что и x = x / y; - разделить x на y
// и записать результат в переменную x

x %= y; // то же, что и x = x % y;
// вычислить целочисленный остаток от деления x на y
// и записать результат в переменную x
Инкремент и декремент
Если необходимо изменить значение переменной на 1, то используют инкремент или декремент.

Инкремент - операция увеличения значения, хранящегося в переменной, на 1.

Пример:
x++; // значение переменной x будет увеличено на 1

Декремент - операция уменьшения значения, хранящегося в переменной, на 1.

Пример:
x--; // значение переменной x будет уменьшено на 1

Инкремент и декремент относятся к операциям присваивания. При использовании декремента и инкремента совместно с оператором присваивания "=" применяют постфиксную (x++) или префиксную (++x) запись. Первой выполняется префиксная запись.

Примеры:
y = x++;

Предположим, что в переменной x хранилось значение 5. Тогда в y будет записано значение 5, после чего значение переменной x будет увеличено на 1. Таким образом, в y будет 5, а в x - 6.
y = --x;

Если в x хранилось значение 5, то сначала будет выполнено уменьшение x до 4, а затем это значение будет присвоено переменной y. Таким образом, x и y будет присвоено значение 4.

 
Форум » Роботы » Программирование » Программирование: переменные и константы
  • Страница 1 из 1
  • 1
Поиск:

Наш опрос
Оцените мой сайт
Всего ответов: 182
Статистика
Форма входа
Друзья сайта
    WMmail.ru - сервис почтовых рассылок WMlink.ru - рекламный брокер SB-MONEY.RU - Электронная коммерция, Сервисы для вебмастеров, Раскрутка
    OZON.ru
    Обмен SMS
    ПОЛУЧИТЬ:  
    НА:
Мини-чат