Lecture_01_Intro.ppt
- Количество слайдов: 18
Лекция 1. Введение. Обзор C++. Артур Садеков
Происхождение С++ • • • Разработан Бьярном Страуструпом (Bell Laboratories) Название «C++» появилось в 1983 году С++ - это расширение С Nortel Networks Confidential
Возможности С • • • Поддержка процедурного программирования Поддержка модульного программирования Поддержка пользовательских типов Nortel Networks Confidential
Процедурное программирование. Парадигма. Реши, какие требуются процедуры; используй наилучшие доступные алгоритмы. Nortel Networks Confidential
Процедурное программирование. Переменные и операции. Указатели и массивы. Переменные Операторы character, str[15]; Арифметические: +, -, *, /, % int i, j, k, *pi; Уменьшение/увеличение: ++, -- double d; Отношения/логические: ==, !=, <, >, <=, >=, &&, ||, ! bool b; Битовые: &, |, ^, ~, >>, << Указания: &, * Пример int m[5] ={4, 3, 1, 5, 2}; int d, *p; p=&m[2]; d = (*(p+2)>>1)*(*m-1); Nortel Networks Confidential Прочие: ? : , sizeof, [], (), “запятая”
Процедурное программирование. Условия и циклы. • • • if switch for while do/while Nortel Networks Confidential
Процедурное программирование. Условия и циклы. Примеры. int retcode = do_something(); if (retcode == 0) if (retcode) return true; else return false; switch (retcode) for (; ; ) { { case 0: return true; // eat memory } case 1: return false; default: for (int i=0; i<10; i++) { return false; } Nortel Networks Confidential m 1[i]=m 2[i]; }
Процедурное программирование. Условия и циклы. Примеры. . while (i > 0) . . . do { { d 1 += d 2/i; i--; } } while (i > 0); do while (i > 0) { { if (i !=0 ) d 1 += d 2/--i; } while (i > 0); Nortel Networks Confidential d 1 += d 2/i--; }
Процедурное программирование. Процедуры и функции. • • • Правила видимости Аргументы функции (передача по значению и по указателю) Возвращаемые значения Выход из функции Рекурсия Указатели на функции Nortel Networks Confidential
Модульное программирование. Парадигма. Реши, какие требуются модули; разбей программу так, чтобы скрыть данные в модулях. Nortel Networks Confidential
Модульное программирование. Особенности. • • • Принцип сокрытия данных Раздельная компиляция Обработка исключений Nortel Networks Confidential
Модульное программирование. Пример. stack. h stack. c void push(char); #include “stack. h” char pop(); const int max_size = 200; char v[max_size]; int top = 0; usage. c void push(char) #include “stack. h” {. . . } void f() { char pop() push(‘a’); char c = pop(); } Nortel Networks Confidential {. . . }
Пользовательские типы • • • Структуры Объединения Перечисления • Классы Nortel Networks Confidential
Что такое С++? • • Расширение С Поддерживает объектно-ориентированное программирование Поддерживает абстракцию данных Поддерживает обобщенное программирование Nortel Networks Confidential
Объектно-ориентированное программирование • • • Инкапсуляция Наследование Полиморфизм Nortel Networks Confidential
Обобщенное программирование • • Контейнеры Обобщенные алгоритмы Nortel Networks Confidential
Стили программирования • • Процедурное программирование Модульное программирование Объектно-ориентированное программирование Обобщенное программирование Nortel Networks Confidential
Конец Nortel Networks Confidential
Lecture_01_Intro.ppt