Глава 5. первая программа или начинаем программировать — введение в программирование

Запускаем нашу среду программирования CodeBlocks (через Пуск — Все программы — CodeBlocks — CodeBlocks или путем щелчка по соответствующему ярлыку на рабочем столе). Главное окно программы после запуска будет иметь примерно такой вид:

Глава 5. первая программа или начинаем программировать - введение в программирование

При первом запуске программа выдаст сообщение-вопрос: хотите ли вы ассоциировать файлы исходного кода на С и С++ со средой CodeBlocks, — выбираем третий вариант, т.е. ассоциировать. Впоследствии файлы с расширениями .c и .cpp будут автоматически открыты в этой среде.

Глава 5. первая программа или начинаем программировать - введение в программирование

Также при первом запуске может выскочить окошко-сообщение о выборе компилятора по умолчанию — оставляем все как есть по умолчанию, т.е. GNU GCC Compiler.

Итак, среда запущена и теперь можно приступать к созданию проекта. Давайте по ходу немного отвлечемся и определим для себя, что такое проект. Проект — это набор файлов, генерируемых средой программирования, необходимые для последующей компиляции программы (исходные, заголовочные, объектные файлы), а также различные вспомогательные файлы (сохраняющие рабочее пространство и др.). По умолчанию в CodeBlocks при запуске открывается стартовая страница, на которой располагаются кнопки для создания проектов, открытия через проводник, открытия последних проектов. Щелкаем по Create a new project (Создать новый проект). В появившемся окошке выбираем значок Console application и жмем GO. Таким образом мы будем с вами создавать наши проекты для построения консольных приложений на языке программирования С++.

Глава 5. первая программа или начинаем программировать - введение в программирование

Далее в следующем окошке жмем просто Next (чтобы следующий раз его не было ставим галочку), далее в следующем окне выбираем язык С++, жмем Next. Далее нас попросят ввести название проекта и папку в которой он у нас будет находиться. Предлагаю для всех проектов создать папку в корне какого-либо диска на вашем компьютере с названием My project C++.

Глава 5. первая программа или начинаем программировать - введение в программирование

В следующем окошке выбора компилятора оставляем все как есть (если нет галочек, то ставим как на рисунке ниже) и жмем Finish.

Глава 5. первая программа или начинаем программировать - введение в программирование

Проект создан, все необходимые файлы добавлены. Структуру проекта вы можете посмотреть слева на панели Management (вкладка Projects). Здесь мы видим, что в проект (в папку Sourses) средой автоматически добавлен файл main.cpp (файл, содержащий исходный код программы). В нем то мы и будем писать код нашей программы. Открываем его для редактирования в редакторе CodeBlocks (щелкаем по нему левой кнопкой мыши два раза). Заметим, что файл не пуст: среда программирования сама в него добавила заготовку программы. Делается это для облегчения работы программисту. Не будем пока что этим пользоваться, т.к. нам нужно сначала выучить как это делается самостоятельно, без помощи среды разработки.

Ваша первая программа на С++ или начинаем программировать

Вот наконец-то и наступил тот момент истины: мы подошли вплотную к программированию и сейчас напишем свою первую программу на самом популярном и востребованном языке программирования С++. Итак, очищаем текстовое поле (Ctrl+A — выделяем все, а затем Del — удаляем). Набираем в редакторе CodeBlocks следующий текст программы (не в коем случае не копируйте текст, т.к. для того, чтобы запомнить это все, нужно ввести самому. В этом случае у вас работает еще и автоматическая память). Итак, начинаем программировать:

#include using namespace std; int main(){ cout Сразу привыкайте к ясности и четкости: делайте пропуски между строками (обычно отступами разделяются логические блоки программы), как показано выше и не забывайте про табуляцию. Таким образом, программа становится ясной и в ней все хорошо просматривается. Итак, набрали, это и есть текст нашей первой программы, инструкции компьютеру. Что же он должен сделать!? А давайте посмотрим. Как вы помните, программу нужно скомпилировать, построить, а затем запустить на выполнение. Все это можно сделать через меню программы, но удобнее все же делать через панель (она расположена сверху). Находим кнопочку, которая внешне напоминает шестеренку (при наведении курсора всплывает подсказка build), она служит для компиляции и построения проекта. Нажимаем и наблюдаем за процессом внизу на панели Logs (вкладка build messages. Если панель у вас эта не видна, то нажмите клавишу F2). Если ошибок нет, то значит компиляция (проверка на синтаксические ошибки) и построение (объединение всех нужных файлов в единый объектный модуль для дальнейшего запуска) прошли успешно!

Глава 5. первая программа или начинаем программировать - введение в программирование

Теперь можно запустить программу на выполнение. Для этого жмем кнопочку рядом, в виде треугольника (Run). Должно появиться такое окошко программы, как изображено ниже.

Поздравляю вас! Это и есть ваша первая программа. Пока что она выводит всего лишь только строку на экран, но это только начало!

Можете поэксперементировать и с другими фразами, вводя их в коде программы вместо This is my first program!.

Глава 5. первая программа или начинаем программировать - введение в программирование

Устройство консольной программы на языке С++

Давайте рассмотрим устройство программы подробнее.

Первая строка — это #include

#include — это директива препроцессора, она подключает заголовочный файл (файл с расширением .h)iostream.h, который содержит объявления функций и переменных для потокового ввода и вывода. Имя подключаемого модуля указывается в (когда заголовочный файл находится в каталоге \INCLUDE\ конкретной среды разработки), либо в (когда заголовочный файл находится в том же каталоге, где и включающий его модуль разрабатываемой программы с расширением .cpp. Сильно не вникайте пока что в подробности, просто запомните, что заголовочные файлы с помощью директивы препроцессора будут у вас подключаться всегда, в зависимости от того, что вам нужно. В данном случае нам нужна была функция вывода на экран, которая будет рассматриваться ниже.

Вам, наверное, стало интересно, для чего так придумано. Попытаюсь объяснить…т.к. язык С++ относится к языкам высокого уровня, то многие инструкции (команды) процессору скрыты от нас, дабы облегчить жизнь программисту и ему не приходилось каждый раз программировать то, что уже придумано до него (как говорят изобретать велосипед). Поэтому в заголовочных файлах хранятся объявления функций (о функциях мы будем говорить в последующих главах), а мы просто пользуемся этой функцией, не зная ее реализации. Так вот и сейчас, мы будем пользоваться функцией cout, которая управляет потоковым выводом (в нашем случае выводит строку This is my first program! на экран).

Вторую строку (using namespace std;) пока что разбирать не будем, просто запомните, что она всегда должна быть.

Далее следует описание единственной в программе функции main(). Абсолютно любая консольная программа на языке С++ обязательно включает в себя эту функцию, именно с нее и начинается выполнение программы. Ключевое слово int, расположенное перед именем функции указывает на то, что по завершении своей работы функция main вернет операционной системе целочисленное значение. Это мы даже можем наблюдать в окне нашей с вами первой программы: ниже строки, которую мы запрограммировали на вывод, у нас среда выводит строку в которой мы видим returned 0, что означает нормальное завершение работы программы (функции main). Если это значение отличное от нуля, то значит, что в нашей программе есть ошибка.

Тело самой функции (оно всегда заключено между скобками { }) содержит строку cout

Заметьте, что любая инструкция в языке С++ заканчивается точкой с запятой.

return — это оператор возврата из функции. return 0 — означает, что по окончании своей работы, функция main() вернет значение 0.

Запомнить:

1. Не забывайте в своих программах с помощью директивы препроцессора подключать необходимые заголовочные файлы. По мере обучения основные из них вы выучите. В конце этой строки точка с запятой не ставится, т.к. это не оператор!

2. Абсолютно любая программа на языке С++ содержит в себе функцию main(). Именно с нее и начинается построчное выполнение программы.

3. Тело функции main() (как и любых иных функций и управляющих структур в языке С++) обязательно заключается в фигурные скобки {}.

4. Любая инструкция в языке С++ заканчивается точкой с запятой.

5. return — это оператор возврата из функции.

Выполнить самостоятельно:

1. Для того, чтобы лучше разобраться с функциями cout и endl предлагаю выполнить небольшое задание. Наберите программу, приведенную ниже, и попытайтесь сами разобраться со способами вывода чисел на экран. Для того, чтобы действительно разобраться с программированием, нужно как можно больше работать в среде программирования, экспериментировать, пробовать и тогда результат не заставит себя долго ждать. Проявите инициативу, измените код программы по-своему: напишите вместо цифр слова и т.д.

//Печать чисел от 1 до 4 разными способами #include using namespace std; int main() { cout Примечание:

// — это однострочный комментарий. Он игнорируется компилятором, т.е. вы их можете писать сколь угодно и где угодно. Хороший стиль программирования обязательно предусматривает использование комментариев в программе. Первая строка программы также закомментирована и содержит в себе описание цели программы. Рекомендую всегда предерживаться этого правила в своих программах, дабы через время, не заглядывая в код, понимать цель ее написания и принципы работы отдельных частей кода программы. Другим программистам также будет понятнее разбираться в вашем коде, если в нем будут комментарии.

Давайте теперь разберемся с переменными, а именно что они из себя представляют и для чего служат. Разбираться мы будем на практике: для этого мы напишем вторую программу, которая будет запрашивать у пользователя поочередно два целых числа, затем складывать их и результат выводить на экран. Затем уже на этом примере разберемся с сущностью переменных в программировании. Хотя, я думаю, что вы все и сами поймете, изучив пример, в котором используются переменные.

//Сложение двух чисел#include using namespace std; int main(){ int chislo1; int chislo2; int summa; cout chislo1; cout chislo2; summa = chislo1 + chislo2; cout Давайте теперь разберем код, а затем вы создадите новый проект в среде программирования, напишите эту программу, откомпилируете и построите, запустите и сами посмотрите на результаты ее работы. Итак, первая строка — это, как вы уже знаете, однострочный комментарий — в нем мы указываем цель нашей программы (у нас она складывает два числа). Почему однострочный!? Да потому что, если текст комментария должен располагаться в пределах одной, выделенной для него строки. В случае, если он не помещается на одну строку, то перед тем, как его продолжать писать на новой строке, нужно опять поставить две косые черты, предваряющие комментарий //. Есть в С++ и многострочный комментарий, пришедший из более раннего языка Си, но им пользуются реже. Вот так он выглядит:
/* здесь вы вводите текст своего комментария, который может состоять из нескольких строк, вот как в этом примере, и ограждается он с двух сторон вот такими обозначениями */

Этот же текст с использованием однострочного комментария выглядел бы так:

//здесь вы вводите//текст своего комментария, который//может состоять из нескольких строк,//вот как в этом примере, и ограждается он с двух сторон//вот такими обозначениями

Вот мы и разобрались с комментариями. Запомните и используйте в своих программах для ясности!

Разбираем дальше код. Следующая строка кода — это уже известная нам директива препроцессора, подключающая необходимый для работы заголовочный файл iostream.h. Подключаем его, т.к. у нас используются в программе функции вывода (cout), ввода (cin), перевода курсора на новую строку (endl), объявленные в нем. Хочу заметить, что оператор ввода cin автоматически переводит курсор на новую строку. Попрактиковавшись вы сами это все скоро увидите.

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

Первая строчка программы — int chislo1;. Для нас она еще незнакома. Хочу вас обрадовать! Это и есть наша первая переменная, а если быть точнее, то ее объявление в программе.

Важно! Запомнить:
Прежде, чем использовать какую-либо переменную в программе, ее нужно объявить.

Объявить — значит определить тип и присвоить имя. В нашем случае мы определили тип нашей переменной, как int (то есть целое число), а имя дали chislo1. Для чего при объявлении переменных нужно указывать тип!? Для того, чтобы программа при запуске смогла зарезервировать в оперативной памяти компьютера столько места, сколько необходимо для ее хранения. Для хранения целого числа типа int требуется 4 байта оперативной памяти. Размер такого числа может быть в пределах от чуть более +2 млрд. до чуть более, чем -2 млрд.

Важно! Запомнить:
Объявить переменную можно в любом месте программы, до ее первого использования.Хотя желательно в своих программах придерживаться какого-либо одного стиля: например, объявлять в начале функции main(), как в этой программе.

Итак, для чего служат переменные и где они расположены!? Мы знаем, что компьютер — это прибор, который умеет выполнять большое количество операций, таких как сложение, вычитание, умножение, деление, сравнение двух чисел и т.д. Иными словами, компьютер оперирует данными. Вот эти данные располагаются в переменных. А где же располагаются переменные? После запуска, программа загружается в оперативную память компьютера, где она занимает какое-то определенное пространство, часть из которого занимают переменные.

Важно! Запомнить:
Переменная — это выделенная нами область в памяти компьютера (выделяем ее с помощью объявления в коде программы), в которой будут храниться наши данные. Почему данные, а не данное? Потому, что судя из названия — эта область памяти перезаписываемая, в отличии от констант, значение которой на протяжении всей программы остается одинаковым и не может быть изменено, перезаписано (объявляется также, как и переменная, за исключением того, что перед определением типа ставится модификатор const, который указывает компилятору, что это данное нельзя изменять).

Переменные могут хранить не только числовые значения, но и символьные, логические. Пока что мы рассматриваем только числовые. В данном случае мы объявили три переменные целого типа.

int chislo1;int chislo2; int summa;

Можно также объявить эти переменные и в одну строку, т.к. их типы совпадают. Получится так:

int chislo1, chislo2, summa;

Сейчас хочу немного сказать о синтаксисе языка. Как и в любом языке, понятном человеку, в компьютерном языке программирования тоже есть свой синтаксис. С его помощью определяют правила построения инструкций компьютеру. Рассмотрим синтаксис объявления переменных.

Итак, сначала нужно указать тип переменной. В нашем случае — это тип int, целочисленная переменная. Затем указывается имя переменной и ставится точка с запятой, т.к. мы знаем, что каждая инструкция в языке С++ заканчивается точкой с запятой. Переменные мы объявили, соответственно, место для них в памяти компьютера уже будет зарезервировано. Но есть одно но…переменным еще не присвоено значение, поэтому различные операции (сложение, вычитание, сравнение и т.д.) с ними производить еще нельзя. В них содержится различный мусор (ненужные значения). Поэтому смотрим следующие строки:

cout chislo1; cout chislo2;

Выводим сообщение-подсказку пользователю о том, что нужно ввести первое число. В следующей строке с помощью оператора ввода cin программа считывает с потока ввода введенное пользователем с клавиатуры число и сохраняет его в переменную chislo1. Теперь данная переменная уже не содержит мусор, а содержит введенное пользователем число и, соответственно, с ним можно производить различные операции. Далее идет запрос на ввод второго числа и также программа сохраняет его в переменную chislo2.

Итак, мы запросили у пользователя два числа, сохранили их в переменных chislo1 и chislo2, теперь с ними можно производить различные операции. В нашем случае мы должны будем найти их сумму и сохранить в переменную summa. Следующая строчка кода находит их сумму и сохраняет в переменную summa:

summa = chislo1 + chislo2;

Здесь мы видим оператор присваивания = и оператор сложения +. Что они делают, я думаю, что вы уже догадались. Запомните только одну вещь: в отличие от математики в программировании знак присваивания (=) работает чуть по другому — то, что находится справа от него, присваивается той переменной, что слева. Т.е. сначала складываются две переменные chislo1 и chislo2, а затем их результат записывается в переменнуюsumma. Теперь можно пользоваться этой переменной, что мы и сделаем в следующей строке кода.

Следующая строка кода выводит значение этой переменной на экран:

cout Вот и все. Как видите — ничего сложного. А если и что-то непонятно, то это только поначалу…

Теперь начинаем кодить. Набирайте программу в среде CodeBlocks, компилируйте, запускайте на выполнение и экспериментируйте с ней. Вот теперь хоть какая-то, а польза уже есть с нашей программы, она складывает два числа как-никак)))

Для закрепления материала на операторы ввода/вывода и работу с переменными давайте наберем еще одну программу. Предлагаю разобраться с ней вам самим. Нового в ней будет то, что операции сложения, вычитания, деления и умножения можно производить непосредственно в потоке вывода, т.е. не нужно будет объявлять еще дополнительно переменную для хранения результата произведенных операций. Это еще одно удобство языка С++.

//Программа, которая просит от пользователя ввести два числа,// а потом печатает результаты вычислений,// а именно: сумму, разность, произведение и частное; #include using namespace std; int main(){ int a, b; cout a b; cout Не забывайте делать отступы для лучшей читабельности и ясности кода. Это очень важное замечание!

Запомнить:

1. Переменная — это область в памяти компьютера, которая хранит данные, которые могут меняться (отчего и название — переменная).

2. Эти данные бывают разных типов: числовые, символьные, логические. Пока что мы с вами рассмотрели только числовые целые (int).

3. Абсолютно все в компьютере на низком уровне сводиться к работе с переменными (данными), поэтому без них компьютер и программирование потеряли бы смысл.

Выполнить самостоятельно:

Напишите программу, которая запрашивает у пользователя три числа, записывает их в ранее объявленные переменные, а затем с помощью первого оператора вывода выводит их сумму, а во втором операторе вывода выводит их произведение. Сравните ваш код с кодом на следующей странице.

Вы также можете сами себе выдумать подобное задание и реализовать. Больше работайте в редакторе с программой, экспериментируйте с кодом и у вас все получится!

Глава 7. Немного математики

#1. Природа информации / 1. Информация и числа в компьютере / Программирование с нуля


Похожие статьи.

Понравилась статья? Поделиться с друзьями: