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


История и эволюция C++

Содержание

Этапы создания программыТекстовый редакторИсходный текст модуля (.сpp)ПрепроцессорВключ. файлы (.h)Полный текст модуля (.сpp)КомпиляторОбъектный модуль (.obj)Библиотеки (.lib)Объектный модуль (.obj)…Компоновщик (редактор связей)Программа (.exe)

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

Слайд 1История и эволюция C++
Язык С. 1972 г. Денис Ритчи (Bell)


цель – системное программирование (UNIX)
Язык С++. 1983 г. Бьерн Страуструп

(Bell)
цель – реализация методологии ООП
Язык Java. 1994 г. Патрик Наутон, Билл Джой, Джеймс Гослинг (Sun)
цель – переносимость и надежность
Язык C#. 2000 г. Андерс Хейлсберг и др. (Microsoft)
цель – удобство и надежность
Perl, PHP. цель – простота использования
История и эволюция C++ Язык С. 1972 г. Денис Ритчи (Bell) 	цель – системное программирование (UNIX)Язык С++.

Слайд 3Этапы создания программы
Текстовый редактор
Исходный текст модуля (.сpp)
Препроцессор
Включ. файлы (.h)
Полный текст

модуля (.сpp)
Компилятор
Объектный модуль (.obj)
Библиотеки (.lib)
Объектный модуль (.obj)

Компоновщик (редактор связей)
Программа (.exe)

Этапы создания программыТекстовый редакторИсходный текст  модуля (.сpp)ПрепроцессорВключ. файлы (.h)Полный текст  модуля (.сpp)КомпиляторОбъектный  модуль (.obj)Библиотеки

Слайд 4Алфавит языка С++
Прописные и строчные латинские буквы (различаются в именах),

знак подчеркивания
Цифры (0…9)
Специальные знаки “ { } , | [

] ( ) + - * / % \ ; ‘ : ? < = > ! & ~ ^ . #
Разделители (пробел, табуляция, перевод строки)

Алфавит языка С++Прописные и строчные латинские буквы (различаются в именах), знак подчеркиванияЦифры (0…9)Специальные знаки “ { }

Слайд 5Лексемы С++
Имена ( не рекомендуется начинать с _)
Ключевые слова
Знаки операций

(одно и двухсимвольные)
Константы
Разделители
Комментарии
однострочные // комментарий
многострочные /* длинные */

Лексемы С++Имена ( не рекомендуется начинать с _)Ключевые словаЗнаки операций (одно и двухсимвольные)КонстантыРазделителиКомментарииоднострочные // комментариймногострочные /* длинные

Слайд 6Типы данных С++
Типы
Простые (скалярные)
Логический (С++)
Целые
Указатели
Вещественные
Составные
массивы
структуры
классы
объединения

Типы данных С++ ТипыПростые (скалярные)Логический (С++)ЦелыеУказателиВещественныеСоставныемассивыструктурыклассыобъединения

Слайд 7Базовые типы

Базовые типы

Слайд 8Специальные типы
bool – логический (true/false) – в С++
В С целое

значение =0 – ложь, не равно 0 - истина
void –

пустой. Используется для обозначения функций без значений и нетипизированных указателей
Специальные типыbool – логический (true/false) – в С++	В С целое значение =0 – ложь,  не равно

Слайд 9Константы
Целые:
десятичные 123, 0, 98
восьмеричные 01, 015
шестнадцатиричные 0xA1, 0X00FF
Вещественные 5.8, .2e-3
Символьные

‘A’, ‘xy’, ‘\n’, ‘\123’, ‘\\’
Строковые “привет”, “1 \n 2”

КонстантыЦелые:десятичные 123, 0, 98восьмеричные 01, 015шестнадцатиричные 0xA1, 0X00FFВещественные 5.8, .2e-3Символьные ‘A’, ‘xy’, ‘\n’, ‘\123’, ‘\\’Строковые “привет”, “1

Слайд 10Структура программы


Функция имеет вид
()
{
}
Выполнение начинается

с функции main

Структура программыФункция имеет вид (){ }Выполнение начинается с функции main

Слайд 11Пример программы
#include
int main()
{ int a, b; //описание переменных
cin >>

a >> b; //ввод
cout

//возврат
}
Пример программы#include int main(){ int a, b; //описание переменных	cin >> a >> b; //ввод	cout

Слайд 12Описание переменных
[класс памяти] [const] тип имя [инициализатор]
Модификатор const используется при

описании констант.
Инициализатор задает начальное значение переменной в виде “=

значение” или в круглых скобках “(значение)”.
Примеры:
long int n =1000, k;
char c(‘A’);
const float pi = 3.1415926;

Описание переменных[класс памяти] [const] тип имя [инициализатор]Модификатор const используется при описании констант. Инициализатор задает начальное значение переменной

Слайд 13Классы памяти
Класс памяти определяет область видимости и время жизни переменной.
Область

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

файле).
Время жизни – временным (до конца блока) и постоянным (до выхода из программы).
Класс auto (по умолчанию) – автоматическая переменная. Локальная и временная.
Класс register – регистровая. Аналог auto, только переменная хранится в регистре процессора.
Класс static– статическая переменная. Постоянная. Может быть локальной и глобальной.
Класс extern– внешняя переменная. Определяется в другом файле программы.
Классы памяти	Класс памяти определяет область видимости и время жизни переменной.	Область видимости может быть локальной (внутри блока) и

Слайд 14Операции
Арифметические + - * / % Преобразования автоматические
Увеличение и уменьшение

++ --
префиксное (++a) возвращает новое значение,
постфиксное (a++) возвращает старое значение.
Отношения

< > <= >= == != Результат – true или false
Логические && (и) || (или) ! (отрицание)
Присваивание = Результат – выражение. Выполняется справа налево: a = b = c = 5
Присваивание с операцией += *= и т.д.
a+=b эквивалентно a = a + b
Последовательное выполнение , результат - самое правое выражение
Условная операция условие ? выр.1 : выр. 2
max = (a>b) ? a : b;
ОперацииАрифметические + - * / % Преобразования автоматическиеУвеличение и уменьшение ++ --	префиксное (++a) возвращает новое значение,	постфиксное (a++)

Слайд 15Операторы
Выражение
Условный
Выбора
Циклы
Передачи управления

В конце оператора всегда ставится ;

ОператорыВыражениеУсловныйВыбораЦиклыПередачи управления	В конце оператора всегда ставится ;

Слайд 16Условный оператор
if (выражение) опер.1; [else опер.2;]
Пример. Найти максимум и минимум

из двух чисел.
int main()
{ int a,b,min, max; cin >>

a >> b;
if (a else {min = b; max = a; }
cout << min << max;
return 0;
}
Условный операторif (выражение) опер.1; [else опер.2;]Пример. Найти максимум и минимум из двух чисел. int main(){ int a,b,min,

Слайд 17Условный оператор. Типичные ошибки
Отсутствие фигурных скобок
if (a

max = b;
Использование = вместо ==
if (a=5) cout

диапазона
if (-1 <= x <=1) cout << “есть arcsin”;
Правильно так:
if (-1 <= x && x <=1)
cout << “есть arcsin”;
Условный оператор. Типичные ошибкиОтсутствие фигурных скобок	if (a

Слайд 18Оператор выбора
switch (выражение) {
case конст.1: список операторов 1
case конст.2: список

операторов 2

default: операторы
}
Производит переход на первый оператор из списка, соответствующего

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

Оператор выбораswitch (выражение) {	case конст.1: список операторов 1	case конст.2: список операторов 2	…	default: операторы}	Производит переход на первый оператор

Слайд 19Пример на оператор выбора
По номеру месяца определить время года

switch (m)

{
case 1: case 2: case 12:
cout

4: case 5:
cout<<“Весна”; break;
case 6: case 7: case 8:
cout<<“Лето”; break;
default: cout<<“Осень”;
}

Пример на оператор выбораПо номеру месяца определить время года…switch (m) {case 1: case 2: case 12: 			cout

Слайд 20Цикл с предусловием
while (выражение) оператор
Цикл выполняется так:
Вычисляется выражение
Если оно истинно

(не 0) выполняется оператор
Снова вычисляется выражение
Если оно ложно – выход

из цикла.

Пример: вычисление факториала n

f = k = 1;
while (k<=n) f *= k++;
Цикл с предусловиемwhile (выражение) операторЦикл выполняется так:Вычисляется выражениеЕсли оно истинно (не 0) выполняется операторСнова вычисляется выражениеЕсли оно

Слайд 21Цикл с постусловием
do оператор while (выражение)

Цикл выполняется так:
Выполняется оператор
Вычисляется

выражение
Если оно истинно (не 0) снова выполняется оператор
Если оно ложно

– выход из цикла.

Пример: вычисление факториала n

f = k = 1;
do f *= k++; while (k<=n);

Цикл с постусловиемdo оператор while (выражение) Цикл выполняется так:Выполняется операторВычисляется выражениеЕсли оно истинно (не 0) снова выполняется

Слайд 22Цикл с параметром
for (инициализация; условие выполнения; модификация) оператор;
Инициализация выполняется перед

началом цикла
Модификация - в конце каждой итерации
Пример: вычисление факториала
for (int

k = f = 1; k<=n; k++) f *= k;
либо for (int k = f = 1; k<=n; f *= k++);
Бесконечный цикл for ( ; ; ) { ….}

Цикл с параметромfor (инициализация; условие выполнения; модификация) оператор;Инициализация выполняется перед началом циклаМодификация - в конце каждой итерацииПример:

Слайд 23Операторы передачи управления
goto метка;
Помеченный оператор –
метка: оператор;
break;

выход из цикла или оператора выбора
continue; переход к следующей

итерации цикла
return [выражение]; выход из функции с возвратом значения
Операторы передачи управленияgoto метка; 	Помеченный оператор – 	 метка: оператор;break;  выход из цикла или оператора выбораcontinue;

Слайд 24Указатели
Cодержит адрес памяти, в которой
хранятся данные определенного типа
тип

* имя;
Звездочка относится к имени
int

a, *b, c;
Безтиповый указатель void *p;




УказателиCодержит адрес памяти, в которойхранятся данные определенного типа  тип * имя; Звездочка относится к имени

Слайд 25Константные указатели
Модификатор const относится либо к указателю, либо к значению
int

i;
const int c = 1;
const int *pc = &c; //указатель

на константу
int* const pc = &i; //указатель-константа

Константные указателиМодификатор const относится либо к указателю, либо к значениюint i;const int c = 1;const int *pc

Слайд 26Инициализация указателей
с помощью операции & (адрес)
int a=5;
int *

p = &a;
значением другого указателя
int * r = p;
явным адресом

памяти
char *vp = (char *)0xB8000000;
пустым значением (нулем)
int * r = 0;

Инициализация указателейс помощью операции & (адрес)	int a=5;  int * p = &a;значением другого указателя	int * r

Слайд 27Динамические переменные
Создание
int *n = new int;
int *m = new int

(10); // *m=10
int *r = new int [10]; // массив
Удаление
delete

n;
delete [ ] r;




Динамические переменныеСозданиеint *n = new int;int *m = new int (10); // *m=10int *r = new int

Слайд 28Операции с указателями
доступ к переменной, на которую указывает указатель *
*n=100;

r[1] = 20;
Арифметические операции (прибавление константы, вычитание, увеличение, уменьшение) учитывают

размер данных
r++; // увеличивает r на 2
Операции с указателямидоступ к переменной, на которую указывает указатель *	*n=100; r[1] = 20;Арифметические операции (прибавление константы, вычитание,

Слайд 29Ссылки
Ссылка – синоним имени, указанного при ее инициализации
тип & имя;
int

a;
int &b=a;


СсылкиСсылка – синоним имени, указанного при ее инициализации	тип & имя;int a;int &b=a;

Слайд 30Строки
Специальный строковый тип в языке Си отсутствует.
Строка в Си

представляется одномерным массивом элементов типа char; последним элементом массива должен

быть символ ‘\0’ (такой массив называется ASCIIZ – строкой).
Строки можно вводить и выводить с помощью стандартных потоков или функций ввода-вывода gets(s) и puts(s).
Следующий пример демонстрирует ввод и вывод строк
char s[100], p[]=”Введено ”;
cin >>s;
cout < Строка может быть описана как указатель на char и размещена в динамической памяти.
Строки	Специальный строковый тип в языке Си отсутствует. 	Строка в Си представляется одномерным массивом элементов типа char; последним

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

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

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

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

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


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

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