Основы информатики Лекция 2. Hello C++ Заикин Олег Сергеевич zaikin.icc@gmail.com.

Презентация:



Advertisements
Похожие презентации
Основы информатики Лекция 1 Заикин Олег Сергеевич
Advertisements

Основы информатики Лекция. Функции Заикин Олег Сергеевич
©ρŧą Базовые конструкции языка.
Введение в C++ Урок 1-2.
Краткое введение в язык программирования С Аксёнов Сергей Владимирович к.т.н., доцент каф.ОСУ ТПУ Томский политехнический университет.
Лекция 3 ПЕРВЫЕ ПРОГРАММЫ, ВВОД/ВЫВОД В ЯЗЫКЕ С++
Лекция 1 по дисциплине «Программные средства математических расчетов» тема: «Основы языка С++» гр. 8Е31 Мамонова Татьяна Егоровна
Переменные и операторы УРОК 2. Переменные ПЕРЕМЕННАЯ – ?... контейнер для хранения данных. Переменная имеет имя – это….? последовательность букв, цифр.
Министерство образования Республики Беларусь Белорусский государственный университет Управляющие структуры языков программирования.
C++ Лекция 1. Литература Шилдт Г. С++: базовый курс.-М.:Вильямс, с. Шилдт Г. Самоучитель С++. - СПб.: БХВ-Петербург, – 687 с. Б. Пахомов.
Лекция 1. Введение Красс Александр СПбГУ ИТМО, 2008.
Объектно-ориентированный язык программирования. Переменная - эта поименованная ячейка памяти, хранящая какое-либо одно значение (одно число, один фрагмент.
Занятие 2. Конструкции принятия решений. Конструкции принятия решений позволяют приложениям проверять условия и выбирать направление действий. Другим.
Основы информатики Лекция. Массивы. Указатели. Заикин Олег Сергеевич
Вводный курс в С++ Занятие 1 Олег Власенко Заместитель директора ООО СимбирСофт Старший.
Лекция 1 Классификация С++. Парадигмы программирования Императивная Функциональная Декларативная (логическая) Инструкция 1 Инструкция 2 Инструкция 3 Инструкция.
Инструкции C++ Условная инструкция Формат: if (условие) оператор; else оператор; Пример: if (i!=0) { if (j) j++; if(k) k++; else if(p) k--; } else i--;
Лекция 2 С => C++ => C# Большие и маленькие буквы различаются (main, Main, MAIN, mAin – разные имена) После каждого оператора ставится точка с запятой.
Лекция 2. Фундаментальные типы данных и основные конструкции Красс Александр СПбГУ ИТМО, 2008.
©Павловская Т.А. Язык С++ Курс «С++. Программирование на языке высокого уровня» Павловская Т.А.
Транксрипт:

Основы информатики Лекция 2. Hello C++ Заикин Олег Сергеевич

История языка C C – процедурный язык программирования – Dennis Ritchie в Bell Labs разработал язык C. На нем написано ядро ОС Unix 1970-е – C вытеснил Basic с позиции ведущего языка для программирования микрокомпьютеров 1980-е – C адаптирован для использования в IBM PC, что привело к резкому росту его популярности – принят стандарт American National Standart Institute (ANSI) C

История языка C++ С++ – объектно-ориентированный язык программирования общего назначения – Bjarne Stroustrup в Bell Laboratory разработал язык «C с классами» 1983 – переименование языка из «C с классами» в C – вышло первое издание «Языка программирования C++», обеспечивающее первое описание этого языка 1998 –стандарт C – стандарт C++11

Философия C++ Получить универсальный язык со статическими типами данных, эффективностью и переносимостью языка C. Максимально сохранить совместимость с C, тем самым делая возможным лёгкий переход от программирования на C. Непосредственно и всесторонне поддерживать множество стилей программирования Дать программисту свободу выбора, даже если это даст ему возможность выбирать неправильно. Не требовать слишком усложнённой среды программирования.

C и С ++ Язык программирования С++ произошёл от C. В дальнейшем они развивались независимо, что привело к росту несовместимостей между ними. Эти различия затрудняют написание программ и библиотек, которые могли бы нормально компилироваться и работать одинаково и в C и в C++.

ВВЕДЕНИЕ В С ++

Инструкция, блок Инструкция – некое действие. Каждая отдельная инструкция завершается точкой с запятой ; Блок – набор инструкций, заключенный между фигурными скобками { } (аналог begin end в паскале). Блок не завершается точкой с запятой.

Комментарии // однострочный комментарий /* многострочный комментарий */ Многострочные комментарии не могут быть вложенными, однострочный комментарий можно вкладывать внутрь многострочного /* Это многострочный комментарий, внутрь него // вложен однострочный комментарий. Это окончание многострочного комментария. */

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

Символьные: 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 Базовые типы данных

,, …; Пример int a; // переменная целого типа bool b, c; // две переменные логического типа Переменные можно объявлять в любом месте, не обязательно в начале функций. Объявление переменных

выражение – строка, переменная, выражение. Пример "hello" a a + b В отличие от инструкции, выражение это не действие, а формула. Выражение

Заголовочные файлы Заголовочный файл – «вставляется» компилятором в исходный текст в том месте, где располагается соответствующая директива. #include – директива добавления исходного кода из файла. Используется для подключения заголовочных файлов. Подключение заголовочных файлов: #include строка - путь к заголовочному файлу Пример #Include "../folder1/something.h"

Заголовочные файлы Стандартная Библиотека коллекция классов и функций, написанных на базовом языке. Основные заголовочные файлы: iostream – потоки ввода/вывода fstream – файловые потоки sstream – строковые потоки iostream – функции и переменные для организации ввода-вывода. Название образовано от Input/Output Stream («поток ввода- вывода»).

Заголовочные файлы Заголовочные файлы стандартной библиотеки подключаются так: #include Эти файлы уже есть в системе, поэтому не нужно указывать их путь. Для заголовочных файлов языка Си нужно указывать расширение h. Пример. #include

Пространства имен Пространство имен (namespace) окружение, созданное для логической группировки уникальных идентификаторов. Необходимо чтобы избежать конфликтов имен идентификаторов. Функциональные особенности стандартной библиотеки объявляются внутри пространства имен std. Вызов объекта: std :: имя_объекта std :: имя объекта;

Поток ввода std :: cin std :: cin поток ввода данных с клавиатуры >> оператор ввода Для ввода данных с клавиатуры std::cin >> переменная 1 >> переменная 2 >> …; Пример. int num, vol; // объявление переменных std::cin >> num >> vol; // получение двух значений от пользователя (вводит с клавиатуры)

Поток вывода std :: cout std :: сout поток вывода данных в консоль

Функция main Функция int main() обозначает точку начала выполнения программы на C++. Возвращение 0 из функции main() показывает, что программа была завершена успешно. int main() { return 0; // завершается без ошибок } Завершение программы на C++ с ошибкой обозначается путём возврата ненулевого значения. Например, return 1;

Microsoft Visual Studio C++ Как создать проект ( в зависимости от версии VS инструкция может немного отличаться ). File -> New -> Project -> Visual C++ -> General -> Empty project -> Задать имя проекта -> Next -> Finish Добавить файл исходного кода: Project –> Add New Item -> Code –> С++ File (.cpp) -> Задать имя файла (если первый файл, назвать его main.cpp) –> Add

21 Компиляция и компоновка Трансляция программы преобразование программы, представленной на одном из языков программирования, в программу на другом языке. Компиляция – трансляция программы с проблемно - ориентированного языка ( файлы с исходным кодом ) на машинно - ориентированный язык ( объектные файлы ). Компоновка – создание исполняемого файла ( в Windows – exe- файла ) по набору объектных файлов.

Microsoft Visual Studio C++ Ctrl + F7 компиляция F10 компиляция, сборка F5 компиляция, сборка, запуск программы Shift + F5 завершение программы

Программа «Hello world» #include int main() { std :: cout

Функция system() Операционная система получает команду выражение: system("выражение"); Пример Операционная система получает команду сделать паузу: system("pause");

Программа «Hello world» #include int main() { std :: cout

Программа «Hello world» #include using namespace std; // После подключения // пространства имен явно к нему не обращаемся int main() { cout

Арифметические операции = Присваивание - Вычитание + Сложение * Умножение / Деление % Остаток от деления -- Декремент ( предыдущий базовый элемент ) ++ Инкремент ( следующий базовый элемент ) Пример float y = 5/3; int k=1; ++k; int m=--k; int n=k++; k++;

Присваивание и бинарные операции Вместо записи = можно записать = Пример Вместо a = a + b записать a += b Вместо a = a * b записать a *= b

Пример. Суммирование двух чисел #include using namespace std; int main() { int a, b; cout

Операции сравнения и логические операции > Больше >= Больше или равно < Меньше

Поразрядные операции & И | ИЛИ ^ Сложение по модулю два ~ НЕ >> Сдвиг вправо >1; // 0110>>1=0011=3 x

Условный оператор if (условие) блок операторов; else блок операторов; Пример. if (i==10) { cout

Условное выражение ? – условное выражение A ? C1 : C2 Если A истинно, то C1 иначе C2 Пример Вывод модуля числа cout

Циклы c пред - и постусловием С предусловием: while (условие) оператор; i = 0; while (i < 2) cout

Цикл пересчетного типа for(инициализация; условие продолжения выполнения цикла; приращение) оператор; for(int i = 0; i < 2; i++) cout

Инструкции перехода break; Прерывание всех итераций Пример : for(int i=0; i0) continue; cout

Формат: switch (выражение) { case константа: операторы break; … default: операторы } Замена больших конструкций If – else Инструкция выбора Пример switch ( val ) { case 1: cout

Математические функции #include // математические функции abs модуль sin синус cos косинус sqrt квадратный корень pow степень ( аргументы – основание и показатель степени ) floor округление вниз ( наибольшее целое, не большее х )

Явное преобразование к типу ( тип ) - явное преобразование к заданному типу float z; z = sqrt(3); // ошибка z = sqrt((float)3); // ошибки нет

Последовательное вычисление,- последовательное вычисление int k=(y=J, 2*y); Сначала выполняется y=J затем k = 2*y