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


ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++

Содержание

ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++1. Идеология языкаЯзыки С/С++ являются наиболее широко распространенными и часто используемыми языками программирования в мире. Они являются основными языками при разработке как системного, так и прикладного

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

Слайд 1ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++



ЛЕКЦИЯ 7,8

ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++ЛЕКЦИЯ 7,8

Слайд 2ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
1. Идеология языка
Языки С/С++ являются

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

Они являются основными языками при разработке как системного, так и прикладного программного обеспечения. Владение ими является необходимым условием получения высокооплачиваемой работы в области информационных технологий.
Язык С появился в 1972 г. благодаря усилиям двух специалистов лаборатории Bell Брайена Кернигана и Денниса Ритчи и быстро завоевал признание среди разработчиков всего мира.
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++1. Идеология языкаЯзыки С/С++ являются наиболее широко распространенными и часто используемыми языками

Слайд 3ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
Этому способствовали его следующие характерные

особенности:
Эффективность. Программы, написанные на С

обладают небольшим размером и высокой скоростью исполнения.
Лаконичность. Запись алгоритма выразительна и кратка.
Компактность. Язык содержит мало встроенных средств и ключевых слов.
Мощность. Мощность применения достигается за счет использования многочисленных библиотек.
Переносимость. Компиляторы созданы для всех операционных систем и аппаратных платформ, поэтому программу можно скомпилировать и запустить практически везде.
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++Этому способствовали его следующие характерные особенности:Эффективность.  Программы,  написанные  на

Слайд 4ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
К основным недостаткам С можно

отнести слабый контроль преобразования типов и незащищенность при работе с

адресами и динамической памятью, в результате которых в программе легко сделать ошибку, которую будет трудно найти. С другой стороны эти недостатки и позволяют создать исполняемый код по эффективности приближающийся к программе на языке Ассемблера.
В 1981 году появился язык С++, который многие называют "С с классами". Создатель С++ Бъярн Страуструп ввел в традиционный С средства объектного языка: классы для представления внутренней структуры объектов, механизм наследования и новые средства работы с динамической памятью и с вводом/выводом.
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++К основным недостаткам С можно отнести слабый контроль преобразования типов и незащищенность

Слайд 5ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
Данные средства позволили не только

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

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

ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++Данные средства позволили не только писать объектно­ориентированные программы, но и создавать библиотеки

Слайд 6ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
В литературе по ООП рассматривают

С и С++ как единый язык, кроме случаев, когда необходимо

подчеркнуть разницу между ними. Отметим только, что С/С++ сочетает в себе вышеперечисленные достоинства С и новые возможности С++, позволяя "изнутри" рассмотреть принципы высокоуровневого программирования.
Язык С++ объединяет в себе средства высоко- уровневого и низкоуровневого программирования.

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

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

Все это делает С++ весьма привлекательным для решения широкого круга задач
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++В литературе по ООП рассматривают С и С++ как единый язык, кроме

Слайд 7ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
2. Принципы Объектно-ориентированного подхода в

Си++:
Действие в объектно-ориентированном програм- мировании инициируется посредством передачи сообщений

объекту. Сообщение содержит запрос на осуществление действия. В качестве реакции на сообщение получатель запустит некоторый метод, чтобы удовлетворить принятый запрос.
Все объекты являются экземплярами, классов. Все объекты одного класса используют одни и те же методы в ответ на одинаковые сообщения.
Принцип наследования. Классы могут быть организованы в иерархическую структуру с наследованием свойств. Дочерний класс наследует атрибуты родительского класса.
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++2. Принципы Объектно-ориентированного подхода в Си++: Действие в объектно-ориентированном програм- мировании инициируется

Слайд 8ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
4. Принцип полиморфизма. Объекты реагируют

на одно и тоже сообщение строго специфичным для них образом.


5. Программы, как объекты разработки, строятся и проектируются как совокупность частей, согласованная работа которых и реализует заданные функциональные возможности.
Рассматривая в целом архитектуру ПО можно выделить 5 уровней исходного текста программы:
Атомарный
Устойчивые конструкции и составные операторы
Процедуры (функции)
Модули­объекты
Библиотеки функций и классов.

ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++4. Принцип полиморфизма. Объекты реагируют на одно и тоже сообщение строго специфичным

Слайд 9ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
Атомарный уровень. Первый уровень составляют

исходные конструкции самого языка программирования -операторы, операции, символические обозначения (имена)

переменных и функций. Данный уровень можно назвать атомарным, поскольку он оперирует наименьшими программными конструкциями и исходными понятиями (алфавитом, операциями и т.д.). Атомарный уровень является необходимым в любой программе: как в простой, так и в сложной. Для того, чтобы составлять программы на этом уровне необходимы минимальные знания синтаксиса языка и базовых алгоритмов, что было изучено во 2-м семестре.
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++Атомарный уровень. Первый уровень составляют исходные конструкции самого языка программирования -операторы, операции,

Слайд 10ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
2. Устойчивые конструкции и составные

операторы. На втором уровне располагаются составные операторы и выражения, состоящие

из выражений первого уровня и выполняющие в программе определенную задачу. Ряд конструкций приведен в табл.на следующем слайде.
Преимущество этих конструкций заключается в том, что их можно использовать практически без изменений в различных программах, что позволяет сосредоточить больше внимания на предметной области и повысить скорость разработки.
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++2. Устойчивые конструкции и составные операторы. На втором уровне располагаются составные операторы

Слайд 11ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++

ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++

Слайд 12ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
3. Процедуры (функции). Функция представляет

собой исчерпывающее решение какой­либо небольшой задачи и представляет собой в

С/C++ структурную единицу программы.
Любая программа на C/С++ состоит минимум из одной функции (main), а максимальное их количество не ограничено. Оптимальный размер тела функции составляет 5­20 строк, по одному­два выражения в каждой. Однажды написанная и протестированная, функция может многократно использоваться (вызываться) в пределах одной программы при разных наборах входных данных, осуществляя их обработку по некоторому алгоритму.
Функция может считаться относительно независимой частью программы и переноситься в другие проекты по разработке ПО.
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++3. Процедуры (функции). Функция представляет собой исчерпывающее решение какой­либо небольшой задачи и

Слайд 13ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
5. Модули­объекты. Большие программные комплексы

состоят из огромного количества функций. Одной из важнейших задач в

этом случае является их организация и размещение в проекте. Понятие микрозадачи, решаемой одной функцией становится слишком малым для таких проектов, поэтому вводится макрозадача, решение которой выполняет модуль.
Модуль - это набор функций, как правило размещаемых в одном файле и определенным образом связанных друг с другом для решения макрозадачи.
Например, в программе может быть модуль обработки текстовой информации, модуль интерфейса, модуль ввода-вывода.
Аналогом модулей процедурно­ориентированного программирования (ПОП) в объектно­ориентированном программировании (ООП) является описание класса, или внутренней структуры объекта.
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++5. Модули­объекты. Большие программные комплексы состоят из огромного количества функций. Одной из

Слайд 14ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
6. Библиотеки функций и классов.

Наборы функций и иерархии классов образуют библиотеки.
Содержимое библиотек должно

быть универсально для решения широкого круга задач. Например, существуют библиотеки для работы с графикой (знаменитые OpenGL DirectX в Windows), со временем, для обеспечения функций связи.
Существующие библиотеки классов (Microsoft MFC, Borland OWL) облегчают создание Windows-приложений.
Работа с текстом программы на последних двух уровнях требует от разработчика развитого абстрактного мышления и как профессиональная деятельность оценивается очень высоко.
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++6. Библиотеки функций и классов. Наборы функций и иерархии классов образуют библиотеки.

Слайд 15ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
3. Построение исполняемого файла
В создании

готовой программы на С++ принимают участие несколько инструментальных средств, входящих

в пакет разработчика. К ним относятся:
Текстовый редактор. Текстовый редактор должен обеспечивать подсветку синтаксиса, то есть выделять разными цветами синтаксические элементы программы для улучшения восприятия. Сохранять результат работы редактор должен в виде простого текста без разметки и управляющих символов (чистый ASCII­код).
Препроцессор. Данное средство предназначено для предварительной обработки текста программы,подстановки в текст макроопределений, включения текста заголовочных файлов.
Компилятор. Производит перевод текста на С++ в машинный код и создает объектный файл, который пока еще не готов к исполнению.
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++			3. Построение исполняемого файлаВ создании готовой программы на С++ принимают участие несколько

Слайд 16ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
4. Компоновщик. Компонует один или

несколько объектных файлов с кодом библиотек, связывает вызовы функций с

точками входа в соответствующие участки кода, образуя выполняемый EXE файл.
5. Отладчик. Служит для поиска ошибок выполнения, просмотра во время выполнения программы значений переменных, участков памяти и т.п.
Текст программы помещается в один или несколько исходных файлов, по традиции имеющих расширение .с или .срр.
Каждый файл, последовательно, обрабатывает препроцессор с компилятором, выявляя ошибки компиляции (errors) и предупреждения (warnings). При наличии в тексте программы ошибок, компиляция прекращается до их устранения и новой компиляции.
После компиляции всех исходных файлов запускается компоновщик, который также может выдавать сообщения об ошибках.
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++4. Компоновщик. Компонует один или несколько объектных файлов с кодом библиотек, связывает

Слайд 17ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++

ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++

Слайд 18ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
4. Состав языка
В тексте, написанном

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

предложения, причем более крупные единицы слагаются из мелких. Язык программирования, предназначенный для записи алгоритма решения задачи, предоставляет те же возможности.
Программа, написанная на С/C++ представляет собой текст в виде символов с ASCII­кодом и может содержать следующие лексические единицы: идентификаторы, ключевые слова, литералы, операторы и разделители.
Компилятор воспринимает исходный файл, содержащий программу, как последовательность текстовых строк. Каждая строка завершается символом новой строки. Компилятор последовательно считывает строки программы и разбивает каждую строку на группы символов, называемыми лексемами.
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++4. Состав языкаВ тексте, написанном на обычном разговорном языке можно выделить символы,

Слайд 19ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
Лексема - это единица

текста программы, имеющая самостоятельный смысл для компилятора и не содержащая

в себе других лексем. Никакие лексемы, кроме символьных строк, не могут продолжаться на последующих строках текста программы.
Компилятор производит синтаксический анализ в порядке расположения символов в программе. За очередную лексическую единицу принимается наибо- льший ряд знаков, который может ее образовывать.
Например, поскольку операторами являются как двойной плюс, так и одинарный плюс, такие выражения, как
a +++ b; представляются как a ++ + b; а не a + ++ b;

ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++ Лексема - это единица текста программы, имеющая самостоятельный смысл для компилятора

Слайд 20ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
Рассмотрим определения основных составляющих языка.
1)

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

программных конструкций.
2) Идентификатор (лексема) - набор символов, предназначенный для именования программных объектов (переменных, функций и т.д).
3) Ключевое слово -зарезервированная последовательность символов в программе.
4)Литерал -символ или последовательность символов, обозначающих данные (символьные или числовые).
5)Выражение - набор литералов, идентификаторов и символов операций, предназначенный для записи правила вычисления значения или элементарного действия в программе.
6) Разделители - специальные символы, отделяющие конструкции друг от друга. Ими являются пробел, точка с запятой, скобки.
7) Оператор - законченное описание некоторого действия.
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++Рассмотрим определения основных составляющих языка.1) Алфавит представляет собой набор допустимых символов, используемых

Слайд 21ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
Для описания сложного действия требуется

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

составной оператор.
Операторы бывают исполняемые и неисполняемые. Первые задают действия над данными, а вторые служат для описания данных.
Теперь напомним составляющие языка.
1). Алфавит. : латинские буквы и символ подчеркивания, цифры, специальные символы (знаки операций, разделители, специальные символы и т.п.) – аналогично любому языку высокого уровня.
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++Для описания сложного действия требуется последовательность операторов, выражений, которые могут быть объединены

Слайд 22ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
2). Идентификаторы. Для построения идентификато-

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

и строчные буквы различаются. Первым символом идентификатора не может быть цифра, а в середине не могут встречать- ся пробелы.
3). Идентификаторы могут быть произвольной длины, но большинство компиляторов налагают на нее огра- ничения. Длинные имена плохо читаются и при их наборе можно сделать ошибку. Наоборот, слишком короткие имена часто вносят путаницу в программу и требуют дополнительных комментариев.
Идентификатор создается на этапе объявления программного объекта и затем может быть использован в выражениях и операторах программы.
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++2). Идентификаторы. Для построения идентификато- ров могут использоваться латинские буквы, цифры и

Слайд 23ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
3. Ключевые слова. Список ключевых

слов можно найти в любой книге по С/С++, поэтому мы

не будем специально их рассматривать. К ним относятся названия встроенных типов, имена операторов, всевозможные директивы и модификаторы. Главное, чтобы в программе ключевое слово использовалось по прямому назначению, а не выступало в роли идентификатора.
4. Литералы. Литералы представляют собой последователь- ности символов, обозначающие символьные и числовые данные.
Например, последовательность трех цифр -123 может означать в программе число 123, а при заключении в двойные кавычки -строку, содержащую изображение данного числа.
При задании символьных констант, изображения символов заключаются в одиночные кавычки, а при задании строковых констант -в двойные.
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++3. Ключевые слова. Список ключевых слов можно найти в любой книге по

Слайд 24ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
5). Знаки операций. Знаки операций

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

выступающих в роли операндов. Операции делятся на унарные (с одним операндом), бинарные (с двумя операндами) и тернарные (с тремя операндами). Один и тот же знак может интерпретироваться по разному в зависимости от выражения.
6). Операторы. Операторы принято делить на циклические, условные, управляющие и прочие. В С/С++ к циклическим относятся операторы while, do..while, for, к условным - if, if..else, if..else..if else.., switch, к управляющим - return, break. Назначение каждого оператора широко известно, поскольку один и тот же набор операторов есть практически в любом языке, но в каждом языке могут быть особенности синтаксического описания и использования (об особенностях использования операторов в С/С++ ниже).
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++5). Знаки операций. Знаки операций используются при построении выражений и обозначают действие

Слайд 25ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
5. Общая структура программы
Рассмотрим общую

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

размещается в одном файле (в дальнейшем будут рассмотрены и многомо- дульные программы).

Структура программы содержит:
Область директив препроцессора (include, define..);
Описание пользовательских типов данных;
Неполные объявления функций;
Описание глобальных переменных;
Объявление функции 1;
Объявление функции 2;
Объявление функции N;
Объявление функции main();
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++5. Общая структура программыРассмотрим общую структуру одномодульной программы, то есть весь исходный

Слайд 26ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
Программа состоит из одной или

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

в любой программе, должна называться main.
Она служит точкой входа в программу и в дальнейшем вызывает другие функции.
Минимальная программа выглядит следующим образом:
void main(void)
{
}
Она состоит из функции main, не принимающей и не возвращающей параметров (void).
Тело функции, заключенное в фигурные скобки, также не содержит никаких полезных операторов.
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++Программа состоит из одной или нескольких процедур, по традиции называемых функциями. Одна

Слайд 27ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
Рассмотрим пример программы демонстрирующий использо-

вание двух дополнительных функций - mod и стандартной - printf.

В примере вычисляются значения модуля для содер- жимого трех переменных целого типа.
В начале программы располагается область директив пре- процессора, из которых наиболее часто используются include и define.
Далее располагаются полные описания (определения) поль - зовательских функций и после них определяется функция main. [текст программы помещён на следующем слайде]
Приведенный пример демонстрирует важную особенность функций в С/С++ , которая состоит в следующем - их описа -ния не могут быть вложены друг в друга, то есть все они являются глобальными объектами в программе. Переменные могут быть объявлены как внутри тела функции, так и вне тела. В первом случае доступ к ним может осуществляться только из тела данной функции (локальные объявления), а во втором -из любой функции (глобальные объявления).
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++Рассмотрим пример программы демонстрирующий использо- вание двух дополнительных функций - mod и

Слайд 28ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
Выполнение программы начинается с тела

функции main, которая может принимать набор значений из командной строки.


В теле main содержатся вызовы других функций, как из стандартных библиотек, так и определенных пользователем в тексте программы.
Выполнение программы по умолчанию заканчива- ется при завершении работы main, но может прерваться в любом месте при возникновении критической ошибки, или в предусмотренном случае. Для этого обычно используют функцию exit() из библиотеки stdlib.
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++Выполнение программы начинается с тела функции main, которая может принимать набор значений

Слайд 29ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
6. Операторы и выражения
Все операторы

языка С/С++ могут быть условно разделены на следующие категории:
1) условные

операторы (оператор условия if и оператор выбора switch);
2) операторы цикла (for, while, do while);
3) операторы перехода (break, continue, return, goto);
4) другие операторы (оператор "выражение", пустой оператор).
Операторы в программе могут объединяться в составные операторы с помощью фигурных скобок.
Любой оператор в программе может быть помечен меткой, состоящей из имени и следующего за ним двоеточия.
Все операторы языка C/C++, кроме составных операторов, заканчиваются точкой с запятой ";".
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++6. Операторы и выраженияВсе операторы языка С/С++ могут быть условно разделены на

Слайд 30ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
Рассмотрим операторы несколько подробнее
6.1. Оператор выражение.

Любое выражение, которое заканчивается точкой с запятой, является оператором. Выполнение

оператора выражение заключается в вычисле- нии выражения.
Примеры:
++i;
этот оператор представляет выражение, которое увеличивает значение переменной i на единицу,
a=cos(b*5);
этот оператор представляет выражение, включающее в себя операции присваивания, умножения и вызова функции,
fun(x,y);
этот оператор представляет выражение состоящее из вызова функции.
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++Рассмотрим операторы несколько подробнее6.1.	Оператор выражение. Любое выражение, которое заканчивается точкой с запятой,

Слайд 31ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
6.2. Пустой оператор. Пустой оператор сос-

тоит только из точки с запятой. При выполне- нии этого

оператора ничего не происходит.
6.3. Составной оператор. Составной опера- тор представляет собой несколько операторов и объявлений, заключенных в фигурные скобки.
В конце составного оператора точка с запятой не ставится.
Выполнение составного оператора заключа- ется в последовательном выполнении составляющих его операторов.
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++6.2.	Пустой оператор. Пустой оператор сос- тоит только из точки с запятой. При

Слайд 32ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
6.4. Оператор if. Формат оператора:
if

(выражение) оператор1; [else оператор2;]
Выполнение оператора if начинается

с вычисления выражения. Далее выполне- ние осуществляется по следующей схеме:
- если выражение истинно (т.е. отлично от 0), то выполняется оператор1.
- если выражение ложно (т.е. равно 0),то выполняется оператор2.
- если выражение ложно и отсутствует оператор2 (в квадратные скобки заключена необязательная конструкция), то выполняется следующий за if оператор.
Следующий фрагмент иллюстрирует вложенные операторы if:
Char sign; else if (sign = = ' * ')
Int x, y, z; x = y * z;
if (sign = = ' –' ) else if (sign = = '/ ')
x = y – z; x = y / z;
else if (sign = = '+') else
x = y + z; x=0;
………


ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++6.4. Оператор if. Формат оператора:if  (выражение)  оператор1;  [else оператор2;]Выполнение

Слайд 33ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
6.5. Оператор switch. Оператор switch

предназначен для организации выбора из множества различных вариантов. Формат оператора

следующий:
switch ( выражение )
{ [объявление]
[ case константное­выражение1]:[список­операторов1]
[ case константное­выражение2]:[список­операторов2]
[ default: [список операторов]]
}
Выражение, следующее за ключевым словом switch в круг -лых скобках, может быть любым выражением, допустимыми в языке C/C++, значение которого должно быть целым.
Так как константное выражение вычисляется во время трансляции, оно не может содержать переменные или вызовы функций. Обычно в качестве константного выражения используются целые или символьные константы.
Все константные выражения в операторе switch должны быть уникальны.
Кроме операторов, помеченных ключевым словом case, может быть, но обязательно один, фрагмент помеченный ключевым словом default.
Список операторов может быть пустым, либо содержать один или более операторов. Причем в операторе switch не требуется заключать по последовательность операторов в фигурные скобки.
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++6.5. Оператор switch. Оператор switch предназначен для организации выбора из множества различных

Слайд 34ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
Схема выполнения оператора switch следующая:
вычисляется

выражение в круглых скобках;
вычисленные значения последовательно сравнива- ются с константными

выражениями, следующими за ключевыми словами case;
если одно из константных выражений совпадает со значением выражения, то управление передаётся на оператор, помеченный соответствующим ключевым словом case;
если ни одно из константных выражений не равно выражению, то управление передаётся на оператор, помеченный ключевым словом default, а в случае его отсутствия управление передаётся на следующий после switch оператор.
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++Схема выполнения оператора switch следующая:вычисляется выражение в круглых скобках;вычисленные значения последовательно сравнива-

Слайд 35ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
Для того чтобы выполнить одни

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

один и тот же оператор несколькими ключевыми словами case.
Пример 2: int i=2;
switch (i)
{
case 1: i += 2;
case 2: i *= 3;
case 0: i /= 2;
case 4: i = 5;
default:
}
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++Для того чтобы выполнить одни и те же действия для различных значений

Слайд 36ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
6.6. Оператор break. Оператор break обеспечивает

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

for, while. После выполнения оператора break управление передается оператору, следующему за прерванным.
6.7. Оператор for. Оператор for - это наиболее общий способ организации цикла. Он имеет следующий формат:
for (выражение 1; выражение 2; выражение 3) тело цикла.
Выражение 1 обычно используется для установле- ния начального значения переменных, управляющих циклом. Выражение 2 - это выражение, определяю- щее условие, при котором тело цикла будет выполняться. Выражение 3 определяет изменение переменных, управляющих циклом после каждого выполнения тела цикла.
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++6.6.	Оператор break. Оператор break обеспечивает прекращение выполнения самого внутреннего из объединяющих его

Слайд 37ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
Схема выполнения оператора for:
1.

Вычисляется выражение 1.
2. Вычисляется выражение 2.
3. Если значение

выражения 2 отлично от нуля (истина), выполняется тело цикла, вычисляется выражение 3 и осуществляется переход к пункту 2, если выражение 2 равно нулю (ложь), то управление передается на оператор, следующий за оператором for.
Существенно то, что проверка условия всегда выполняется в начале цикла. Это значит, что тело цикла может ни разу не выполниться, если условие выполнения сразу будет ложным.
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++Схема выполнения оператора for: 1. Вычисляется выражение 1. 2. Вычисляется выражение 2.

Слайд 38ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
Пример 3:
int fun ()
{
int i,b;
for

(I =1, b =1; I < 10; i

++;
b + = i*i;
return b;
}
В этом примере вычисляется сумма квадратов чисел от 1 до 9.
Некоторые варианты использования оператора for повышают его гибкость за счет возможности использования нескольких переменных, управляющих циклом.
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++Пример 3:int fun (){int i,b;for  (I =1, b =1;  I

Слайд 39ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
Пример 4 для работы с

символьными переменными:
int main ()
{
int top = 0,

bot= 0;
char string[100]= " ….." ;
char temp;
while (string [bot++]);
// ищем конец строки
for ( bot­=2; top < bot; top++, bot – – )
{
temp=string[top];
// меняем символы
string[bot]=temp;
}
return 0;
}
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++Пример 4 для работы с символьными переменными:int main () {int top =

Слайд 40ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
В этом примере, реализующем запись

строки символов в обратном порядке, для управления циклом используются две

переменные top и bot.
Отметим, что на месте выражение 1 и выражение 3 здесь используются несколько выражений, записан- ных через запятую, и выполняемых последовательно.
Другим вариантом использования оператора for является бесконечный цикл. Для организации такого цикла можно использовать пустое условное выраже- ние, а для выхода из цикла обычно используют дополнительное условие и оператор break.
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++В этом примере, реализующем запись строки символов в обратном порядке, для управления

Слайд 41ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
Пример 5:
for (;;)
{ ….

.... break;
….

}
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++Пример 5:for  (;;){ ….   ....   break;

Слайд 42ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
Так как согласно синтаксису языка

C/C++ оператор может быть пустым, тело оператора for также может

быть пустым. Такая форма оператора может быть использована для организации поиска.
Пример 6:
for (i=0; t[i]<10; i ++ ) ;
В данном примере переменная цикла i принимает значение номера первого элемента массива t, значение которого больше 10.
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++Так как согласно синтаксису языка C/C++ оператор может быть пустым, тело оператора

Слайд 43ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
6.8. Оператор while. Оператор цикла

while называется циклом с предусловием и имеет следующий формат:
while (выражение)


тело
В качестве выражения допускается использовать любое выражение языка C/C++, а в качестве тела любой оператор, в том числе пустой или составной.
Схема выполнения оператора while следующая:
1). Вычисляется выражение.
2). Если выражение ложно, то выполнение оператора while заканчивается и выполняется следующий по порядку оператор.
3) Если выражение истинно, то выполняется тело оператора while.
4) Процесс повторяется с пунта 1.
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++6.8. Оператор while. Оператор цикла while называется циклом с предусловием и имеет

Слайд 44ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
Оператор цикла вида
for

(выражение­1; выражение­2; выражение­3) тело;
может быть заменен оператором while следующим

образом:
выражение­1;
while (выражение­2)
{
тело
выражение­3;
}
Так же как и при выполнении оператора for, в операторе while вначале происходит проверка условия. Поэтому оператор while удобно использовать в ситуациях, когда тело оператора не всегда нужно выполнять.
Внутри операторов for и while можно использовать локальные переменные, которые должны быть объявлены с определением соответствующих типов.
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++ Оператор цикла видаfor  (выражение­1; выражение­2; выражение­3) тело; может быть заменен

Слайд 45ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
Оператор do..while. Оператор цикла do

while называется оператором цикла с постусловием и используется в тех

случаях, когда необходимо выполнить тело цикла хотя бы один раз. Формат оператора имеет следующий вид:
do
тело
while (выражение);
Схема выполнения оператора do while:
1) Выполняется тело цикла (которое может быть составным оператором).
2) Вычисляется выражение.
3) Если выражение ложно, то выполнение оператора do while заканчивается и выполняется следующий по порядку оператор.
4) Если выражение истинно, то выполнение оператора продолжается с пункта 1.
Чтобы прервать выполнение цикла до того, как условие станет ложным, можно использовать оператор break.

ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++Оператор do..while. Оператор цикла do while называется оператором цикла с постусловием и

Слайд 46ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
Операторы while и do while

могут быть вложенными.
Пример 6:
int i,j,k;
i=0; j=0;

k=0;
do
{
i ++
J– –
while (a[k]< i) k++;
}
while (i<30 && j< – 30);
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++Операторы while и do while могут быть вложенными. Пример 6:int i,j,k;i=0;

Слайд 47ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
6.10. Оператор continue
Оператор continue, как

и оператор break, используется только внутри операторов цикла, но в

отличие от него выполнение программы продолжается не с оператора, следующего за прерванным оператором, а с начала прерванного оператора. Формат оператора следующий:
continue;
Пример 7.
int main()
{
int a,b;
for (a = 1, b = 0; a < 100; b+ = a, a++)
{
if (b% 2) continue;
.... /* обработка четных сумм */
}
return 0;
}
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++6.10. Оператор continueОператор continue, как и оператор break, используется только внутри операторов

Слайд 48ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
Когда сумма чисел от 1

до а становится нечётной, оператор continue передает управление на очеред

- ную итерацию цикла for, не выполняя операторы обработки чётных сумм.
Оператор continue, как и оператор break, прерывает самый внутренний из объемлющих его циклов.
6.11. Оператор return. Оператор return завершает выполнение функции, в которой он задан, и возвращает управление в вызывающую функцию, в точку, непосредственно следующую за вызовом. Функция main передает управление операционной системе. Формат оператора:
return [выражение];
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++Когда сумма чисел от 1 до а становится нечётной, оператор continue передает

Слайд 49ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
Значение выражения, если оно задано,

возвращает- ся в вызывающую функцию в качестве значения вызываемой функции.

Если выражение опущено, то возвращаемое значение не определено.
Выражение может быть заключено в круглые скобки, хотя их наличие не обязательно.
Если в какой­либо функции отсутствует оператор return, то передача управления в вызывающую функцию происходит после выполнения последнего оператора вызываемой функции. При этом возвращаемое значение не определено.
Если функция не должна иметь возвращаемого значения, то ее нужно объявлять с типом void.
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++Значение выражения, если оно задано, возвращает- ся в вызывающую функцию в качестве

Слайд 50ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++
Продолжение в лекции 9, 10

ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ С/С++Продолжение в лекции 9, 10

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

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

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

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

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


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

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