Структура программы
Определение пространства имен
Базовые типа данных
Ввод/вывод данных
Директивы в С++
Директивы в С++
Оператор выбора
Что делает эта программа?
3.47M
Категория: ПрограммированиеПрограммирование

2 Линейные алгоритмы и программы

1.

Линейные алгоритмы и программы.
Формирование проекта программы

2.

3.

Решения и проекты в Visual Studio
Проекты (Projects)
При создании в Visual Studio приложения, веб-сайта, подключаемого модуля и
т. д. всё начинается с проекта.
С логической точки зрения проект содержит все файлы исходного кода, значки,
изображения, файлы данных и прочие элементы, которые будут
скомпилированы в исполняемую программу, библиотеку или веб-сайт. Он
содержит параметры компилятора и другие файлы конфигурации, которые
могут потребоваться разным службам или компонентам, с которыми
взаимодействует программа.
Примечание
Использовать решения или проекты в Visual Studio для редактирования,
сборки и отладки кода необязательно. Можно просто открыть папку с файлами
исходного кода в Visual Studio и начать редактирование. .
Проект
определяется
в
расширением VBPROJ, CSPROJ или VCXPROJ.
XML-файле
с
Этот файл содержит иерархию виртуальных папок и пути ко всем элементам в
проекте. Он также содержит параметры сборки.

4.

Решения (Solutions)
Проект находится внутри решения. Под решением не подразумевается
"решение вопроса". Это просто контейнер для одного или нескольких
связанных проектов вместе с информацией о сборке, параметрами окна
Visual Studio и любыми прочими файлами, которые не относятся к какомулибо конкретному проекту.
Решение описывается текстовым файлом (SLN) в собственном уникальном
формате; его обычно не изменяют вручную.
В Visual Studio используются два типа файлов (SLN и SUO) для хранения
параметров, связанных с решениями:
Расширение
name
Описание
.SLN
Решение Visual Studio
Организует проекты,
элементы проектов и
решений в решении.
SUO
Параметры
пользователя решения
Сохраняет настройки и
параметры уровня
пользователя, например
точки останова.

5.

Создание нового проекта
Самый простой способ создать проект — начать с шаблона проекта для приложения
или веб-сайта определенного типа.
Шаблон проекта состоит из базового набора предварительно созданных файлов кода,
файлов конфигурации, активов и параметров. Эти шаблоны доступны в диалоговом
окне создания проекта. Мы будем создавать консольный проект для С++.
1. Запустим Visual Studio
2. Выбрать пункт Создание проекта

6.

Создание нового проекта
Если часто настраиваются проекты определенным образом, можно создать
пользовательский шаблон проекта, на основе которого создавать новые проекты.

7.

Создание нового проекта
Самый простой способ создать проект — начать с шаблона проекта для приложения или вебсайта определенного типа. Шаблон проекта состоит из базового набора предварительно
созданных файлов кода, файлов конфигурации, активов и параметров. Эти шаблоны доступны в
диалоговом окне создания проекта.
Примечание
Список доступных языков и шаблонов проектов зависит от используемой версии Visual Studio и
установленных рабочих нагрузок. .
Чтобы открыть список шаблонов для требуемого языка программирования, щелкните
треугольник рядом с названием языка, а затем выберите категорию проекта (например, "Рабочий
стол Windows").
Показаны шаблоны
проектов, доступные для
проектов с++:

8.

Создание нового проекта
При создании нового проекта он сохраняется по умолчанию
в %USERPROFILE%\source\repos. Вы можете изменить это расположение при помощи
параметра Расположение.

9.

Окно Win32 Console Application

10.

Написание кода
После создания проекта все его файлы отображаются в окне обозревателя решений.
При щелчке H- или CPP-файла в обозревателе решений он открывается в редакторе
кода.

11.

Сборка (компиляция и компоновка)
Выберите Сборка > Собрать/Пересобрать решение в строке меню или
нажмите клавиши CTRL+SHIFT+B для компиляции и компоновки
проекта. Предупреждения и ошибки сборки отображаются в списке ошибок
(CTRL+\, E). Окно Вывод (ALT+2) содержит сведения о процессе сборки.

12.

Отладка
Чтобы начать отладку, следует нажать клавишу F5. Выполнение приостанавливается в
каждой заданной точке останова. Можно построчно выполнять код, просматривать
значения указанных переменных или регистров, а в некоторых случаях даже вносить
изменения в код и продолжать отладку без повторной компиляции.
показан сеанс отладки, в ходе
которого
выполнение
прекращено
в
точке
останова.
Значения
членов
структуры
данных
можно
просмотреть
в
окне
контрольных значений.

13.

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

14.

Поточный ввод-вывод в C++
В
С++,
как
и
в
С,
нет
встроенных
в
язык
средств
ввода-вывода.
В
С
для
этих
целей
используется
библиотека
stdio.h.
В С++ разработана новая библиотека ввода-вывода iostream, использующая
концепцию объектно-ориентированного программирования:
#include <iostream>
Библиотека iostream определяет три стандартных потока:
cin стандартный входной поток (stdin в С)
cout стандартный выходной поток (stdout в С)
cerr стандартный поток вывода сообщений об ошибках (stderr в С)
Для их использования в Microsoft Visual Studio необходимо прописать строку:
using namespace std;
Для выполнения операций ввода-вывода переопределены две операции поразрядного
сдвига:
>> получить из входного потока
<< поместить в выходной поток

15.

Вывод информации
cout << значение;
Здесь значение преобразуется в последовательность символов и выводится в выходной
поток:
cout << n;
Возможно многократное назначение потоков:
cout << 'значение1' << 'значение2' << ... << 'значение n';
Пример:
int n;
char j;
cin >> n >> j;
cout << "Значение n равно" << n << "j=" << j;

16.

Ввод информации
cin >> идентификатор;
При этом из входного потока читается последовательность символов до пробела,
затем эта последовательность преобразуется к типу идентификатора, и
получаемое значение помещается в идентификатор:
int n;
cin >> n;
Возможно многократное назначение потоков:
cin >> переменная1 >> переменная2 >>...>> переменнаяn;

17.

Пример

18.

Пример
Результат выполнения

19.

Структура программы
Инструкции
Программа на С++ состоит из набора инструкций. Каждая инструкция (statement)
выполняет определенное действие. В конце инструкции в языке C++ ставится точка с
запятой (;). Данный знак указывает компилятору на завершение инструкции.
Например:
std::cout << "Hello World!";
Если используется using namespace std
cout << "Hello World!";
Данная строка выводит на консоль строку "Hello world!", является инструкцией и
поэтому завершается точкой с запятой.
Набор инструкций может представлять блок кода. Блок кода заключается в
фигурные скобки, а инструкции помещаются между открывающей и
закрывающей фигурными скобками:
{
std::cout << "Hello World!";
std::cout << "Bye World!";
}
В этом блоке кода две инструкции, которые выводят на консоль определенную
строку.

20.

Пространства имен в С++
Пространство имен — это декларативная область, в рамках которой определяются
различные идентификаторы (имена типов, функций, переменных, и т. д.). Пространства
имен используются для организации кода в виде логических групп и с целью избежать
Конфликтов имен, которые могут возникнуть, особенно в таких случаях, когда база кода
включает несколько библиотек. Все идентификаторы в пределах пространства имен
доступны друг другу без уточнения. Идентификаторы за пределами пространства имен
могут обращаться к членам с помощью полного имени для каждого идентификатора,
std::vector<std::string> vec;
например или с помощью объявления using для одного идентификатора (using std::string)
или директивы using для всех идентификаторов в пространстве имен (using namespace
std;).
Код в файлах заголовков всегда должен содержать полное имя в пространстве имен.

21.

Функция main
Каждая программа на языке С++ должна иметь как минимум одну функцию функцию main(). С этой функции начинается выполнение приложения. Ее
имя main фиксировано и для всех программ на Си всегда одинаково.
Функция также является блоком кода, поэтому ее тело обрамляется фигурными
скобками, между которыми определяется набор инструкций.
В частности, при создании первой программы использовалась следующая функция
main:
#include <iostream>
// подключаем заголовочный файл iostream
int main()
// определяем функцию main
{
// начало функции
std::cout << "Hello World!"; // выводим строку на консоль
return 0;
// выходим из функции
}
// конец функции

22.

Функция main
Определение функции main начинается с возвращаемого типа. Функция main в любом
случае должна возвращать число. Поэтому ее определение начинается с ключевого
слова int.
Далее идет название функции, то есть main. После названия в скобках идет список
параметров. В данном случае функция main не принимает никаких параметров,
поэтому после названия указаны пустые скобки. Однако есть другие варианты
определения функции main, которые подразумевыют использование параметров. В
частности, нередко может встречаться следующее определение функции main,
использующей параметры:
int main (int argc, char *argv[])
{
}
И после списка параметров идет блок кода, который и содержит в виде
инструкций собственно те действия, выполняемые функцией main.

23.

Директивы препроцессора
На консоль выводится строка, но чтобы использовать вывод на консоль,
необходимо в начале файла с исходным кодом подключать библиотеку iostream
с помощью директивы include.
Директива include является директивой препроцессора.
Каждая директива препроцессора размещается на одной строке.
В отличие от обычных инструкций языка C++, которые завершаются точкой с
запятой ; , признаком завершения препроцессорной директивы является
перевод на новую строку.
Кроме того, директива должна начинаться со знака решетки #.
Непосредственно директива "include" определяет, какие файлы и библиотеки
надо подключить в данном месте в код программы.

24.

Комментарии
Исходный код может содержать комментарии. Комментарии позволяют понять смыл
программы, что делают те или иные ее части.
При компиляции комментарии игнорируются и не оказывают никакого влияние на
работу приложения и на его размер.
В языке C++ есть два типа комментариев: однострочный и многострочный.
Однострочный комментарий размещается на одной строке после двойного слеша //:
#include <iostream>
// подключаем библиотеку iostream
int main()
// определяем функцию main
{
// начало функции
std::cout << "Hello World!"; // выводим строку на консоль
return 0;
// выходим из функции
}
// конец функции

25.

Многострочный комментарий
Многострочный комментарий заключается между символами /* текст комментария */.
Он может размещаться на нескольких строках. Например:
#include <iostream>
/*
Определение функции Main
Выводит на консоль строку Hello World!
*/
int main()
{
std::cout << "Hello World!"; // вывод строки на консоль
return 0;
}

26.

Переменные
Как и во многих языках программирования, в C++ для хранения данных используются
переменные. Переменная имеет тип, имя и значение. Тип определяет, какую
информацию может хранить переменная.
Перед использованием любую переменную надо определить. Синтаксис определения
переменной выглядит следующим образом:
тип_переменной имя_переменной;
Простейшее определение переменной:
int age;
Инициализация
int age;
age = 20;

27.

Инициализация по умолчанию
Если переменную не инициализировать, то происходит ее инициализация по
умолчанию. И переменная получает некоторое значение по умолчанию, которое
зависит от места, где эта переменная определена.
Если переменная, которая представляет встроенный тип (например, тип int),
определена внутри функции, то она получает неопределенное значение. Если
переменная встроенного типа определена вне функции, то она получает то значение
по умолчанию, которое соответствует ее типу. Для числовых типов это число 0.
Например:
#include <iostream>
int x;
int main()
{
int y;
std::cout <<"X = " << x << "\n";
std::cout <<"Y = " << y;
return 0;
}

28.

Инициализация по умолчанию
Переменная x определена вне функции, и поэтому она получит
значение по умолчанию - число 0.
А переменная y определена внутри функции main, поэтому ее
значение будет неопределенным.
В частности в некоторых средах, вывод программы на консоль
может выглядеть следующим образом:
X=0
Y = 4200475

29.

30.

31. Структура программы

32. Определение пространства имен

std - пространство имён для функций,
классов и
объектов из стандартной библиотеки
В пространстве имён std определены,
например:
•операции ввода-вывода;
•классы строк;
•классы контейнеров, которые могут
содержать другие элементы;
•инструменты создания многопоточной
программы.

33. Базовые типа данных

1) Логический тип : bool
2) Целочисленный тип : char
3) Вещественный тип : float, double
4) Пустой тип : void
5) Символьный тип :
char - один символ в кодировке ASCII
wchar_t - расширенный символ

34. Ввод/вывод данных

Строки нужно для того, чтобы адекватно
отображался русский язык

35. Директивы в С++

Для того, чтобы ваш код превратился посредством компиляции в
рабочую программу, он должен пройти несколько важных
преобразований. Они называются этапами трансляции. В одну из
фаз трансляции в работу включается препроцессор. Когда
начинается его работа, он просматривает файл кода в поисках
директив, оставленных программистом для него. После чего,
препроцессор исполняет все директивы. Все директивы
препроцессора начинаются с новой строки и символа #, а
заканчиваются переходом на следующую строку (а не точкой с
запятой, как инструкции).
Например, в каждой программе с вводом и выводом данных вы
используете директиву #include <iostream>

36. Директивы в С++

В языке C++ довольно распространенной практикой является объявление
глобальных констант с помощью директивы #define:
Это связано с тем, что #define
Не создаёт объектный код и не резервирует память для констант.
Имеет глобальную область видимости — препроцессор заменяет указанный
набор символов во всём исходном файле программы.
На этапе препроцессинга, все использования PI будут заменены указанным в
объявлении макроса токеном:
После этой строчки обращаться к PI будет уже
нельзя.

37.

Форма записи структуры:
если <условие>
действия1
иначе
действия2
все_если
Синтаксис условного оператора:
if (<условие>)
<оператор1, выполняемый при истинности
(выполнении) условия>
else
<оператор2 , выполняемый при ложности
(не выполнении) условия>
if(<условие>)
{
операторы;
}
else
if(<условие>)
{
операторы;
}
else
if(<условие>)
{
операторы;
}
else
{
операторы;
}

38. Оператор выбора

Синтаксис оператора выбора switch():
switch(<выражение–ключ>)
{
case <константное_выражение1>:
Любой из операторов, помещённых в
операторы1;
фигурных скобках после конструкции
break;
switch(), может быть помечен одной или
case <константное_выражение2>:
несколькими метками вида
операторы2;
case <константное_выражение>:
break;
…
В каждом переключателе должно быть не
default:
больше одной метки default, но она может и
операторыV;
отсутствовать
}

39. Что делает эта программа?

English     Русский Правила