2807

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

Лекция

Информатика, кибернетика и программирование

Лекция 5 Объявление и инициализация переменных Переменная – это ячейка памяти определённого типа, в которой может храниться значение данного типа. Объявление переменной – это её создание в тексте программы. Форма записи: модификатор тип сп...

Русский

2012-10-19

37.5 KB

20 чел.

Лекция 5

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

Переменная – это ячейка памяти определённого типа, в которой может храниться значение данного типа. Объявление переменной – это её создание в тексте программы. Форма записи:

модификатор тип список_переменных;

Поле модификатор определяет класс памяти переменной или особенности преобразования переменной компилятором и является необязательным. Поле тип определяет тип переменной, может быть одним из базовых типов данных языка C или типов данных, определяемых пользователем, и является обязательным. Нельзя создать переменную типа void. Поле список_переменных является обязательным и содержит одно или несколько объявлений переменных, разделённых запятыми.

Форма объявления переменной в поле список_переменных:

имя=инициализатор

Поле имя задаёт идентификатор переменной и является обязательным. Поле инициализатор задает инициализатор переменной и является необязательным.

При объявлении переменной компилятор выделяет место в памяти компьютера, необходимое для размещения переменной данного типа.

Пример 1

int a, b, c;

float a1,a2;

unsigned int unsigned_int;

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

В языке C переменная может быть объявлена:

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

Подробнее об этом – при рассмотрении классов памяти и областей видимости.

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

Пример 2

int a, b=10, c;

float a1=3.7,a2=2.5;

unsigned int unsigned_int=0;

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

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

Пример 3

for(int i=0;i<5;i++)

{

int h=0;

h++;

}

В стандарте ANSI языка C инициализировать переменную можно только константой (статическая инициализация). В реализации языка C фирмой Borland и в языке C++ инициализировать можно не только константой, но и выражением с использованием значений переменных, которые были ранее определены (динамическая инициализация).

Если переменную типа int или char инициализировать константой, значение которой лежит за пределами диапазона значений типа данных переменной, то значением переменной будет целочисленный остаток от деления константы на число , где size – размер типа данных переменной в битах.

Пример 4

char ch=259;

В переменную ch будет занесено значение 3.

Если переменную типа float или double инициализировать константой, значение которой больше верхней положительной или меньше нижней отрицательной границы диапазона значений типа данных переменной, то значение переменной в программе будет не определено, так как произойдёт переполнение разрядной сетки. Если же значение константы меньше нижней положительной и больше верхней отрицательной границы диапазона значений типа данных переменной, то переменная будет инициализирована нулём.

Пример 5

float f1=5e-50, f2=5e+50;

В переменную f1 будет занесено значение 0, значение переменной f2 – +INF.

Если знаковую переменную типа int или char инициализировать константой, значение которой не лежит в диапазоне значений типа данных переменной, но лежит в диапазоне значений беззнаковой переменной этого же типа, то присваиваемое значение будет рассматриваться как число в дополнительном коде, и присвоенное переменной значение будет отрицательным числом.

Пример 6

short int k=40000;

Переменная k будет иметь значение –25536.

Если беззнаковую переменную типа int или char инициализировать константой, значение которой не лежит в диапазоне значений типа данных переменной, но лежит в диапазоне значений знаковой переменной этого же типа, то присваиваемое значение будет рассматриваться как число в прямом коде, и присвоенное переменной значение будет положительным числом.

Пример 7

unsigned short t=-15;

Переменная t будет иметь значение 65521.

Переменную типа char можно инициализировать константой типа int, значение которой лежит в диапазоне значений типа данных char. В этом случае в переменную будет занесено целое число – код символа, который в дальнейшем будет рассматриваться как символ.

Пример 8

char ch=87;

В переменную ch будет занесено значение 87, соответствующее символу ‘W’.


 

А также другие работы, которые могут Вас заинтересовать

33900. Внешнеполитическая деятельность СССР в 50-х – начале 60-х гг.: отношения с социалистическими странами 34 KB
  Внешнеполитическая деятельность СССР в 50х начале 60х гг. СССр послал в Югославию комиссии для изучения того что сделано за годы разрыва. Официальный разрыв в 1960 когда КПК обвинила СССР в ревизионизме. Отказавшись от курса на мировую революцию СССР продолжал занимать руководящие позиции в лагере социалистических стран.
33901. Внешнеполитическая деятельность СССР в 50-х – начале 60-х гг.: отношения с развивающимися государствами 36.5 KB
  Внешнеполитическая деятельность СССР в 50х начале 60х гг. СССР оказывает экономическую помощь странам 3го мира. успех СССР в мире Женевская конференция в 1954 и 1955. СССР оказывает экономическую помощь странам 3го мира.
33902. Относительные величины, используемые в статистической практике 23.61 KB
  Относительная величина структуры ОВС характеризует структуру совокупности определяет долю удельный вес части в общем объеме совокупности. ОВС рассчитывают как отношение объема части совокупности к абсолютной величине всей совокупности определяя тем самым удельный вес части в общем объеме совокупности : Относительная величина координации ОВК отношение одной части совокупности к другой ее части; показываетсколько единиц части стоящих в числителе формулы приходится на единицу другой части находящейся в знаменателе....
33903. Общее представление о статистических таблицах 12.38 KB
  По внешнему виду статистическая таблица представляет собой ряд пересекающихся горизонтальных и вертикальных линий образующих по горизонтали строки а по вертикали графы столбцы колонки которые в совокупности составляют как бы скелет таблицы. В образовавшиеся внутри таблицы клетки записывается информация. Составленную таблицу принято называть макетом таблицы. Подлежащее таблицы показывает о каком явлении идет речь в таблице и представляет собой группы и подгруппы которые характеризуются рядом показателей.
33904. Виды статистических таблиц. (Статистические таблицы. Виды таблиц. Подлежащее и сказуемое в таблицах) 11.49 KB
  Статистические таблицы. Основными элементами статистической таблицы являются подлежащее и сказуемое таблицы. Подлежащее таблицы это объект статистического изучения то есть отдельные единицы совокупности их группы или вся совокупность в целом. Сказуемое таблицы это статистические показатели характеризующие изучаемый объект.
33905. Основные правила построения статистических таблиц 11.5 KB
  Таблицы состоят из элементов: 1Нумерационный заголовок 2Тематические заголовки 3Заголовки и подзаголовки граф. Основными элементами статистической таблицы являются подлежащее и сказуемое таблицы. Подлежащее таблицы это объект статистического изучения то есть отдельные единицы совокупности их группы или вся совокупность в целом. Сказуемое таблицы это статистические показатели характеризующие изучаемый объект.
33906. Виды статистических графиков 11.89 KB
  Линейные диаграммы строятся в системе координат по оси х откладываются отрезки соответствующие датам или периодам времени а по оси Y откладываются уровни ряда динамики или темпы их изменения. Линейные диаграммы применяются для характеристики оценки выполнения плана. Столбиковые диаграммы имеют одинаковое основание по оси х а высота их равна числовым значениям уровней признаков. Столбиковые диаграммы используются для сравнения по тер.
33907. Сущность средней величины и условия ее применения 11.19 KB
  Статистической совокупности. Средняя величина только тогда будет отражать типичный уровень признака когда она рассчитана по качественно-однородной совокупности.
33908. Средняя арифметическая и ее свойства 15.55 KB
  Средняя арифметическая и ее свойства. В статистической практике из всех видов средних чаще всего используется средняя арифметическая. Средняя арифметическая обладает некоторыми свойствами которые определяют ее широкое применение в экономических расчетах и в практике статистического исследования. Средняя арифметическая постоянной величины равна этой постоянной.