П. А. Соловьева в. Г. Шаров структурное программирование на с++ Конспект лекций





НазваниеП. А. Соловьева в. Г. Шаров структурное программирование на с++ Конспект лекций
страница4/18
Дата публикации20.09.2013
Размер0.64 Mb.
ТипКонспект
100-bal.ru > Информатика > Конспект
1   2   3   4   5   6   7   8   9   ...   18

Блоки. Область видимости переменных.


Аналогично Паскалю в C++ вводится понятие блока. Под блоком понимается часть программного кода, заключенная в фигурные скобки {…}.

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

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

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

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

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

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

extern – внешняя переменная, которая определена в другом месте программы. Используется для переменных, которые могут быть доступны в любом модуле программы, в котором они объявлены.

Выражения


Выражение задает правило вычисления некоторого значения. В зависимости от числа операндов входящие в выражение операции делятся на унарные (один операнд), бинарные (два операнда) и тернарные (три операнда). Операндами могут быть константы, переменные, функции и выражения. При записи в выражении функции список ее аргументов заключается в круглые скобки, например, sin(a) или NOD(m,n).

Примером унарной операции является операция изменения знака -5.24, бинарной – операция сложения 4+7.

Основные операции, используемые при записи выражений

Арифметические унарные

+

унарный плюс

-

унарный минус (арифметическое отрицание)

++

увеличение на 1 (инкремент)

--

уменьшение на 1 (декремент)

Арифметические бинарные

*

умножение

/

деление

%

деление по модулю (остаток от деления)

+

сложение

-

вычитание

Логические унарные

!

отрицание

Логические бинарные

&&

логическое И (конъюнкция)

||

логическое ИЛИ (дизъюнкция)

Операции отношения

<

меньше

<=

не больше

==

равно

!=

не равно

>=

не меньше

>

больше

Прочие

sizeof(…)

размер типа

(…) ? … : …

условное выражение

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

Префиксная форма

++х - инкремент, увеличение значения операнда на 1 до его использования;

--х - декремент, уменьшение значения операнда на 1 до его использования;

сначала изменяется переменная (x), а затем с учетом этого изменения вычисляется выражение, в которое входит инкремент (декремент).
Постфиксная форма

x++ - инкремент, увеличение значения операнда на 1 после его использования;

x-- - декремент, уменьшение значения операнда на 1 после его использования;

сначала вычисляется выражение, в которое входит инкремент (декремент), при этом используется старое значение переменной (x), а затем изменяется переменная.

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

Приоритет

Обозначение операции

Название операции

1

++

постфиксный инкремент

--

постфиксный декремент

2

sizeof

размер операнда в байтах

++

префиксный инкремент

--

префиксный декремент

!

логическое НЕ

+

унарный плюс

-

унарный минус

3

*

умножение

/

деление

%

деление по модулю

4

+

сложение

-

вычитание

5

<

меньше

>

больше

<=

меньше или равно

>=

больше или равно

6

==

равно

!=

не равно

7

&&

логическое И

8

||

логическое ИЛИ

9

? :

условная



Примеры:

++x-y/4-(5*d-y)

(a+2*b)/y--

Условное выражение

(x<0) ? 35 : 18 //если x<0, то выражение принимает значение 35, иначе 18

(a<b) ? b : a // максимальное из значений двух переменных

1   2   3   4   5   6   7   8   9   ...   18

Похожие:

П. А. Соловьева в. Г. Шаров структурное программирование на с++ Конспект лекций iconПрограмма по формированию навыков безопасного поведения на дорогах...
Мама купила 6 шаров красного и голубого цвета. Красных было больше, чем голубых. Сколько шаров каждого цвета могло быть? (2варианта...
П. А. Соловьева в. Г. Шаров структурное программирование на с++ Конспект лекций iconС. П. Филин Концепции современного естествознания: конспект лекций
Конспект лекций соответствует требованиям Государственного образовательного стандарта высшего профессионального образования РФ и...
П. А. Соловьева в. Г. Шаров структурное программирование на с++ Конспект лекций iconКонспект лекций раскрывает содержание и структуру учебной дисциплины...
Налоговое право : конспект лекций / сост доцент Р. В. Бобринев; Кузбасский институт экономики и права. – Кемерово, 2011 – 144 с
П. А. Соловьева в. Г. Шаров структурное программирование на с++ Конспект лекций icon«программирование»
Рабочая программа дисциплины «Программирование» /сост. Хатаева Р. С.– Грозный: чгпи, 2011г
П. А. Соловьева в. Г. Шаров структурное программирование на с++ Конспект лекций iconКонспект лекций по философии Часть 1 Античная философия Новосибирск...
Савостьянов А. Н. Конспект лекций по философии / Новосиб гос ун-т. Новосибирск, 2007. Ч. Античная философия. 68 с
П. А. Соловьева в. Г. Шаров структурное программирование на с++ Конспект лекций iconКонспект лекций по курсу хозяйственного права тема Понятие хозяйственного права
Кафедра Истории, социологии и права Назаров Андрей Александрович конспект лекций по курсу хозяйственного права
П. А. Соловьева в. Г. Шаров структурное программирование на с++ Конспект лекций iconКонспект лекций по высшей математике. В 2 частях. Часть М.: Айрис-пресс,...
Баранова Е. С., Васильева Н. В., Федотов В. Л. Практическое пособие по высшей математике. Типовые расчеты. Учебное пособие. — Спб:...
П. А. Соловьева в. Г. Шаров структурное программирование на с++ Конспект лекций iconОпорный конспект лекций Основные понятия, термины, законы, схемы...
Л. Н. Блинов, Н. Н. Ролле. Экология: опорный конспект лекций. Основные понятия, термины, законы, схемы. Спб.: Изд. Спбгпу. 2005....
П. А. Соловьева в. Г. Шаров структурное программирование на с++ Конспект лекций iconН. Д. Серова структурное подразделение детский сад Конспект
Универсальные учебные действия: 1 формирование основ социально ценных личностных и нравственных качеств: уважение и вежливое отношение...
П. А. Соловьева в. Г. Шаров структурное программирование на с++ Конспект лекций icon12 Достижения компьютерной техники 15 Программирование
Программирование 3
П. А. Соловьева в. Г. Шаров структурное программирование на с++ Конспект лекций iconКонспект урока л. Н. Андреев «Кусака». Сострадание и бессердечие...
«моу шалакушская средняя школа» структурное подразделение «Шожемская основная школа»
П. А. Соловьева в. Г. Шаров структурное программирование на с++ Конспект лекций iconКонспект лекций Владимира Климентьева по истории философии, отредактированный...
Рекомендовано Министерством общего и профессионального образования Российской федерации в качестве учебника для студентов высших...
П. А. Соловьева в. Г. Шаров структурное программирование на с++ Конспект лекций iconТеория организации Конспект лекций для студентов специальности «Менеджмент организации»
Макарова н. Н. Теория организации. Конспект лекций с практическими заданиями для студентов специальности "Менеджмент организации....
П. А. Соловьева в. Г. Шаров структурное программирование на с++ Конспект лекций iconЕленевский А. Г., Соловьева М. П., Тихомиров В. Н. Ботаника высших или наземных растений
Он является обязательным для студентов 2 курса очной и заочной форм обучения на биолого-химическом факультете и рассчитан на очном...
П. А. Соловьева в. Г. Шаров структурное программирование на с++ Конспект лекций iconФгбоу впо «агту» Обособленное структурное подразделение «Волго-Каспийский...
Полное наименование: Обособленное структурное подразделение «Волго-Каспийский морской рыбопромышленный колледж» федерального государственного...
П. А. Соловьева в. Г. Шаров структурное программирование на с++ Конспект лекций iconПисьменный Д. Т. Конспект лекций по теории вероятностей, математической...
Письменный Д. Т. Конспект лекций по теории вероятностей, математической статистике и случайным процессам. 3-е изд. М.: Айрис-пресс,...


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск