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

16

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

НА ЯЗЫКЕ C++

гор. Москва,

2008

Список рекомендованной литературы

  1. Подбельский В.В. Язык C++ (5-е изд.) – Москва, Изд-во «Финансы и статистика», 2004.

  2. Якушев Д. «Философия» программирования на языке C++ – Москва, Изд-во «Новый издательский дом», 2004.

  3. Шилдт Г. C++. Базовый курс (3-е изд.) – Москва, Изд-во «Вильямс», 2005.

  4. Культин Н. С/C++ в задачах и примерах – С.-Петербург, Изд-во «БХВ-Петербург», 2005.

  5. Павловская Т.А., Щупак Ю.А. С/C++. Структурное программирование. Практикум – С.-Петербург, Изд-во «Питер», 2005.

Лекция 1.

1. Введение. Арифметика. Типы данных. Выражения.

1.1 История

С — это язык программирования, созданный в 70-х годах 20-го века для разработки системы UNIX и программного обеспечения для нее. Создателем языка являлся Ричи (D.Ritchie), который справедливо утверждал, что лучший способ изучать язык программирования — это писать на нем программы (прим. - желательно содержательные !).

В 80-х годах 20-го века на основе языка C был создан язык C++, являющийся объектно-ориентированным расширением языка C (автор C++ - Бьерн Страуструп). Книгу Страуструпа «Язык программирования C++» можно найти в Интернете на сайте http://lib.ru/CPPHB/cpptut.txt.

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

В нашем курсе речь будет идти о языке программирования C++. Многое из того, о чем пойдет ниже речь, верно и для языка C, но мы на этом останавливаться не будем. Для работы мы будем использовать среду программирования Dev-C++ - интегрированную среду разработки для программирования под C/C++.

Dev-C++ является Free Software продуктом, т.е. распространяется абсолютно свободно и бесплатно в рамках GNU General Public License (GPL).

--------------------------------------------------------------------------------------------------------------------------------

Примечание: GNU General Public License (http://www.gnu.org)

Логотип GNU

GNU General Public License (Универсальная общедоступная лицензия GNU или Открытое лицензионное соглашение GNU) — возможно наиболее популярная лицензия на свободное программное обеспечение, созданная в рамках проекта GNU в 1988 г. Ее также сокращенно называют GNU GPL или даже просто GPL, если из контекста понятно, что речь идет именно о данной лицензии (существует довольно много других лицензий, содержащих слова «general public license» в названии). Последняя, вторая версия этой лицензии была выпущена в 1991 году. GNU Lesser General Public License (LGPL) — это модифицированная версия GPL, предназначенная для некоторых библиотек ПО.

Цель проекта GNU GPL — предоставить пользователю права копировать, модифицировать и распространять программы (что по умолчанию запрещено законом об авторских правах), а также гарантировать, что и пользователи всех производных программ получат вышеперечисленные права. Принцип «наследования» прав называется «копилефт» (от англ. «copyleft») и был придуман Ричардом Столлмэном. По контрасту с GPL, лицензии собственнического ПО очень редко дают пользователю такие права и обычно, наоборот, стремятся их ограничить, например, запрещая восстановление исходного кода.

--------------------------------------------------------------------------------------------------------------------------------

Интегрированная среда разработки (англ. IDE – integrated development environment) Dev-C++ значительно облегчает процесс программирования. Однако, все программы, которые мы будем рассматривать в дальнейшем, должны правильно компилироваться любым компилятором, соответствующим стандарту языка C++. Например, таким компилятором является MS Visual C++ последних версий (в то время, как широко распространенный в образовательных учреждениях компилятор Borland C++ 3.1 не соответствует стандарту и для него рассматриваемые программы работать не будут).

Сайт в Интернете, с которого может быть загружен Dev-C++, имеет следующий адрес http://www.bloodshed.net.

В основу компилятора с C++ здесь взят MinGW — это порт линуксовского компилятора gcc. Однако, Dev-C++, по умолчанию использующая этот компилятор, также позволяет работать и с другими компиляторами, совместимыми с gcc, например, CygWin. Редактор кода, встроенный в Dev-C++, можно только похвалить, ибо он значительно облегчает повседневную работу программиста с помощью шаблонов кода, всплывающих подсказок для функций и автозавершения со списком членов класса или структуры. В дистрибутив включена краткая справка и примеры. В наличии имеется также поддержка скинов, закладок, переназначения клавиш и различных вариантов подсветки синтаксиса. Но самое приятное то, что среда Dev-C++ многоязычная, и есть русский вариант перевода.

Компилятор MinGW генерирует очень качественный исполняемый машинный код, но занимает много места и работает довольно медленно (учитывая мощности современных компьютеров, эти недостатки не столь существенны).

1.2 Hello, world !

Язык C++ является компилируемым языком. Для того, чтобы написать программу, вам необходимо в любом текстовом редакторе (в т.ч., возможно, и внутри Dev-C++) набрать, к примеру, следующий текст и сохранить его в файле с названием, например, hello.cpp.

#include <iostream>

using namespace std;

int main()

{

cout<<«Hello, world!»<<endl;

return 0;

}

Будьте внимательны: язык C++ является чувствительным к регистру букв, то есть заменить main на Main или MAIN нельзя. Весь текст (за исключением текстовой строки «Hello, world!») нужно набирать в нижнем регистре.

После этого вам нужно откомпилировать этот файл (создать из этого файла исполняемый машинный код) при помощи следующей команды (в системе Linux):

$ c++ hello.cpp

В среде разработки (вроде Dev-C++) для компиляции программы существует пункт меню, вызывающий компилятор. Если ваша программа написана правильно, то компилятор не выдаст никаких сообщений об ошибках и создаст исполняемый файл (a.out в системе Linux или exe-файл в системе Windows). Этот файл содержит исполняемый двоичный машинный код.

Рассмотрим подробней текст этой программы. В первой строчке мы подключаем к нашей программе файл с именем iostream, в котором содержится описание стандартной библиотеки ввода-вывода языка C++. В этом файле находится, в частности, определение объектов cout и endl, которыми мы будем активно использовать далее. Вторая строка указывает компилятору на то, что мы будем использовать все функции, входящие в пространство имен std, то есть все функции, относящиеся к стандартной библиотеке C++. Третья строка содержит объявление функции main, не принимающей никаких аргументов и возвращающей значение int. Эта функция должна быть в каждой программе, именно эта функция получает управление при запуске программы. Четвертая строка содержит открывающуюся фигурную скобку, что означает начало функции main. В пятой строке мы при помощи оператора << помещаем в объект cout строку «Hello, world!», а потом специальный объект endl, означающий символ перевода строки. Это приводит к печати на экране этой строки и последующему переводу каретки. В шестой строке мы даем обязательную инструкцию return, завершающую выполнение функции main и возвращающую значение 0 в качестве признака успешного завершения работы программы.

Седьмая строка содержит фигурную скобку, синтаксически закрывающую функцию main.

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

Далее речь пойдет о базовых компонентах программы на языке C++. В их число входят типы данных, переменные, константы и выражения.

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