Similar presentations:
Среда программирования Visual С++. Программирование линейных алгоритмов
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 Application10.
Написание кодаПосле создания проекта все его файлы отображаются в окне обозревателя
решений. (Решение представляет собой логический контейнер для одного или
нескольких взаимосвязанных проектов.) При щелчке H- или CPP-файла в обозревателе
решений он открывается в редакторе кода.
11.
Сборка (компиляция и компоновка)Выберите Сборка > Собрать/Пересобрать решение в строке меню или
нажмите клавиши CTRL+SHIFT+B для компиляции и компоновки
проекта. Предупреждения и ошибки сборки отображаются в списке ошибок
(CTRL+\, E). Окно Вывод (ALT+2) содержит сведения о процессе сборки.
12.
ОтладкаЧтобы начать отладку, следует нажать клавишу F5. Выполнение приостанавливается в
каждой заданной точке останова. Вы можете построчно выполнять код, просматривать
значения указанных переменных или регистров, а в некоторых случаях даже вносить
изменения в код и продолжать отладку без повторной компиляции. На следующем
рисунке показан сеанс отладки, в ходе которого выполнение прекращено в точке
останова. Значения членов структуры данных можно просмотреть в окне контрольных
значений.
13.
Обозреватель решенийПосле создания проекта можно просматривать
проект, решение и связанные с ними
элементы, а также для управлять ими с
помощью обозревателя решений. На
следующем рисунке показан обозреватель
решений с решением C#, включающим два
проекта:
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.
Например:
28.
Инициализация по умолчанию (проделать)#include <iostream>
int x;
int main()
{
int y;
std::cout <<"X = " << x << "\n";
std::cout <<"Y = " << y;
return 0;
}
29.
Инициализация по умолчаниюПеременная x определена вне функции, и поэтому она получит
значение по умолчанию - число 0. А переменная y определена
внутри функции main, поэтому ее значение будет
неопределенным.
В частности в некоторых средах, вывод программы на консоль
может выглядеть следующим образом:
X=0
Y = 4200475