2807

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

Лекция

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

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

Русский

2012-10-19

37.5 KB

17 чел.

Лекция 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’.


 

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

48222. Технічна механіка 8.62 MB
  Технічна механіка є фундаментальною загальнотехнічною дисципліною, невід’ємною складовою системи підготовки інженерно-технічних працівників. Під час вивчення курсу студенти оволодівають знаннями законів рівноваги та руху матеріальних тіл, методів розрахунку елементів конструкцій, машин та споруд на міцність, жорсткість, стійкість, основами проектування деталей, вузлів машин. Знання дисципліни необхідні спеціалістам, які повинні організовувати належну експлуатацію й обслуговування сучасної залізничної техніки, удосконалювати її конструкцію та технології застосування.
48223. ТЕРМИЧЕСКИЕ МЕТОДЫ ОЧИСТКИ ВОД 81.5 KB
  Установки термического обезвреживания минерализованных сточных вод должны соответствовать следующим основным требованиям: I обеспечивать снижение концентрации вредных веществ в очищаемой воде до значений меньших ПДК; 2 иметь незначительную чувствительность к составу стоков; 3 обеспечивать надежность и экономичность в работе; 4. Концентрирование сточных вод Многокорпусные выпарные установки. На практике используют однокорпусные и многокорпусные выпарные установки включающие аппараты с естественной и принудительной циркуляцией. Наибольшее...
48224. Основні підходи до визначення поняття парламентаризму 56 KB
  : Поняття П = відображає з одно боку місце парламенту в мехзмі поділу влади і в цьому значенні наближене до політичного режиму а з іншого – принципи устрою парламенту. влади: У вузькому розумінні: оргція і функціонування органу законодавчої влади що хться верховенством парламенту наявністю в нього виключних прерогатив і повноважень Журавський В. влади з особливою активною 1998 роллю парламенту. влади з вагомою і значною роллю парламенту передбаченими Кцією можливостями його активного впливу на сусп.
48225. Бізнес план виноробного заводу «INKERMAN International» 135 KB
  Щорічно вина Inkerman виграють тендер Міністерства закордонних справ України, присутні на заходах державного рівня — поставляються до закордонних представництв і посольств України, подаються на всіх офіційних дипломатичних прийомах.
48226. Теорія та методика обраного виду спорту 155 KB
  До таких показників ставляться: час рухової реакції час виконання одиночного руху величина й характер зусиль що розвивають дані про біоелектричну активність м'язів частота скорочень серця частота подиху вентиляція легенів серцевий викид споживання кисню швидкість нагромадження й кількість лактата в крові. При визначенні ступеня специфічності вправ потрібно орієнтуватися не тільки на зовнішню форму рухів але й на характер їхньої координаційної структури особливості функціонування м'язів вегетативні реакції. До вправ загального...
48227. Релігієзнавство. Курс лекцій 486 KB
  Це зумовлено тією роллю яку відіграє релігія в житті сучасного суспільства та окремої людини впливом релігії на політику культуру тощо. Інтерес до закономірностей розвитку релігії її історії інших проблем пов'язаних з взаємовідносинами церкви і держави міжконфесійними стосунками постійно зростає. Таким чином слід наголосити що об'єкт і предмет релігієзнавства співпадають: це – закономірності становлення та розвитку релігії її роль у житті суспільства та індивіда. До структури релігієзнавства насамперед входять такі науки:  Філософія...
48228. ТЕОРЕТИЧНІ ОСНОВИ МЕТРОЛОГІЧНОГО ЗАБЕЗПЕЧЕННЯ ВИТРАТОВИМІРЮВАННЯ 3.65 MB
  ТЕОРЕТИЧНІ ОСНОВИ МЕТРОЛОГІЧНОГО ЗАБЕЗПЕЧЕННЯ ВИТРАТОВИМІРЮВАННЯ КОНСПЕКТ ЛЕКЦІЙ Для студентів спеціальності Метрологія та інформаційновимірювальна техніка Рекомендовано методичною радою університету ІваноФранківськ 2011 ІваноФранківський національний технічний університет нафти і газу С. Лекційне заняття №3 Класифікація засобів відтворення і вимірювання одиниць об’єму та об’ємної витрати газу. Газова промисловість України як окрема галузь паливноенергетичного напряму економіки держави складає сьогодні чи не...
48229. ТЕОРИЯ ОРГАНИЗАЦИИ 542.5 KB
  Фокина ТЕОРИЯ ОРГАНИЗАЦИИ Курс лекций для студентов специальности Менеджмент организации ИЗДАТЕЛЬСТВО САРАТОВСКОГО УНИВЕРСИТЕТА Теория организации: Курс лекций для студ. Менеджмент организации.В курсе лекций рассмотрены основные вопросы теории организации предусмотренные образовательным стандартом а также некоторые новые проблемы и точки роста.
48230. ПРЕДМЕТ І СИСТЕМА ТРУДОВОГО ПРАВА 391 KB
  Будьяка соціальноекономічна формація формувалася зростала й розвивалася на основі праці. Але юридичні науки цікавить не загальне поняття праці а праця як правове явище як міра праці необхідна для творчого зростання людини з урахуванням як особистого так і колективного та суспільного інтересів. Трудове право провідна галузь українського права яка є системою правових норм що регулюють сукупність трудових відносин працівників1 із роботодавцями а також інші відносини що випливають з трудових або тісно пов'язані з ними і...