Похожие презентации:
Лекция 2. Начальные сведения о языке С++
1. Начальные сведения о языке С++
ОАиП2. Назначение и преимущества языка С++
• Задача языкапрограммирования в том,
чтобы упростить
использование
вычислительных ресурсов.
3. Начальные сведения о языке С++
• Язык возник в начале 1980-х годов, когдасотрудник фирмы Bell Laboratories Бьёрн
Страуструп придумал ряд усовершенствований к
языку C под собственные нужды.
• До начала официальной стандартизации язык
развивался в основном силами Страуструпа в
ответ на запросы программистского сообщества.
4. Начальные сведения о языке С++
• ЯзыкС++ задуман как объектно –
ориентированный язык, он реализует такие
концепции как наследование, абстракция,
полиморфизм, инкапсуляция.
5. Начальные сведения о языке С++
• КомпиляторыС++
традиционно
поддерживают программы на языке С.
6. Общие сведения о лексемах и алфавите
• Алфавитязыка программирования С++
аналогичен
алфавитам
других
языков
программирования (Pascal, Basic и т.д.).
• Из
символов
алфавита
формируются
лексемы языка (лексема – последовательность
символов, обрабатываемая компилятором):
7. Общие сведения о лексемах и алфавите
• идентификаторы;• ключевые (служебные, зарезервированные)
слова;
• константы;
• знаки операций;
• разделители (знаки пунктуации).
8. Общие сведения о лексемах и алфавите
• Идентификатор - последовательность из буквлатинского алфавита, десятичных цифр и
символов подчеркивания, начинающаяся не с
цифры,
например:
RUN,
Run,
summa_factorial.
9. Общие сведения о лексемах и алфавите
• Прописные и строчные буквы различаются.• Длина различаемой части идентификатора
зависит от реализации языка С++.
10. Общие сведения о лексемах и алфавите
• Ключевые(служебные)
слова
это
идентификаторы,
зарезервированные
в
языке для специального использования.
• Не
рекомендуется использовать символ
подчеркивания в качестве начального
символа при записи идентификаторов, так
как такие конструкции активно применяются
самим языком программирования.
11. Общие сведения о лексемах и алфавите
• Константа(литерал)
это
лексема,
представляющая
изображение
фиксированного числового, строкового или
символьного
(литерного)
значения.
Константы бывают:
• целыми;
• вещественными (с плавающей точкой);
• перечислимыми;
• символьными (литерными);
• строковыми (строки или литерные строки).
12. Создание приложения С++
Основные этапы создания приложений на языке С++:• Написать код С++, используя текстовый редактор;
• Откомпилировать код, используя компилятор С++,
который преобразовывает его в версию машинного
кода и запишет в объектный файл (object file);
• Скомпоновать
результат работы компилятора,
используя компоновщик и получить исполняемый
файл с расширением .exe
13. Интегрированная среда разработки Microsoft Visual Studio
•Программа Microsoft Visual Studio оченьудобна для программирования на С++
•В ней объединены этапы программирования,
компиляции и компановки в пределах единого
пользовательского
интерфейса,
предоставлющего также средства отладки,
облегчающие обнаружение и устранение
ошибок.
14. Создание простейшего приложения на языке С++
15. Структура программы
• Любая программа, написанная на языкеC++,
состоит
из
одной
или
более функций, являющихся основными
модулями, из которых она собирается.
• Программа
состоит
из
одной
функции main(), и круглые скобки
указывают именно на то, что main - имя
функции (англ. main - главный).
16. Структура программы
• Программа, написанная на языке C++,всегда начинает выполняться с функции,
названной main().
• По стандарту int main должно всегда
возвращать целое число. Между скобками ( )
обычно пишут список параметров.
• { - знак открытия функции и } - знак
закрытия функции.
17. Структура программы
18. Структура программы
• return 0; - «возвращаем ноль», то есть удачновыходим из функции и продолжаем действия
дальше или выходим из программы.
19. Структура программы
20. Структура программы
• Теперь, для того чтобы программазадержалась, чтобы мы на нее посмотрели,
нам нужно:
• 1) Перед функцией int main написать:
• #include <conio.h>
21. Структура программы
• Для подключения заголовочныхнеобходимо
использовать
(команду) препроцессора #include.
файлов
директиву
• В угловых скобках указывается имя файла.
Файл
<conio.h>
_getch().
определяет
функцию
22. Структура программы
• Препроцессор-это специальная программа,которая обрабатывает
раньше транслятора.
текст
программы
• Все команды препроцессора начинаются
знаком #.
23. Потоковый ввод-вывод
• Для того, чтобы вывести строку текстанеобходимо выполнить команду:
• cout<<str; - отправляем введенную строку в
поток вывода.
24. Потоковый ввод-вывод
• Для того, чтобы ввести строку текстанеобходимо выполнить команду:
• cin>>str; - используя потоки, вводим строку.
25. Потоковый ввод-вывод
• Для организации потокового ввода – выводаподключаем заголовочный файл #include
iostream, содержащий функции стандартного
потока ввода и вывода.
26. Структура программы
27. Структура программы
• Пространствоимен
–
это
группа
определенных функций, классов и т.п.
• Практически все стандартные библиотеки
С++ используют пространство имен std,
поэтому практически всегда нужно писать
using namespace std, иначе придется каждый
раз вызывать функцию из этих библиотек,
подставляя префикс пространства имен std::.
28. Структура программы
29. Структура программы
• Для того чтобы русифицировать выводимыйтекст:
• Подключаем заголовочный файл clocale;
• Перед выводом (оператор cout) напишем:
setlocale (LC_ALL, «Russian»);
30. Структура программы
31. Типы данных в C++
• Тип – это множество допустимых значенийвеличины.
32. Типы данных в C++
• Для определения и описания переменныхосновных типов используются следующие
ключевые слова:
• char (символьный);
• short (короткий целый);
• int (целый);
• long (длинный целый);
33. Типы данных в C++
• float (вещественный);• double
(вещественный
точностью);
• void (отсутствие значения).
с
удвоенной
34. Типы данных в C++
35. Целые типы данных
• Тип определяет размер памяти, которыйвыделен для хранения значения переменной.
• Помимо этого важной характеристикой
является
способ
размещения
этой
переменной в памяти и время ее
существования.
36. Продолжительность существования переменных
• Продолжительность существования объектов(в частности, переменных) - это период, в
течение
которого
идентификаторам
в
программе
соответствуют
некоторые
значения.
• Определены
три
продолжительности:
локальная и динамическая.
вида
статическая,
37. Продолжительность существования переменных
• Объектам со статической продолжительностьюсуществования память выделяется в начале
выполнения программы и сохраняется до
окончания
ее
обработки.
Статическую
продолжительность имеют функции и файлы.
38. Продолжительность существования переменных
• Переменные с локальной продолжительностьюсуществования создаются при каждом входе в
блок или функцию, где они описаны, и
уничтожаются при выходе.
• Такие объекты должны быть инициализированы
только явным образом. Память для них
выделяется в регистрах или в стеке. Область
действия такой переменной - блок или функция.
39. Продолжительность существования переменных
• Объекты с динамической продолжительностьюсуществования создаются и уничтожаются с
помощью явных операторов в процессе
выполнения программы.
• Для создания используется операция new и
функция malloc(), а для уничтожения
операция delete или функция free().
-
40. Продолжительность существования переменных
41. Целые типы данных
• Тип char используется для хранения одногосимвола. Типичное объявление приведено
ниже:
• char UserInput=‘Y’; //инициализированный
символ Y
42. Логический тип данных
• Переменная типа bool может принимать толькодва значения true (истина) или false (ложь).
43. Логический тип данных
• Любоезначение
не
равное
нулю
интерпретируется
как
true,
а
при
преобразовании к целому типу принимает
значение равное 1.
• Значение false представлено в памяти как 0.
• Пример описания данных логического типа:
• bool F, T;
44. Типы с плавающей точкой
• Число с плавающей точкой представлено вэкспоненциальной форме , где — мантисса
(целое или дробное число с десятичной
точкой), — порядок (целое число).
• Например,
45. Типы с плавающей точкой
Пример описания вещественных переменных:double x1, x2, x3; float X, Y, Z;
Типы с плавающей точкой
46. Типы с плавающей точкой
• Пример описания вещественныхпеременных:
• double x1, x2, x3;
• float X, Y, Z;
47. Тип void
• Множество значений этого типа пусто.• Он используется для определения функций,
которые не возвращают значения, для
указания
пустого
списка
аргументов
функции, как базовый тип для указателей и в
операции приведения типов.
48. Константы
• Константыэто величины, которые не
изменяют своего значения в процессе
выполнения программы.
• Оператор описания константы имеет вид:
• сonst тип имя_константы = значение;
49. Константы
• Константы в языке С++ могут быть целыми,вещественными,
строковыми.
символьными
• Например:
• const double pi=3.141592653589793;
или
50. Константы
• Константа может быть определена с помощьюдирективы #define.
• Идентификаторы, заменяющие текстовые или
числовые константы, называют именованными
константами.
51. Константы
• Основнаяформа
синтаксиса
следующая:
• #define идентификатор текст
• Например,
• #define PI 3.141592653589793
директивы
52. Операции и выражения
• Выражениезадаёт порядок выполнения
действий над данными и состоит из
операндов
(констант,
переменных,
обращений к функциям), круглых скобок и
знаков операций.
• Операции делятся на унарные (например, -с)
и бинарные (например, а+b).
53. Операции и выражения
54. Операции и выражения
55. Операции и выражения
56. Операции и выражения
57. Операции присваивания
• имя_переменной=значение;• Например,
• b=3; //Переменной b присваивается значение,
равное трём.
• c=a+2*b;
//Переменной
значение выражения.
c
присваивается
58. Стандартные функции
59. Стандартные функции
60. Стандартные функции
• Описаниестандартных
математических
функций
находится
в
заголовочном
файле math.h.
61. Форматированный ввод - вывод данных
Форматированный ввод вывод данных• Первой строкой программы, в которой будут
применяться функции ввода - вывода языка С,
должна быть директива #include <stdio.h>.
• Заголовочный
файл
stdio.h
описание функций ввода-вывода.
содержит
62. Форматированный ввод - вывод данных
Форматированный ввод вывод данных• Функция
• printf(строка форматов, список выводимых
переменных);
• выполняет
форматированный
вывод
переменных,
указанных в списке, в соответствии со
строкой форматов.
63. Форматированный ввод - вывод данных
Форматированный ввод вывод данных• Функция
• scanf(строка
форматов,
вводимых переменных);
список
адресов
• выполняет ввод переменных, адреса которых
указанны в списке, в соответствии со строкой
форматов.
64. Форматированный ввод - вывод данных
Форматированный ввод вывод данных• Строка форматов содержит символы, которые
будут выводиться на экран или запрашиваться с
клавиатуры, и так называемые спецификации.
• Спецификации
это
строки,
которые
начинаются символом % и выполняют
управление форматированием:
• % флаг ширина.точность модификатор тип
65. Форматированный ввод - вывод данных
Форматированный ввод вывод данных66. Форматированный ввод - вывод данных
Форматированный ввод вывод данных67. Форматированный ввод - вывод данных
Форматированный ввод вывод данных68. Форматированный ввод - вывод данных
Форматированный ввод вывод данных69. Форматированный ввод - вывод данных
Форматированный ввод вывод данных70. Форматированный ввод - вывод данных
Форматированный ввод вывод данных71. Форматированный ввод - вывод данных
Форматированный ввод вывод данных• float a, b, c, S, r; //Описание переменных.
• printf ( " a = " ); //Вывод на экран символов
a=.
• //В функции scanf для вычисления адреса
переменной применяется операция &.
• scanf ( " % f ",&a ); //Запись в переменную а
значения введённого с клавиатуры .
72. Форматированный ввод - вывод данных
Форматированный ввод вывод данных• printf ( " S =%5.2 f \ t ", S ); //Вывод
символов S=, значения S и символа табуляции
\t.
• //Спецификация %5.2f означает, что будет
выведено вещественное число из
знаков, два из которых после точки.
пяти
73. Форматированный ввод - вывод данных
Форматированный ввод вывод данных• Пример 1.
Программирование