Введение
Принципы фон Неймана
Язык программирования С++: алфавит и основные конструкции
Стандарт языка программирования
Стандарт языка и особенности реализации
Язык программирования С++: алфавит и основные конструкции
Язык программирования С++: алфавит и основные конструкции
Идентификаторы
Ключевые слова
Стандартные типы данных
Стандартные типы данных
Стандартные типы данных
Стандартные типы данных
Стандартные типы данных (некоторые)
Стандартные типы данных. Тип char
Стандартные типы данных. Тип char
Стандартные типы данных. Тип int
Стандартные типы данных. Тип long long
Стандартные типы данных. Тип bool
3. Стандартные типы данных.
3. Стандартные типы данных. Тип void
Стандартные типы данных.
Структура программы на языке C++
4. Константы и переменные.
4. Константы и переменные.
4. Константы и переменные.
4. Константы и переменные.
Классы памяти:
4. Константы и переменные.
4. Константы и переменные.
4. Константы и переменные.
4. Константы и переменные.
4. Константы и переменные.
Разделители
5. Операции и операторы.
5. Операции и операторы.
5. Операции и операторы.
5. Операции и операторы.
5. Операции и операторы. Оператор присваивания.
5. Операции и операторы. Оператор присваивания.
5. Операции и операторы.
5. Операции и операторы.
6. Организация ввода и вывода.
6. Организация ввода и вывода.
6. Организация ввода и вывода.
6. Организация ввода и вывода.
6. Организация ввода и вывода.
6. Организация ввода и вывода.
6. Организация ввода и вывода. Файлы.
6. Файлы с последовательным доступом.
КОД ПРОГРАММЫ
8. Операторы выбора
7. Структура программы на языке C/С++
7. Структура программы на языке C++
7. Структура программы на языке C++
7. Структура программы на языке C++
8. Управляющие операторы
Операторы языка C++. Составные операторы
3.99M
Category: programmingprogramming

Введение в программирование на С++

1. Введение

в программирование на
С++
1

2. Принципы фон Неймана

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
Компилятор C++ и среда разработки — свободная
кроссплатформенная среда разработки Code::Blocks
Существуют также и другие среды разработки:
• Среда Eclipse (Windows/Linux, бесплатная)
• Среда Dev-C++ (Windows, бесплатная)
• Среда Microsoft Visual C++ (Windows,
коммерческая)

3.

Управление клавишами
Новый файл (Создать)
Ctrl + Shift + N
Открыть файл
Ctrl + O
Сохранить файл
Ctrl + S
Закрыть окно с программой
Ctrl + Q
Запуск программы (+ компиляция)
Отменить
Восстановить отмененное
F9
Ctrl + Z
Shift + Ctrl + Z

4.

Язык
программирования С++: алфавит
и основные конструкции
Для того, чтобы компьютер выполнил некоторый алгоритм,
язык для записи такого алгоритма должен быть
формализован. В этом случае язык принято называть языком
программирования, а запись алгоритма на этом языке программой для компьютера.
Любой язык имеет специфические
алфавит (набор символов для записи конструкций языка);
синтаксис(правила, согласно которым записываются
конструкции языка);
семантику
(правила,
согласно
которым
истолковываются конструкции языка).
5

5. Язык программирования С++: алфавит и основные конструкции

Стандарт языка программирования
Любой язык программирования подчиняется определённым
правилам, так называемому стандарту, требования которого
обязательны для всех производителей компиляторов. Все
вопросы, касающиеся написания языковых конструкций и
правил их истолкования, регламентируются стандартом.
Со временем, поскольку языки программирования
претерпевают изменения, стандарты могут измениться.
Для языка С++ в настоящее время действует стандарт
International Standard ISO/IEC
14882:2019(E), Programming languages – C++
6

6. Стандарт языка программирования

Стандарт языка и особенности реализации
Поскольку «нельзя объять необъятное» (c), на некоторые
вопросы в стандарте нет однозначного ответа, и тогда
разработчики компиляторов могут трактовать данный пункт
по своёму усмотрению.
В таком случае речь идёт об особенностях реализации,
и следует пользоваться технической документацией.
7

7. Стандарт языка и особенности реализации

Начало работы в приложении Microsoft Visual Studio

8.

9.

10.

11.

12.

Язык программирования С++: алфавит
и
основные конструкции
Алфавит языка С++ включает
прописные и строчные латинские буквы и знак
подчеркивания;
арабские цифры от 0 до 9;
специальные знаки:
{ } , | [ ] ( ) + - / % * . \ ' : ; & ? < > =
! # ^
пробельные символы.
13

13. Язык программирования С++: алфавит и основные конструкции

Из символов формируются лексемы (элементарные
конструкции) языка:
идентификаторы;
ключевые (зарезервированные, служебные) слова;
знаки операций;
константы;
разделители.
Лексема
– минимальная
самостоятельный смысл
единица
языка,
имеющая
14

14. Язык программирования С++: алфавит и основные конструкции

Идентификаторы
Объекты программы (в частности, обрабатываемые
данные), необходимо отличать друг от друга. Для этого
используют идентификаторы.
Идентификатор – это имя объекта программы.
Идентификатор представляет собой последовательность
букв, цифр и подчёркивания, начинающаяся не с цифры.
Прописные и строчные буквы различаются. Первым
символом должна быть буква или знак подчеркивания (но не
цифра). Пробелы в идентификаторах не допускаются.
Prog1
PROG1
Три разных идентификатора
prog1
Имя объекта должно быть уникальным.
15

15. Идентификаторы

Ключевые слова
Ключевые (зарезервированные) слова – это слова,
которые имеют специальное значение для компилятора.
Их нельзя использовать в качестве идентификаторов.
asm
delete
if
return
try
auto
do
inline
short
typedef
break
double
int
signed
typeid
case
else
long
sizeof
union
catch
enum
new
static
unsigned
char
extern
operator
struct
virtual
class
float
private
switch
void
const
for
protected
template
volatile
continue
friend
public
this
while
default
goto
register
throw
16

16. Ключевые слова

Стандартные типы данных
Согласно принципам фон Неймана человеку, пишущему
программу на языке высокого уровня, не обязательно знать
адреса ячеек, куда будет помещена информация,
подлежащая обработке. Для него все данные (входные,
выходные, промежуточные) именованные величины.
Вместе с тем данные занимают в памяти определённый
объём и обрабатываются различным образом в
соответствии со своим типом.
Тип данных определяется внутренним представлением в
памяти компьютера, характеризуется множеством значений
(диапазоном) и набором действий, допустимых для таких
данных.
17

17. Стандартные типы данных

Типы данных разделяют на
Стандартные (элементарные, основные, встроенные,
простые): имеют одно значение.
Составные: представляют собой набор из нескольких
элементарных величин (одного типа или различных).
Каждый язык программирования имеет свой набор
встроенных типов данных.
18

18. Стандартные типы данных

С++

19.

Структура С++ программы. Основы языка
программирования С++
Программа состоит из нескольких разделов:
1. Раздел заголовков программы.
С помощью директивы #include подключаются необходимые заголовки,
обеспечивающие включение в программу соответствующей информации.
С помощью директивы using namespace – объявляются используемые
пространства имен.
Пространство имен это некоторая объявляемая область, необходимая для
исключения конфликтов имен идентификаторов.
2. Раздел с объявлениями классов, прототипами и объявлениями функций.
Содержит прототипы функций.
3. Главная функция программы.
Эта функция имеет стандартное название main( )
4. Раздел с описанием функций.
Содержит описания функций.

20. Стандартные типы данных

Структура программы С++

21. Стандартные типы данных

Структура С++ программы. Основы языка
программирования С++
Программа для отображения приветствия
#include <iostream>
// подключение заголовка
// для поддержки ввода-вывода
// использовать стандартное пространство имен
// главная функция программы
using namespace std;
int main( )
{ // начало блока
cout << "Hello, World!\n" ; // вывод сообщения
system("pause");
return 0;
// функция возвращает значение 0
} // завершение блока
Результат выполнения программы:
Hello, World!

22. Стандартные типы данных (некоторые)

Основные библиотеки, их основные функции и операторы
1. <iostream>для Visual Studio. Библиотека для ввода и вывода данных, для
работы с консолью (экраном).
cout – оператор вывода данных на экран.
cout<<"fraza"; //выведет на экран слово fraza. Может вывести любой текст.
cout<<x; //выведет на экран число, хранящееся в переменной х.
cin – оператор считывания с экрана.
Пример использования:
cin>>x; //присваивает переменной х значение, введенное с клавиатуры.
cin>>x>>y; //присваивает переменной х первое введенное с клавиатуры
значение, переменной у – второе.
endl – оператор перевода каретки на экране на следующую строку.
Самостоятельно оператор endl –не используется.

23. Стандартные типы данных. Тип char

Основные библиотеки, их основные функции и операторы

24. Стандартные типы данных. Тип char

Вводим текст программы
#include <iostream>
using namespace std;
Поддержка потоков (streams)
ввода/вывода (Input/Output)
Использовать имена из
стандартной библиотеки C++
main() — любая программа на
C++ должна включать функцию с
этим именем
int main()
cout — это имя объекта, который обеспечивает
вывод информации на экран дисплея
{
cout << "Hello, World!" << endl;
return 0;
endl приводит к переводу курсора
на новую строку
}
Точка выхода из программы
Язык C++ является чувствительным к регистру —
заменять main на Main или MAIN нельзя

25. Стандартные типы данных. Тип int

Структура программы на языке C++
//Дана последовательность целых чисел из n элементов.
//Найти среднее арифметическое этой последовательности.
#include <iostream>
#include <cmath>
using namespace std;
int main()
{ int a,n,i,k=0;
double s=0;
cout<<"\nEnter n ";
сin>>n;
for(i=1;i<=n;i++)
{
cout<<"\nEnter a";
cin>>a;
s+=a;
k++;
}
s=s/k;
cout<<"\nSr.arifm="<<s<<"\n";
return 0;
}
Комментарии
Директивы препроцессора
Заголовок функции, с
которой начинается
выполнение программы
Определения переменных,
используемых в функции
Ввод-вывод данных
Тело цикла
Оператор присваивания
Вывод результата
37

26. Стандартные типы данных. Тип long long

КОММЕНТАРИИ
• // включают в себя весь последующий текст
после этих символов и продолжаются до конца
строки
• /* … */

27. Стандартные типы данных. Тип bool

Основные математические функции С++
<math>
одинаково для Visual Studio Библиотека математических функций.

28. 3. Стандартные типы данных.

4. Константы и переменные.
В процессе обработки данные хранятся в оперативной
памяти
компьютера.
Чтобы
абстрагироваться
от
архитектуры памяти, любой величине можно присвоить
имя (идентификатор). По имени осуществляется доступ к
величине.
Если величина в процессе выполнения программы
изменяет свой значение, её называют переменной, в
противном случае – константой.
Имя (идентификатор) в хорошо составленной программе
говорит о назначении данной величины. Каждому
идентификатору соответствует адрес первой ячейки
оперативной памяти, начиная с которой хранится в
двоичном коде значение величины.
40

29. 3. Стандартные типы данных. Тип void

4. Константы и переменные.
Каждая переменная величина имеет три характеристики:
тип,
имя,
значение
Правила языка программирования С++ требуют, чтобы
переменная была определена (то есть сообщены её тип и
имя) до того, как будет использована в программе.
Кроме того, переменную до использования необходимо
инициализировать – занести в ячейку памяти требуемое
значение. Это можно сделать различными способами, в
том числе в процессе объявления (объявление с
инициализацией)
41

30. Стандартные типы данных.

4. Константы и переменные.
Объявлять переменную можно в любом месте программы,
лишь бы это происходило до того, как переменная
используется.
int a, b(1), c=2; /*
переменные целого типа,
переменная
а
значения
переменные
b
и
с
инициализацией */
объявлены
три
не
получила,
объявлены
с
42

31.

Чтобы использовать в программе переменную, необходимо:

32.

5. Операции и операторы.
Знаки операций – это один или несколько символов,
определяющих действие над операндами. Операции
делятся на унарные, бинарные и тернарную по количеству
участвующих в этой операции операндов.
В таблице приведены знаки некоторых операций
53

33.

Логические операции С++

34.

Пример. Вычисление длины и площади окружности
#include <iostream>
int main()
{
int radius;
float length, square;
cout<<"Введите значение радиуса:\n";
cin>>radius;
length = 3.1415 * 2 * radius;
сообщает компилятору о необходимости подключить
заголовочный файл. Этот файл содержит информацию,
необходимую для правильного выполнения функций
библиотеки стандартного ввода/вывода
объявлены две переменные двух разных типов: radius – типа целое (int);
length – типа с плавающей запятой (float), содержащую дробную часть.
Используется объект выходного потока cout и операция
<< – поместить в поток для вывода приглашения
пользователю и выдачи результата расчета
Объект входного потока cin и операция взять из потока >>,
чтобы получить от пользователя значение.
square = 3.1415 * radius * radius;
cout<<" Радиус – " << radius<<"длина –
"<<length<<endl;
cout<<" Радиус – " <<
radius<<"площадь – "<<length<<endl;
}
содержит
открывающую
фигурную скобку
(brace),
обозначающую
начало тела
функции main().
выводит символ новой строки и затем очищает буфер вывода.

35.

В языке С++ существует сокращенная запись операций:

36.

Сокращенная запись операций в Си
полная запись
a = a + 1; инкремент
сокращенная запись
a++;
a = a + b;
a += b;
a = a - 1;
декремент
a--;
a = a – b;
a -= b;
a = a * b;
a *= b;
a = a / b;
a /= b;
a = a % b;
a %= b;

37. Структура программы на языке C++

Линейные вычислительные алгоритмы
Пример 1. Даны числа а = 2 b =7 . Вычислить сумму S и разность R чисел a и b.
Приведем блок-схему
Рис. 4.1. Блок-схема для примера 1

38.

Код программы
Результат выполнения программы(Visual Studio):

39.

Пример 2. Составить программу для вычисления значений функции
y = sinx и z = lnx при х, который считывается с экрана (клавиатуры).
Приведем блок-схему

40. 4. Константы и переменные.

КОД ПРОГРАММЫ
Библиотека для ввода и вывода данных, для работы с
консолью (экраном).
Подключение математической библиотеки
имени из пространства std вводим объявление
using, позволяющее избежать необходимости
помещения std:: перед каждым использованием
Объявляет переменную (вещественный тип)
Оператор вывода на экран введите х
Оператор ввода на экран, введите х
Примечание. Чтобы не возникало ошибок при вычислении логарифма, надо поставить условие на аргумент
х, поэтому данная задача будет рассмотрена ниже при реализации разветвляющегося алгоритма.

41. 4. Константы и переменные.

Пример 3. Составить блок-схему и программу для вычисления значений функций
при различных значениях аргументов х, у . Переменные х, у считать с клавиатуры.
Рис. 4.3. Блок-схема для примера 3

42. 4. Константы и переменные.

Код программы (Visual Studio):
Результат выполнения программы (Visual Studio):

43. 4. Константы и переменные.

8. Операторы выбора
Операторы выбора – условный оператор и
переключатель.
Условный оператор имеет полную и сокращенную
форму.
if (выражение-условие) оператор1;
// сокращенная форма
if (выражение-условие) оператор1;
// полная форма
else оператор2;
Если значение выражения-условия отлично от нуля,
то выполняется оператор1, иначе выполняется
оператор2.
61

44. Классы памяти:

Логические операции С++

45. 4. Константы и переменные.

Условный оператор if()

46. 4. Константы и переменные.

Для реализации разветвляющегося алгоритма в С++ используется
условный оператор if. Приведем общий вид блок-схем и общий вид записи
оператора if:
Примечание. Если необходимо выполнить не набор действий, а всего одно
действие, то фигурные скобки можно опустить.

47. 4. Константы и переменные.

Программная реализация разветвляющегося алгоритма
Пример 5. Даны числа a = 2 и b = 7. Вычислить сумму S и R разность чисел a и b.
Сравнить полученные значения S и R , указать большее из них.
Рис. 4.5. Блок-схема для примера 5

48. 4. Константы и переменные.

Код программы (Visual Studio):
Результат выполнения программы (Visual Studio):

49. 4. Константы и переменные.

Пример 6. Составить блок-схему и программу для вычисления значений
функций y = sin x и z = ln x при различных значениях аргумента. Учесть область
определения функций.

50.

Рис. 4.6. Блок-схема для примера 6

51. Разделители

Код программы (Visual Studio):
Результат выполнения программы:

52. 5. Операции и операторы.

Пример 7. Вычислить значение функции
при различных значениях аргумента Х (аргумент Х считать с клавиатуры).
Рис. 4.7. График кусочной функции

53. 5. Операции и операторы.

54.

Рис. 4.8. Блок-схема для примера 7

55.

КОД ПРОГРАММЫ
Результат выполнения программы:

56. 5. Операции и операторы.

Рис. 4.9. График кусочной функции

57. 5. Операции и операторы.

Рис. 4.10. Блок-схема для примера 8

58. 5. Операции и операторы. Оператор присваивания.

Код программы
Результат
(Visual Studio):
выполнения
программы

59. 5. Операции и операторы. Оператор присваивания.

8. Операторы выбора
Переключатель определяет множественный выбор.
switch (выражение)
{
case константа1: оператор1;
case константа2: оператор2;
. . . . . . . . . . .
[default: операторы;]
}
10
4

60. 5. Операции и операторы.

8. Операторы выбора
При выполнении оператора switch, вычисляется
выражение, записанное после switch, оно должно
быть целочисленным. Полученное
значение
последовательно сравнивается с константами, которые
записаны следом за case. При первом же совпадении
выполняются операторы, помеченные данной меткой.
Если выполненные операторы не содержат оператора
перехода, то далее выполняются операторы всех
следующих вариантов, пока не появится оператор
перехода или не закончится переключатель.
Если значение выражения, записанного после switch,
не совпало ни с одной константой, то выполняются
операторы, которые следуют за меткой default.
10
5

61. 5. Операции и операторы.

8. Операторы циклов. Цикл с предусловием:
while (выражение-условие)
оператор;
Если выражение-условие истинно, то тело цикла
выполняется до тех пор, пока выражение-условие не
станет ложным.
int a = 1, s = 0;
while ( a != 0 )
{
cin >> a;
s += a;
}
10
6

62. 6. Организация ввода и вывода.

8. Операторы циклов. Цикл с постусловием:
do
оператор;
while (выражение-условие);
Тело цикла выполняется до тех пор,
пока выражение-условие истинно.
int a, s = 0;
do
{
cin >> a;
s += a;
}
while(a != 0);
10
7

63. 6. Организация ввода и вывода.

общий вид блок-схем и общий вид записи
операторов while и for:
Блок-схема и запись оператора do
while в общем виде:

64. 6. Организация ввода и вывода.

Приведем блок-схему и вид записи операторов цикла с
предусловием:

65. 6. Организация ввода и вывода.

Общий вид записи циклов с постусловием и блок-схема с
постусловием:

66. 6. Организация ввода и вывода.

Задания
Выведите на экран значения функции y = f(x) в точках x0=xнач, x1=x0+h, x2=x1+h, … xN =
xкон, где h =(xкон – xнач)/N.
Функция y = f(x) зависит от параметра a.
Результаты вычислений следует оформить в виде таблицы, снабженной заголовком и
вывести на экран;
Задачу решить тремя различными способами (цикл с предусловием, цикл с
постусловием, цикл с параметром). Все три решения оформить в одной программе,
выбор способа предоставить пользователю.

67. 6. Организация ввода и вывода.

КОД ПРОГРАММЫ

68. 6. Организация ввода и вывода. Файлы.

69. 6. Файлы с последовательным доступом.

70.

71.

72.

73.

Рис. 5.3. Блок-схема с предусловием для
примера 2

74.

75.

76. КОД ПРОГРАММЫ

77.

Результат выполнения программ
операторами while, for, do while:
с

78.

79. 8. Операторы выбора

80. 7. Структура программы на языке C/С++

81. 7. Структура программы на языке C++

82. 7. Структура программы на языке C++

83. 7. Структура программы на языке C++

Примечание. В данном примере операторы вложенного и
внешнего циклов совпадают. Например, в одной программе
задействован один оператор while два раза. Можно сочетать
операторы цикла как угодно: оператор do while может быть
вложен в оператор for, оператор for в оператор while и т.д.
Результат выполнения программы не должен зависеть от
выбранного оператора цикла.

84. 8. Управляющие операторы

Исследование таблицы значений функции

85.

86.

87.

88. Операторы языка C++. Составные операторы

89.

Примечание. Если функция зависит от двух
переменных, то следует реализовывать двумерный
цикл, причем тело внутреннего цикла будет
организовано так же, как в данном примере.
English     Русский Rules