Понятие переменной. Типы. Переменная (программирование)

Переменные…

Любая программа, в ходе выполнения действий оперирует различными данными. Эти данные могут быть заданы, как самим программистом (при написании кода) либо считаны с внешнего источника (датчика или внешней памяти). Для того, чтобы полученные данные записались и в дальнейшем использовались необходимо как-то их обозначить и где-то их хранить. Ведь значений может быть много, а какое именно из них нужно использовать программист задает собственноручно. Для этого и используют такого дикого зверя, как «переменную». Когда мы даём имя переменной, мы одновременно задаём название области памяти, в которой будут хранится данные, которые задаются нашей переменной.

Совет из личного опыта – давайте переменным осмысленные имена. Оно может состоять от 1 до 32 символов. Не называйте переменные – А, b или xffgdf. Через день вы уже не будете помнить, что за данные в ней хранятся. При задании имя переменной можно использовать строчные и прописные буквы, цифры и символ подчёркивания, который в Сишке считается буквой. Первым символом обязательно должна быть буква. Имя переменной не должно совпадать со служебными командами.

После того, как придумали имя своей «любимой» переменной, её нужно объявить. В начале программы (глобальные переменные) или функции (локальные переменные) приводим список используемых в ней переменных, указывая тип каждого «зверя».

Глобальная переменная может использоваться в любом месте программы, а локальная – только в функции, где она объявлена.

Два стандартных типа данных char (символьный тип) и int (целочисленный тип).

Типы переменных

Тип данных char :

  • знаковый — signed char , может хранить значения в диапазоне от -128 до +127.
  • беззнаковый —unsigned char , может хранить значения в диапазоне от 0 до 255.

Под переменную типа char отводится 1 байт памяти (8 бит).

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

Short или long ставится после signed или unsigned :

  • signed short int (при объявлении можно просто написать int или short ), от -32768 до +32767.
  • unsigned short int (аналогично unsigned int или unsigned short ), от 0 до 65535.
  • signed long int, от -2147483648 до 2147483647;
  • unsigned long int, от 0 до 4294967295.

Под каждую переменную данного типа short отводится ровно по два байта памяти (16 бит). Под каждую переменную типа long отводится 4 байта памяти (32 бита).

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

Объявление переменных

Объявление переменной происходит следующим образом, с помощью оператора описания (оператор в СИ – команда).

Оператор описания состоит из типа и имени переменной. Можно задавать несколько имён переменных для одного типа, разделяя их запятой. В конце обязательно должна стоять точка с запятой.

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

Переменную после объявлении можно проинициализировать (присвоить начальное значение).

То есть в переменную x при объявлении будет записано число 100.

Совет – избегайте инициализации переменных в операторе описания. Лучше это сделать в отдельной функции (если используете глобальные переменные).

Константы

Переменная любого типа может быть объявлена, как неизменяемая. Сделать это можно путем добавления const перед заданием типа переменной. Такая переменная хранит данные, которые используются «только для чтения», записать в неё новые данные невозможно.

Присваивание

Чтобы присвоить переменной какое-либо значение в Си используют «=».

Например А = 5;

Переменной А присвоено значение 5, если в А было записано любое другое значение, то оно затёрлось.

Арифметические операции

После всех вычислений переменной Z будет присвоено значение 49.

Дополнительные способы присваивания

Кроме оператора присваивания «=», в Си существует еще несколько «комбинированных» операторов присваивания.

Инкремент и декремент

Если нам нужно изменить значение переменной на 1, то используем инкремент или декремент .

Инкремент — увеличения значения переменной. Декремент — уменьшения значения переменной.

Спасибо за внимание) Продолжение следует…

Классификация

Статическая и динамическая типизация переменных

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

Простые и сложные переменные

По наличию внутренней структуры, переменные могут быть простыми или сложными (составными).

Простые переменные не имеют внутренней структуры, доступной для адресации. Последняя оговорка важна потому, что для компилятора или процессора переменная может быть сколь угодно сложной, но конкретная система (язык) программирования скрывает от программиста её внутреннюю структуру, позволяя адресоваться только «в целом».

Сложные переменные программист создаёт для хранения данных, имеющих внутреннюю структуру. Соответственно, есть возможность обратиться напрямую к любому элементу. Самыми характерными примерами сложных типов являются массив (все элементы однотипные) и запись (элементы могут иметь разный тип).

Следует подчеркнуть относительность такого деления: для разных программ одна и та же переменная может иметь разную структуру. Например, компилятор различает в переменной вещественного типа 4 поля: знаки мантиссы и порядка, плюс их значения, но для программиста, компилирующего свою программу, вещественная переменная - единая ячейка памяти, хранящая вещественное число.

Соглашения об именовании переменных

См. также


Wikimedia Foundation . 2010 .

  • Динамическая типизация
  • Строгая типизация

Смотреть что такое "Переменная (программирование)" в других словарях:

    Динамическая переменная (программирование) - У этого термина существуют и другие значения, см. Динамическая переменная. Динамическая переменная переменная в программе, место в оперативной памяти под которую выделяется во время выполнения программы. По сути, она является даже не… … Википедия

    Переменная среды - (англ. environment variable) текстовая переменная операционной системы, хранящая какую либо информацию например, данные о настройках системы. Содержание 1 Переменные среды UNIX 2 Переменные среды Windows … Википедия

    Переменная величина - Переменная атрибут физической или абстрактной системы, который может изменять своё значение. Значение может меняться в зависимости от контекста, в котором рассматривается система, или в случае уточнения, о какой конкретно системе идёт речь … Википедия

    Переменная - Термин переменная может означать: Переменная (программирование) поименованная, либо адресуемая иным способом область памяти, адрес которой можно использовать для осуществления доступа к данным. Переменная величина в математике символ,… … Википедия

    ПРОГРАММИРОВАНИЕ ПАРАЛЛЕЛЬНОЕ - раздел программирования, связанный с изучением и разработкой методов и средств для: а) адекватного описания в программах естественного параллелизма моделируемых в ЭВМ и управляемых ЭВМ систем и процессов, б) распараллеливания обработки информации … Математическая энциклопедия

    Глобальная переменная - В программировании глобальной переменной называют переменную, областью видимости которой является вся программа (кроме затенённых (англ.) областей). Механизмы взаимодействия с глобальными переменными называют global state или global… … Википедия

    Динамическая переменная - Динамическая переменная термин. Динамическая переменная (программирование) Динамическая переменная (физика) … Википедия

    Локальная переменная - В программировании локальной переменной называют переменную, объявленную внутри блока кода. Область видимости локальной переменной начинается в точке её объявления и заканчивается в конце этого блока. Эта статья содержит нез … Википедия

    Параметр (программирование) - У этого термина существуют и другие значения, см. Параметр (значения). Параметр в программировании принятый функцией аргумент. Термин «аргумент» подразумевает, что конкретно и какой конкретной функции было передано, а параметр в каком качестве… … Википедия

    SSI (программирование) - У этого термина существуют и другие значения, см. SSI. SSI (Server Side Includes включения на стороне сервера) несложный язык для динамической «сборки» веб страниц на сервере из отдельных составных частей и выдачи клиенту полученного HTML… … Википедия

Дадим определения переменной и ее различных видов.

Переменная – это наблюдаемое свойство объекта, которое может принимать два и более значений .

Например, каждый человек имеет такое свойство, как пол. Это свойство может принимать два значения: мужской пол и женский пол. Можно так сказать, что переменная «пол» пробегает по двум значениям. Это не значит, что один и тот же человек может быть то мужчиной, то женщиной. Это означает, что каждый есть либо мужчина, либо женщина.

Свойство «национальность» может принимать два значения, например русский и другая национальность. А может иметь очень много значений: русский, татарин, калмык, бурят и т. д. Или всего четыре значения: русский, татарин, калмык и другая национальность. Все зависит от характера исследования.

Здесь опять же не идет речь о том, что один и тот же человек может менять свою национальность, он то русский, то татарин и т. д. Это означает, что каждый человек либо русский, либо татарин и т. д. То есть переменная «национальность» пробегает по множеству значений: русский, татарин, калмык и т. д.

В случае, когда имеем дело с интервальной шкалой, значений может быть в принципе бесконечно много. Например, ясно, что значений такой переменной, как рост человека в принципе бесконечно много: 152 см, 152,1 см, 152,15 см, 157,115 см и т. д. Чтобы ограничить число значений, вводятся интервалы: от 150 до 155 см, от 155 до 160 см … от 200 до 210 см. Каждый интервал приравнивается средней величине: 152,5 см, 157,5 см и т. д. В таком случае в диапазоне от 150 до 210 см переменная будет принимать всего 12 значений.

Социальный статус можно определять как высокий и как низкий (2 значения переменной), но можно определять как высокий, средний, низкий (3 значения переменной «социальный статус»). Можно еще больше дифференцировать: высший-высший, средний-высший, низший-высший, высший-средний, средний-средний, низший-средний, высший-низший, средний-низший, низший-низший. Тогда получается 9 значений.

Различаются качественные и количественные переменные. Значения первых нельзя сравнивать по принципу «больше-меньше» или «лучше-хуже». Сюда можно отнести пол (мужской, женский), национальность (русский, татарин, калмык и т. п.).

Значения вторых переменных можно сравнивать и измерять количественно по принципу «больше-меньше», например, возраст (старше-младше), годовой доход (больше-меньше), образование (выше-ниже).

Различаются зависимые и независимые переменные. Зависимые переменные меняют свое значение при изменении значений других переменных. Независимые переменные − это такие, изменение которых приводит к изменениям других переменных. Например, очевидно, что при изучении связи между переменными «пол» и «наличие водительских прав», первая переменная будет независимой, а вторая – зависимой переменной. Дело в том, что приобретение водительских прав или их утрата не приводит к смене пола. А вот пол влияет, если можно так выразиться, на наличие водительских прав: среди мужчин автолюбители встречаются чаще, чем среди женщин.



Когда строят графики, значения независимой переменной обычно располагают на горизонтальной оси, она называется абсциссой. А значения зависимой переменной на вертикальной оси, она называется ординатой.

Вообще говоря, характер гипотезы часто все же определяет, что считать зависимой, а что независимой переменной. Допустим, мы проводим исследование, чтобы проверить гипотезу: чем выше интеллект у людей, тем, как правило, у них более высокое образование. Тогда в качестве независимой переменной мы примем коэффициент интеллекта, а в качестве зависимой переменной – образование.

Далее мы отбираем группу человек среднего возраста с разными коэффициентами интеллекта, который определяем через количество специальных задач, решенных в определенное время. После этого выясним, какое у них образование. И убедимся, что, как правило, люди с более высоким коэффициентом интеллекта смогли получить и более высокое образование. Сведем данные в табл. 10.1. и на ее основе строим график (рис. 10.1).

Таблица 10.1

Рис. 10.1. График зависимости между коэффициентом интеллекта и законченным учебным заведением

Но мы можем провести исследование, чтобы проверить другую гипотезу: чем выше образование, тем выше интеллект. Теперь мы примем в качестве независимой переменной образование, а в качестве зависимой – интеллект. Зафиксируем средний коэффициент интеллекта у респондентов со средней школой, далее у респондентов с техникумом и респондентов с высшим образованием. И построим табл. 10.2. и график (рис. 10.2).

Таблица 10.2

Рис. 10.2. График зависимости между законченным учебным заведением и коэффициентом интеллекта

Можно говорить о промежуточных переменных, они опосредуют связь между независимыми и зависимыми переменными. Такой промежуточной переменной в каузальной модели с пятью переменными из темы 2 является «доход», который связывает между собой понятия «интеллект» и «сбережения».

Еще один тип переменной – антецедентная переменная. Она определяет изменение самой независимой переменной. На нашей модели с пятью переменными видно, что интеллект является независимой переменной по отношению к статусу, доходу и сбережениям. Однако спросим себя, что определяет уровень самого интеллекта? И особое исследование могло бы обнаружить, что он определяется атмосферой в семье, в которой воспитывались респонденты, и образованием родителей. Таким образом, атмосфера в семье и образование родителей окажутся антецедентными переменными.

Переменная есть некоторое свойство реального события, которое было измерено. Переменные, в отличие от теории, относятся к реальности.

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

Итак, можно измерить тревогу по шкале , тенденцию к вступлению в члены группы оценить с помощью расстояния , на котором субъекты исследования расположены один относительно другого. Эти два измерения являются переменными в эксперименте. Вычисление корреляции между двумя переменными позволит проверить гипотезу. Наличие или отсутствие корреляции между переменными считается проверкой теории, которая привела к эксперименту.

Типы переменных

1. Независимые переменные . Среди них выделяются экспериментальные и дифференциальные переменные.

Экспериментальные переменные – это те переменные, которые экспериментатор изменяет по своему желанию и наблюдает их влияние на зависимые переменные. Например, экспериментатор варьирует сложность задания или интенсивность стимула.

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

2. Зависимые переменные . Ответ или реакции испытуемых, полученные в ходе эксперимента. В некоторых исследованиях мы не знаем, какие переменные являются зависимыми, а какие независимыми. Например, мы можем думать, что существует связь между насилием и телевидением. Однако трудно выяснить, является ли просмотр определенных телепрограмм причиной насилия или человек, который смотрит эти программы, уже был предрасположен к насилию. В данном случае идентификация независимой переменной является целью исследования.

3. Переменные помех (нарушения ). Это переменные, которые не контролируются в ходе эксперимента и которые могут оказывать влияние на зависимые переменные. Помехи ошибочно могут быть отнесены к экспериментальным переменным. Например, неприятный (надоедливый, навязчивый) шум в комнате, в которой субъекты проходят тест на интеллект.

4. Переменные вмешательства (случайные переменные). Это переменные, которые состоят из некоторых характеристик субъектов, которые могут влиять на результаты эксперимента. Например, усталость, низкая мотивация и т. д.

Классификация

Статическая и динамическая типизация переменных

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

Простые и сложные переменные

По наличию внутренней структуры, переменные могут быть простыми или сложными (составными).

Простые переменные не имеют внутренней структуры, доступной для адресации. Последняя оговорка важна потому, что для компилятора или процессора переменная может быть сколь угодно сложной, но конкретная система (язык) программирования скрывает от программиста её внутреннюю структуру, позволяя адресоваться только «в целом».

Сложные переменные программист создаёт для хранения данных, имеющих внутреннюю структуру. Соответственно, есть возможность обратиться напрямую к любому элементу. Самыми характерными примерами сложных типов являются массив (все элементы однотипные) и запись (элементы могут иметь разный тип).

Следует подчеркнуть относительность такого деления: для разных программ одна и та же переменная может иметь разную структуру. Например, компилятор различает в переменной вещественного типа 4 поля: знаки мантиссы и порядка, плюс их значения, но для программиста, компилирующего свою программу, вещественная переменная - единая ячейка памяти, хранящая вещественное число.

Соглашения об именовании переменных

См. также


Wikimedia Foundation . 2010 .

Смотреть что такое "Переменная (программирование)" в других словарях:

    У этого термина существуют и другие значения, см. Динамическая переменная. Динамическая переменная переменная в программе, место в оперативной памяти под которую выделяется во время выполнения программы. По сути, она является даже не… … Википедия

    - (англ. environment variable) текстовая переменная операционной системы, хранящая какую либо информацию например, данные о настройках системы. Содержание 1 Переменные среды UNIX 2 Переменные среды Windows … Википедия

    Переменная атрибут физической или абстрактной системы, который может изменять своё значение. Значение может меняться в зависимости от контекста, в котором рассматривается система, или в случае уточнения, о какой конкретно системе идёт речь … Википедия

    Термин переменная может означать: Переменная (программирование) поименованная, либо адресуемая иным способом область памяти, адрес которой можно использовать для осуществления доступа к данным. Переменная величина в математике символ,… … Википедия

    Раздел программирования, связанный с изучением и разработкой методов и средств для: а) адекватного описания в программах естественного параллелизма моделируемых в ЭВМ и управляемых ЭВМ систем и процессов, б) распараллеливания обработки информации … Математическая энциклопедия

    В программировании глобальной переменной называют переменную, областью видимости которой является вся программа (кроме затенённых (англ.) областей). Механизмы взаимодействия с глобальными переменными называют global state или global… … Википедия

    Динамическая переменная термин. Динамическая переменная (программирование) Динамическая переменная (физика) … Википедия

    В программировании локальной переменной называют переменную, объявленную внутри блока кода. Область видимости локальной переменной начинается в точке её объявления и заканчивается в конце этого блока. Эта статья содержит нез … Википедия

    У этого термина существуют и другие значения, см. Параметр (значения). Параметр в программировании принятый функцией аргумент. Термин «аргумент» подразумевает, что конкретно и какой конкретной функции было передано, а параметр в каком качестве… … Википедия

    У этого термина существуют и другие значения, см. SSI. SSI (Server Side Includes включения на стороне сервера) несложный язык для динамической «сборки» веб страниц на сервере из отдельных составных частей и выдачи клиенту полученного HTML… … Википедия