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’.


 

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

36067. Схоластика в традиции европейской ментальности 135.1 KB
  Философ Эриугена от которого ведут начало схоластики был приглашен ко двору короля Карла Лысого в Париж из далекой Ирландии где в монастырских школах сохранились традиции латинской и греческой образованности. Неосхоластика или вторая схоластика ряд течений католической философской мысли ориентированных на возрождение схоластики осуществляемое в рамках: контрреформации 15 вв. Теоретическими источниками формирования схоластики выступают: византийская теология и патристика прежде всего сочинения Августина Блаженного....
36068. Целевое конспектирование источников по дисциплине «Философия» 2.14 MB
  Но когда у человека его вожделения резко клонятся к чемунибудь одному мы знаем что от этого они слабеют в отношении всего остального словно поток отведенный в сторону. Если ему свойственны возвышенные помыслы и охват мысленным взором целокупного времени и бытия думаешь ли ты что для такого человека много значит человеческая жизнь Нет это невозможно Значит такой человек и смерть не будет считать чемто ужасным Менее всего. Вот почему рассматривая философская ли душа у какогонибудь человека или нет ты сразу еще в его...
36069. Философия. Основы философии 1.2 MB
  В своих сочинениях Платон не просто ставит и решает те или иные философские проблемы он дает нам чистый образец того что есть философское рассуждение само по себе что за мир открывается философу и каково значение обращения души человека к миру умопостигаемого. Душа видевшая всего больше попадает в плод будущего поклонника мудрости и красоты или человека преданного Музам и любви; вторая за ней в плод царя соблюдающего законы в человека воинственного или способного управлять; третья в плод государственного деятеля хозяина...
36070. Философия жизни 130.5 KB
  Ницше: он подверг критике рационалистические концепции мира человека истории которые господствовали в философии на протяжении XVII XVIII первой половины XIX вв. НИЦШЕ гениальный немецкий философ главным мучением всей жизни которого был вопрос: Можно ли надеяться когданибудь облагородить человечество Наделенный ясновиденьем нервов С. Цвейг Ницше пережил смерть Бога в личном трагическом опыте и вместе с тем провозвещая XX век постиг как судьбу современного человека. Обозначив кризис европейского гуманизма философия Ницше...
36071. Конспект лекцій з курсу Філософія 1.63 MB
  Філософія як форма світогляду її роль в житті суспільства і людини. Буття людини. У цій ситуації проблеми світоглядної орієнтації людини усвідомлення нею свого місця і ролі в суспільстві мети і сенсу соціальної і особистої активності відповідальності за свої вчинки і вибір форм і напрямів своєї діяльності стають головними життєвими цінностями. У становленні і формуванні світоглядної культури людини філософія завжди грала особливу роль повязану з її багатовіковим досвідом критичнорефлексивного осмислення глибинних...
36072. Потенціал підприємства: сутність і механізм функціонування 73.5 KB
  Предмет мета завдання курсу управління потенціалом підприємства УПП . Елементи підприємницького потенціалу підприємства ППП Джерела потенціалу підприємства і шляхи його збільшення. Управління потенціалом підприємства УПП є сферою економічного дослідження і створення методів аналізу і оцінювання можливостей підприємств з урахуванням практики діагностики внутрішнього і зовнішнього середовища підприємств.
36073. Структурний аналіз ресурсного потенціалу в системі управління витратами і інвестиціями 92 KB
  Структурний аналіз ресурсного потенціалу в системі управління витратами і інвестиціями. Обєкти субєкти цілі в системі управління витратами. Аналіз витрат і прийняття управлінського рішення. Резерви підприємства можуть бути повязані з витратами.
36074. Виробничий потенціал: структура, вимірювання величини, оцінювання ефективності використання 89 KB
  План Характеристика виробничого потенціалу. Оцінювання виробничого потенціалу на підставі аналізу рівня ефективності використання структури робочих місць. Оцінювання ефективності використання основних елементів потенціалу підприємства основних фондів виробничого персоналу технологічного та інформаційного потенціалу. Але поряд з цим існує ще ряд практичних завдань при вирішенні цієї проблеми: вибір найбільш ефективного показника для оцінювання виробничого потенціалу підприємства; обгрунтування збалансованості виробничого...
36075. Управління потенціалом підприємства на основі маркетингової діяльності (діагностика) 205 KB
  Розробка стратегії маркетингу починається з визначення ринку або його окремого сегменту на якому здійснюється діяльність підприємства. Мета аналізу СЗГ оцінювання перспектив розвитку з погляду масштабів зростання стабільності місткості ринку перспектив технологій норми прибутку. Стан зовнішнього оточення СЗГ слід оцінювати з використанням змінних параметрів : перспектив зростання перспектив рентабельності очікуваного рівня нестабільності успішної конкурентності на ринку. Очікуваний рівень нестабільності характеризується...