Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемГеоргий Шульпин
1 Основы информатики Лекция 1 Заикин Олег Сергеевич
2 Заикин Олег Сергеевич к.т.н. н.с. Института динамики систем и теории управления СО РАН ст. преп. кафедры прикладной алгебры и защиты информации ИМЭИ ИГУ Научные интересы: параллельное программирование, криптография О себе
3 Структура курса базовые алгоритмы и структуры данных введение в программирование на языке C++
4 Рекомендуемая литература Алгоритмы и структуры данных 1.Левитин А. В. Алгоритмы: введение в разработку и анализ 2. Кормен Т., Лейзерсон Ч., Ривест Р., Штайн К. Алгоритмы: построение и анализ. 2-е издание Программирование на C++ 1. Герберт Шилдт. Базовый курс C++, 3-е издание Бьерн Страуструп. Язык программирования С++ (в качестве справочника)
5 История языка C C – процедурный язык программирования – Dennis Ritchie в Bell Labs разработал язык C. На нем написано ядро ОС Unix 1970-е – C вытеснил Basic с позиции ведущего языка для программирования микрокомпьютеров 1980-е – C адаптирован для использования в IBM PC, что привело к резкому росту его популярности – принят стандарт American National Standart Institute (ANSI) C
6 История языка C++ С++ – объектно-ориентированный язык программирования общего назначения – Bjarne Stroustrup в Bell Laboratory разработал язык «C с классами» 1983 – переименование языка из «C с классами» в C – вышло первое издание «Языка программирования C++», обеспечивающее первое описание этого языка 1998 –стандарт C – станадрт C++11
7 Философия C++ Получить универсальный язык со статическими типами данных, эффективностью и переносимостью языка C. Максимально сохранить совместимость с C, тем самым делая возможным лёгкий переход от программирования на C. Непосредственно и всесторонне поддерживать множество стилей программирования Дать программисту свободу выбора, даже если это даст ему возможность выбирать неправильно. Не требовать слишком усложнённой среды программирования.
8 C и С ++ Язык программирования С++ произошёл от C. В дальнейшем они развивались независимо, что привело к росту несовместимостей между ними. Эти различия затрудняют написание программ и библиотек, которые могли бы нормально компилироваться и работать одинаково и в C и в C++.
9 ВВЕДЕНИЕ В С ++
10 Инструкция, блок Инструкция – некое действие. Каждая отдельная инструкция завершается точкой с запятой ; Блок – набор инструкций, заключенный между фигурными скобками { } (аналог begin end в паскале). Блок не завершается точкой с запятой.
11 Комментарии // однострочный комментарий /* многострочный комментарий */ Многострочные комментарии не могут быть вложенными, однострочный комментарий можно вкладывать внутрь многострочного /* Это многострочный комментарий, внутрь него // вложен однострочный комментарий. Это окончание многострочного комментария. */
12 Идентификаторы Идентификатор – имя, которое присваивается переменной, функции или иному элементу, определенному пользователем. Должны начинаться с буквы или символа подчеркивания. Регистр имеет значение – myvar и MyVar это разные идентификаторы Нельзя использовать в качестве идентификаторов ключевые слова и имена стандартных функций.
13 Символьные: char (1 байт). Например f Целочисленные short int (2 байта), int (4 байта), unsigned short int (2 байта), unsigned int (4 байта), long long int (8 байт) Например 549 С плавающей точкой: float (4 байта), double (8 байт), long double (10 байт). Например 0,255 Логический: bool, имеющий значения true и false Базовые типы данных
14 ,, …; Пример int a; // переменная целого типа bool b, c; // две переменные логического типа Переменные можно объявлять в любом месте, не обязательно в начале функций. Объявление переменных
15 выражение – строка, переменная, выражение. Пример hello a a + b В отличие от инструкции, выражение это не действие, а формула. Выражение
16 Заголовочные файлы Заголовочный файл – «вставляется» компилятором в исходный текст в том месте, где располагается соответствующая директива. #include – директива добавления исходного кода из файла. Используется для подключения заголовочных файлов. Подключение заголовочных файлов: #include строка - путь к заголовочному файлу Пример #Include../folder1/something.h
17 Заголовочные файлы Стандартная Библиотека коллекция классов и функций, написанных на базовом языке. Основные заголовочные файлы: iostream – потоки ввода/вывода fstream – файловые потоки sstream – строковые потоки iostream – функции и переменные для организации ввода-вывода. Название образовано от Input/Output Stream («поток ввода- вывода»).
18 Заголовочные файлы Заголовочные файлы стандартной библиотеки подключаются так: #include Эти файлы уже есть в системе, поэтому не нужно указывать их путь. Для заголовочных файлов языка Си нужно указывать расширение h. Пример. #include
19 Пространства имен Пространство имен (namespace) окружение, созданное для логической группировки уникальных идентификаторов. Необходимо чтобы избежать конфликтов имен идентификаторов. Функциональные особенности стандартной библиотеки объявляются внутри пространства имен std. Вызов объекта: std :: имя_объекта std :: имя объекта;
20 Поток ввода std :: cin std :: cin поток ввода данных с клавиатуры >> оператор ввода Для ввода данных с клавиатуры std::cin >> переменная1 >> переменная2 >> …; Пример. int num, vol; // объявление переменных std::cin >> num >> vol; // получение двух значений от пользователя (вводит с клавиатуры)
21 Поток вывода std :: cout std :: сout поток вывода данных в консоль
22 Функция main Функция int main() обозначает точку начала выполнения программы на C++. Возвращение 0 из функции main() показывает, что программа была завершена успешно. int main() { return 0; // завершается без ошибок } Завершение программы на C++ с ошибкой обозначается путём возврата ненулевого значения. Например, return 1;
23 Microsoft Visual Studio C++ Как создать проект ( в зависимости от версии VS инструкция может немного отличаться ). File -> New -> Project -> Visual C++ -> General -> Empty project -> Задать имя проекта -> Next -> Finish Добавить файл исходного кода: Project –> Add New Item -> Code –> С++ File (.cpp) -> Задать имя файла (если первый файл, то main) –> Add
24 Microsoft Visual Studio C++ Ctrl + F7 компиляция F10 компиляция, сборка F5 компиляция, сборка, запуск программы Shift + F5 завершение программы
25 Первая программа #include int main() { std :: cout
26 Функция system() Операционная система получает командувыражение: system(выражение); Пример Операционная система получает команду сделать паузу: system(pause);
27 Первая программа #include int main() { std :: cout
28 Первая программа #include using namespace std; // После подключения // пространства имен явно к нему не обращаемся int main() { cout
29 Арифметические операции = Присваивание - Вычитание + Сложение * Умножение / Деление % Остаток от деления -- Декремент ( предыдущий базовый элемент ) ++ Инкремент ( следующий базовый элемент ) Пример float y = 5/3; int k=1; ++k; int m=--k; int n=k++; k++;
30 Присваивание и бинарные операции Вместо записи = можно записать = Пример Вместо a = a + b; записать a += b; Вместо a = a * b; записать a *= b;
31 Пример. Суммирование двух чисел #include using namespace std; int main() { int a, b; cout a >> b; // считываем 2 значения cout
32 Операции сравнения и логические операции > Больше >= Больше или равно < Меньше
33 Поразрядные операции & И | ИЛИ ^ Сложение по модулю два ~ НЕ >> Сдвиг вправо >1; // 0110>>1=0011=3 x
34 Условный оператор if (условие) блок операторов; else блок операторов; Пример. if (i==10) { cout
35 Условное выражение ? – условное выражение A ? C1 : C2 Если A истинно, то C1 иначе C2 Пример Вывод модуля числа cout
36 Циклы c пред - и постусловием С предусловием: while (условие) оператор; i = 0; while (i < 2) cout
37 Цикл пересчетного типа for(инициализация; условие продолжения выполнения цикла; приращение) оператор; for (int i = 0; i < 2; i++) cout
38 Инструкции перехода break; Прерывание всех итераций Пример : for(int i=0; i0) continue; } Если вводится положительное число, продолжаем цикл
39 Формат: switch (выражение) { case константа: операторы break; … default: операторы } Инструкция выбора Пример switch ( val ) { case 1: cout
40 Математические функции #include // математические функции abs модуль sin синус cos косинус sqrt квадратный корень pow степень ( аргументы – основание и показатель степени ) floor округление вниз ( наибольшее целое, не большее х )
41 Явное преобразование к типу ( тип ) - явное преобразование к заданному типу float z; z = sqrt(3); // ошибка z = sqrt((float)3); // ошибки нет
42 Последовательное вычисление,- последовательное вычисление int k=(y=J, 2*y); Сначала выполняется y=J затем k = 2*y
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.