Разделы презентаций


Переменные в языке С

Содержание

ПЕРЕМЕННЫЕ В ЯЗЫКЕ С .Переменная — это именованная область памяти, в которой хранятся данные определенного типа. У переменной есть имя и значение. Имя служит для обращения к области памяти, в которой

Слайды и текст этой презентации

Слайд 1ПЕРЕМЕННЫЕ В ЯЗЫКЕ С

ПЕРЕМЕННЫЕ  В ЯЗЫКЕ  С

Слайд 2ПЕРЕМЕННЫЕ В ЯЗЫКЕ С .
Переменная — это именованная область памяти,

в которой хранятся данные определенного типа.
У переменной есть имя

и значение.
Имя служит для обращения к области памяти, в которой хранится значение.
Во время выполнения программы значение переменной можно изменять.
Перед использованием любая переменная должна быть описана.
ПЕРЕМЕННЫЕ В ЯЗЫКЕ С .Переменная — это именованная область памяти, в которой хранятся данные определенного типа. У

Слайд 3Правила описания переменных
Общий вид оператора описания переменных:
[класс памяти] [const] тип

имя [инициализатор];
класс памяти

может принимать одно из значений auto, extern,

static и register

модификатор const


показывает, что значение переменной изменять нельзя
такую переменную называют именованной константой, или просто константой

инициализатор


присваивает переменной начальное значение
Инициализатор можно записывать в двух формах
со знаком равенства: = значение,
в круглых скобках: ( значение )

Правила описания переменныхОбщий вид оператора описания переменных:[класс памяти] [const] тип имя [инициализатор]; класс памятиможет принимать одно из

Слайд 4Константа должна быть инициализирована при объявлении.

Константа должна быть инициализирована при объявлении.

Слайд 5Правила описания переменных
В одном операторе можно описать несколько переменных одного

типа, разделяя их запятыми
Примеры:
short int а = 1;

// целая переменная а
const char С = 'С’; // символьная константа С
char s, sf = 'f’; // инициализация относится только к sf.
char t (54);
float с = 0.22, x(3), sum;
Правила описания переменныхВ одном операторе можно описать несколько переменных одного типа, разделяя их запятымиПримеры:short int а =

Слайд 6Если тип инициализирующего значения не совпадает с типом переменной, выполняются

преобразования типа.

Если тип инициализирующего значения не совпадает с типом переменной, выполняются преобразования типа.

Слайд 7Правила преобразования типов
Любые операнды типа char, unsigned char или short

преобразуются к типу int
char расширяется нулем или знаком в

зависимости от умолчания для char
unsigned char расширяется нулем
signed char расширяется знаком
short, unsigned short и enum при преобразовании не изменяются

Затем любые два операнда становятся
либо int, либо float, double или long double

Правила преобразования типовЛюбые операнды типа char, unsigned char или short преобразуются к типу int char расширяется нулем

Слайд 8Правила преобразования типов

Правила преобразования типов

Слайд 9Область действия идентификатора
Описание переменной, кроме типа и класса памяти,

явно или по умолчанию задает ее
область действия.
Класс памяти и

область действия зависят не только от описания,
но и от места его размещения в тексте программы
Область действия идентификатора Описание переменной, кроме типа и класса памяти, явно или по умолчанию задает ее область

Слайд 10Область действия идентификатора —
это часть программы, в которой его

можно использовать для доступа к связанной с ним области памяти.

Область действия идентификатора — это часть программы, в которой его можно использовать для доступа к связанной с

Слайд 11Область действия идентификатора
В зависимости от области действия переменная может

быть локальной или глобальной
Если переменная определена внутри блока, она называется

локальной

область ее действия — от точки описания до конца блока, включая все вложенные блоки

Если переменная определена вне любого блока, она называется глобальной

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

Область действия идентификатора В зависимости от области действия переменная может быть локальной или глобальнойЕсли переменная определена внутри

Слайд 12Класс памяти определяет время жизни и область видимости программного объекта.
Если

класс памяти не указан явным образом, он определяется компилятором исходя

из контекста объявления.
Класс памяти определяет время жизни и область видимости программного объекта.Если класс памяти не указан явным образом, он

Слайд 13Класс памяти
Время жизни может быть:
постоянным - в течение

выполнения программы
временным - в течение выполнения блока

Класс памяти Время жизни может быть: постоянным - в течение выполнения программывременным - в течение выполнения блока

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

которой допустим обычный доступ к связанной с идентификатором областью памяти
Чаще

всего область видимости совпадает с областью действия

Исключением является ситуация, когда во вложенном блоке описана переменная с таким же именем

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

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

Слайд 15Класс памяти
Для задания класса памяти используются следующие спецификаторы:
auto
extern
static
register

Класс памяти Для задания класса памяти используются следующие спецификаторы:autoexternstaticregister

Слайд 16Класс памяти
auto
автоматическая переменная
память под нее выделяется в стеке и

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

определение
освобождение памяти происходит при выходе из блока, в котором описана переменная.
время ее жизни — с момента описания до конца блока

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

Класс памяти autoавтоматическая переменнаяпамять под нее выделяется в стеке и при необходимости инициализируется каждый раз при выполнении

Слайд 17Класс памяти
extern
означает, что переменная определяется в другом месте программы


(в другом файле или дальше по тексту)
используется для создания переменных,

доступных во всех модулях программы, в которых они объявлены

Если переменная в том же операторе инициализируется, спецификатор extern игнорируется

Класс памяти externозначает, что переменная определяется в другом месте программы (в другом файле или дальше по тексту)используется

Слайд 18Класс памяти
static
статическая переменная
время жизни — постоянное
инициализируется один раз при

первом выполнении оператора, содержащего определение переменной
в зависимости от расположения оператора

описания статические переменные могут быть глобальными и локальными

Глобальные статические переменные видны только в том модуле, в котором они описаны

Класс памяти staticстатическая переменнаявремя жизни — постоянноеинициализируется один раз при первом выполнении оператора, содержащего определение переменнойв зависимости

Слайд 19Класс памяти
register
аналогично auto, но память выделяется по возможности в

регистрах процессора
если такой возможности у компилятора нет, переменные обрабатываются как

auto
Класс памяти registerаналогично auto, но память выделяется по возможности в регистрах процессораесли такой возможности у компилятора нет,

Слайд 20Пример
int a; // 1 глобальная переменная а
int main(){
int

b; // 2 локальная переменная b
extern int x;

// 3 переменная х определена в другом месте
static int с; // 4 локальная статическая переменная с
а = 1; // 5 присваивание глобальной переменной
int a; // 6 локальная переменная а
а = 2; // 7 присваивание локальной переменной
::а = 3; // 8 присваивание глобальной переменной
return 0;
}
int x = 4; // 9 определение и инициализация х
Примерint a;		  // 1 глобальная переменная аint main(){ int b;	  // 2 локальная переменная b

Слайд 21Пример
В этом примере глобальная переменная а определена вне всех блоков.
память

под нее выделяется в сегменте данных в начале работы программы
областью

действия является вся программа

область видимости — вся программа, кроме строк 6-8

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

ПримерВ этом примере глобальная переменная а определена вне всех блоков.память под нее выделяется в сегменте данных в

Слайд 22Пример
Переменные b и с — локальные.
область их видимости — блок
время

жизни различно:
память под b выделяется в стеке при входе в

блок и освобождается при выходе из него
переменная с располагается в сегменте данных и существует все время, пока работает программа
ПримерПеременные b и с — локальные.область их видимости — блоквремя жизни различно:память под b выделяется в стеке

Слайд 23Если при определении начальное значение переменных явным образом не задается,


компилятор присваивает глобальным и статическим переменным нулевое значение соответствующего типа.
Автоматические

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

Слайд 24Объявление и определение переменной
Описание переменной может выполняться в форме объявления

или определения
объявление информирует компилятор о типе переменной и классе памяти
определение

содержит, кроме этого, указание компилятору выделить память в соответствии с типом переменной

В C большинство объявлений являются одновременно и определениями

в приведенном выше примере только описание 3 является объявлением, но не определением

Объявление и определение переменнойОписание переменной может выполняться в форме объявления или определенияобъявление информирует компилятор о типе переменной

Слайд 25Переменная может быть объявлена многократно, но определена только в одном

месте программы!!!
поскольку объявление просто описывает свойства переменной, а определение связывает

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

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика