Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lesson_1_2.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
280.06 Кб
Скачать

Урок 1.

План занятий.

  1. Характеристика С++ (процедурность), структура программы.

  2. Компилятор Microsoft Visual C++ 2012 (структура, работа, описание закладок)

  3. Этапы разработки программы и устранение ошибок

  4. Показать на примере (на своей машине) процесс подготовки к написанию программы, первая Hello!

  5. Объяснить программу, все детали.

  6. Вывод данных с помощью cout, использование Escape-последовательностей

  7. Типы данных (числовые, символьные, логические)

  8. Переменные и константы (объявление и использование), правила составления имен.

  9. Литералы

  10. Ввод данных с помощью cin.

  1. Характеристика С++ (процедурность), структура программы.

С++ - полностью объектно-ориентированный язык, представленный расширениями в форме классов, которые добавляются к С. С лежит в основе С++ и предлагает для него базовые типы, операции, управляющие структуры, синтаксические правила. Без знания С невозможно сразу приступить к изучению С++! Создатель С – Деннис Ритчи.

С++ изучать нужно поскольку большинство новых языков происходят от него. (Java, C♯ - используют синтаксис С++, но изучать их с самого начала сложнее). Важная причина изучения языка С++ - переносимость его кода. Другие характеристики С++: эффективность, компактность, быстродействие. Создатель С++ - Бьярне Страуструп. Страуструпу удалось реализовать в языке С принципы ООП и поддержку обобщенного программирования без существенного изменения языка. Поэтому язык программирования C++ в первом приближении можно рассматривать как расширенный набор С; в пользу этого свидетельствует тот факт, что любая допустимая программа на языке С — это также допустимая программа на C++. Программы, написанные на C++, могут пользоваться существующими библиотеками программного обеспечения для С. Библиотека представляет собой коллекцию программных модулей, которые могут быть вызваны из программы. Распространение языка C++ стало возможным во многом благодаря библиотекам. Название языка C++ происходит от операции инкремента (++) в языке С, которая увеличивает на единицу значение переменной. Таким образом, имя C++ в точности отражает расширенную версию языка С.

Компьютерные языки имеют дело с двумя концепциями: данные и алгоритмы. Данные – это информация, которую использует и обрабатывает программа. Алгоритмы – методы, используемые программой. Процедурность языка С означает обработку данных с помощью алгоритмов. Суть процедурного программирования заключается в том, чтобы запланировать действия, которые должен предпринять компьютер, и с помощью языка программирования их реализовать. В программе предварительно описывается некоторое количество процедур, которые должен будет выполнить компьютер, чтобы получить определенный результат.

Пример: кулинарный рецепт

Данные + алгоритм = программа

Данные: Алгоритмы:

Масло взбить масло

Сахар + постепенно добавить сахар = программа

Яйца разбить яйца

…. …

Ранние процедурные языки – Fortran, Basic. С увеличением размера программы возникают организационные проблемы. В большинстве старых программ было много запутанных переходов, что осложняло ее понимание при прочтении, а также сложность модифицирования. Выход – разработка нового дисциплинированного стиля программирования – структурного программирования (ограничивает ветвление небольшим набором удобных и гибких конструкций, например циклы for, while, do while, операторы if, else ) – что реализовано в С. Другое новшество в С – нисходящее проектирование: разделение большой программы на небольшие, так называемые программные модули, называемые функциями, которые отвечают за выполнение конкретной задачи. Процедурное программирование: программа представляется в виде действий, которые она должна выполнить.

  1. Компилятор Microsoft Visual C++ 2012 (структура, работа, описание закладок)

!: Код программы на С++ можно переносить на другие машины независимо от установленной операционной системы (Windows, UNIX, Linux).

Компилятор (compiler) – это ПО, читает код в формате, понятном человеку, и преобразует в машинный код, создавая объектный файл, который будет впоследствии скомпонован и запущен.

Компоновщик (linker) – программа, которая компонует созданные компилятором файлы объектного кода в исполняемый файл.

Для windows существует компилятор C++ от Borland (или Borland C++BuilderX), самый популярный Microsoft Visual C++ 2010/2012, который доступен также в виде бесплатной версии Microsoft Visual C++ 2010/2012 Express.

Файлы, создаваемые с помощью текстовых редакторов, называются исходными. Они имеют расширение .срр, .ср или .с По умолчанию для компилятора Borland приянто расширение .срр

Рекомендуется:

  1. Использовать встроенный в компилятор текстовый редактор;

  2. Сохранять исходные файлы с расширением .срр

Файл исходного кода не является исполняемым и не может быть запущен как программа!!! Компилятор «превращает» исходный текст в программу! В интегрированной среде разработки можно нажать Ctrl+F5 и запустится компиляция приложения. После завершения компиляции исходного кода создается объектный файл с расширением .obj или .o Но и он не является исполняемой программой. Для его превращения в исполняемый файл запускается программа компоновки. Программа компонует объектные файлы с библиотеками. В результате получается исполняемый файл с расширением .exe

Библиотека – набор компонуемых файлов, поставляемых компилятором или созданных программистом. Все компиляторы С++ укомплектованы библиотекой функций и классов, которые можно включить в программу.

Функция – это блок кода, который выполняет отдельную задачу, например сложение двух чисел или вывод данных на экран.

Класс – это определение нового типа. Класс реализуется как набор данных и связанных с ними функций.

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

Синтаксические ошибки обнаруживаются на стадии компиляции. Компоновщик сообщает о таких ошибках, как отсутствие необходимых библиотек или неправильные имена функций. Ошибки при выполнении программы – логические!

  1. Этапы разработки программы и устранение ошибок

Любая ошибка должна быть исправлена в следующей последовательности:

  1. Редактирование исходного текста программы (исходный код программы);

  2. Компиляция (объектный код программы);

  3. Компоновка (комбинация объектного кода с библиотеками, дополнительными кодами для используемых функций);

  4. Запуск программы (исполняемый код программы).

Предоставить компилятор Microsoft Visual C++ 2012. Установка, запуск, как с ней работать, закладки и т.д.

- Compile обычно означает компиляцию кода в открытом в настоящий момент файле.

- Build или Make обычно означает компиляцию кода для всех файлов исходного кода, входящих в состав данного проекта. Часто этот процесс является инкрементным. То есть, если в проекте было три файла, и вы изменили только один из них, то повторно скомпилирован будет только этот файл.

- Build All обычно означает компиляцию всех файлов исходного кода с самого начала.

- Как уже было сказано ранее, Link означает объединение скомпилированного исходного кода с необходимым библиотечным кодом.

- Run или Execute означает запуск программы. Обычно если вы еще не завершили выполнение предыдущих этапов, команда Run выполнит их перед запуском программы.

- Debug означает запуск программы с возможностью ее пошагового выполнения.

Совет

Исправление ошибок начинайте с самой первой. Если вы не можете ее найти в указанной

строке, проверьте предыдущую строку кода.

  1. Показать на примере (на своей машине) процесс подготовки к написанию программы, первая Hello!

Главная идея – освоить общую структуру и формат программы, а потом переходить к подробному изучению деталей.

Запустить Microsoft Visual C++ 2012, пошагово рассказать где и как писать программу, какие закладки использовать. Первый пример работающей программы hello.cpp:

#include <iostream> //директива препроцессора

using namespace std; //делает видимыми определения

void main() //заголовок функции

{ //начало тела функции

setlocale (LC_CTYPE, "Russian"); //можно использовать русский текст в консольном окне cout << "Всем привет!"; //сообщение

cout << endl; //начало новой строки

cout << "Свое Имя"; //продолжение сообщения

cout << endl; //начало новой строки

cin.get (); //оператор читает следующее нажатие клавиши, поэтому программа будет //находиться в режиме ожидания до тех пор, пока вы не нажмете клавишу <Enter>

}

  1. Объяснить программу, все детали.

Обычно IDE-среда позволяет запускать программу во вспомогательном окне. В некоторых IDE-средах это окно закрывается после завершения выполнения программы, а в некоторых оно остается открытым. Если ваш компилятор закрывает окно, вы не успеете увидеть вывод программы, если только не умеете очень быстро читать и не обладаете фотографической памятью. Чтобы увидеть результат выполнения, в конце программы необходимо ввести следующий код:

cin.getO; // добавьте этот оператор

cin.getO; //и, возможно, этот тоже

return 0;

}

Оператор cin.get () читает следующее нажатие клавиши, поэтому программа будет находиться в режиме ожидания до тех пор, пока вы не нажмете клавишу <Enter>. (Вплоть до нажатия <Enter> никакие нажатия клавиш программе не отправляются, поэтому нажимать другие клавиши не имеет смысла.) Второй оператор необходим на случай, если программа оставит необработанным нажатие клавиши после предыдущего ввода информации в программе.

Пример hello.cpp содержит следующие элементы:

• комментарии, обозначаемые с помощью //;

• директива препроцессора #include;

• заголовок функции: void main ();

• директива using namespace;

• тело функции, ограниченное фигурными скобками { и };

• операторы, которые используют объект C++ cout для отображения сообщения;

• оператор возврата для прекращения выполнения функции main (), если указывается тип возвращаемого значения (если void – то оператор возврата не указывается!!! – будет ошибка)

Например:

int main ()

{

операторы

return 0;

}

Функция main позволяет работать с консольным окном.

Вместе все эти строки образуют определение функции. Это определение состоит из двух частей: первой строки, int main (), которая называется заголовком функции, и частью, заключенной в скобки ({ и }), которая называется телом функции. В заголовке функции вкратце описан ее интерфейс с остальной частью программы, а в теле функции содержатся компьютерные инструкции о том, что функция должна делать.

В языке C/C++ каждая полная инструкция называется оператором. Каждый оператор должен завершаться точкой с запятой, поэтому не забывайте ставить ее при наборе примеров.

Возвращаемое значение Имя функции

int main () - Заголовок функции, параметры функции записываются в круглых скобках

{

Выражения, завершаемые точкой с запятой

Определение

Ф ункции операторы

Тело функции

return 0;

}

Завершение функции. Это оператор возврата.

Его назначение –завершить выполнение функции.

; используется как признак завершения, а не как разделительный знак! Ее никогда нельзя опускать!

Структура функции: Та часть, которая предшествует имени функции, называется возвращаемым типом функции', в ней описывается информационный поток, поступающий из функции обратно к функции, которая ее вызвала. В данном случае функция main() может возвращать целочисленное значение, на что указывает ключевое слово int. Та часть, которая заключена в скобки после имени функции, называется списком аргументов или списком параметров; в ней описывается информационный поток, который поступает из вызывающей функции к вызываемой функции. В нашем

случае пустые скобки означают, что main() не принимает никакой информации, или, если обратиться к общепринятой терминологии, функция main () не принимает аргументов.

Короче говоря, заголовок

int main ()

говорит о том, что функция main () возвращает целочисленное значение в вызывающую ее функцию, и что функция main () не принимает никакой информации от вызывающей ее функции.

Некоторые программисты используют следующий заголовок и опускают оператор возврата:

void main()

Выполнение программы на C++ всегда начинается с функции main (). Таким образом, если в программе функция main () отсутствует, то такая программа рассматривается как неполная и компилятор выдаст сообщение об отсутствии определения функции main ()

Комментарий обозначается двумя косыми чертами (//). Комментарий — это примечание, написанное программистом для пользователя программы, которое обычно идентифицирует ее раздел или содержит пояснения к определенному коду. Компилятор игнорирует комментарии. Комментарий в C++ начинается с символов // и простирается до конца строки. Комментарии в стиле С, заключаются между символами /* и */:

#include <iostream> /* комментарий в стиле С */

Если программа предназначена для использования обычных средств ввода и вывода в C++, вы предоставляете следующие две строки:

#include <iostream>

using namespace std;

В языке C++, как и в С, используется препроцессор. Препроцессор — это программа, которая выполняет обработку файла исходного кода перед началом собственно компиляции. Для вызова препроцессора ничего особенного делать не нужно. Он запускается автоматически во время компиляции программы.

#include <iostream>. // директива препроцессора

#include – директива препроцессора, которая предназначена для подключения библиотечных файлов

< > – означает подключение стандартной библиотеки

“ “ – означает подключение нашей библиотеки

Эта директива заставляет препроцессор добавить содержимое файла iostream в вашу программу. Добавление или замена текста в исходном коде перед его компиляцией является одним из обычных действий препроцессора.

Часть іо в iostream означает input (ввод) — входные данные программы, и output (вывод) — информация, передаваемая из программы. Схема ввода-вывода в C++ включает несколько определений, которые можно найти в файле iostream. В первой программе эти определения необходимы для использования объекта cout при выводе сообщения на экран. Результирующий файл, сформированный из вашего файла и iostream, передается на следующий этап компиляции.

iostream – стандартная библиотека, содержит команды ввода-вывода с консоли

На заметку!

Программы, в которых для ввода и вывода используются объекты сіп и cout, должны включать файл iostream

Имена заголовочных файлов.

Файлы, подобные iostream, называются включаемыми файлами (поскольку они включаются в другие файлы) или заголовочными файлами (т.к. они включаются в самом начале файла).

.h по умолчанию в современных библиотеках прописана, поэтому .h не пишется в новых библиотеках.

Необходимо использовать следующую директиву пространства имен, чтобы определения в iostream были доступны в программе:

using namespace std;

Это называется директивой using.

std – название подключаемого пространства имен.

Директиву using можно опустить и записать код следующим образом:

std: :cout << " Всем привет!";

std::cout << "Свое Имя";

std::endl;

using namespace std; - Приведенная директива using делает доступными все имена в пространстве имен std. Это ленивый подход когда доступны все имена.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]