AddThis

Next Lesson

четверг, 29 января 2015 г.

Урок №1 "Hello World!"

Предисловие


Уроки рассчитаны на тех, кто уже ознакомился с основами работы своей ОС, знает, что такое ООП и Инкапсуляция, а также научился работать с компилятором. Самым трудным в изучении будет то что ни один элемент не существует «сам по себе». Все они находятся в одном пространстве и влияют друг на друга. Из-за такой тесной связи изучение одного элемента без затрагивания массы других невозможно, поэтому с целью преодолеть эти трудности я постараюсь кратко описать такие элементы С++, как Общий формат программы, инструкции управления и операторы.  Я не собираюсь углубляться в детали, я поверхностно пройдусь по всему важному (по моему мнению). Поскольку лучше учится на практике рекомендую копи-пастить переписывать все примеры программ себе, компилировать их и выполнять, уверяю, во время этого вы столкнетесь с туевой кучей проблем, что значительно повысит ваш опыт нежели «голая» теория.


Немного про С++


Давным-давно (в 1979 году), Бьерном Страуструпом (Bjarne Stroustrup), в компании Bell Laboratories (г. Муррей-Хилл, шт. Нью-Джерси) был создан язык программирования «С с классами» (C with Classes) с целью «укротить» всевозрастающую сложность программ, написанных на С. С таким не очень удачным (запоминающимся?) именем он прожил 4 года (до 1983 г.) затем был переименован в С++.
С++ полностью содержит в себе С, так-как он - его фундамент на котором был построен С++. Язык С++ содержит все средства и атрибуты С и обладает всеми его достоинствами. Также для него остаётся в силе принцип С, согласно которому программист и только он ответственный за результат выполнения программы. Этот момент позволяет понять, что С++ это скорее усовершенствование уже существующего и успешного языка.


Первая С++-программа


Перед тем как вас накроет скучная теория, предлагаю сделать программу которая «скажет»… нет не Hello World, нужно что-то по оригинальней …«Yay! I Am Alive!!!». Итак, программа.
/*Первая С++-программа 
cкомпилируйте и выполните это,
радуйтесь (или нет :с)
*/

#include <iostream>
using namespace std;

//с main() начинается выполнение программы

int main()
{
cout<<”Yay!I Am Alive!!!”;
return 0;
}
От вас требуется:

  1. Ввести исходный код*.
  2. Скомпилировать его.
  3. Выполнить объектный код*.
Результатом должно быть:
Yay! I Am Alive!!!

  • Исходный код* - это текстовая форма программы.
  • Выполняемый (объектный) код* - это форма программы, которую может выполнить компьютер (Ну обычная программа).

Прежде мы продолжим вы должны знать, что приведенный выше код – исходный т.е. который и пишет программист.


Построчный разбор кода


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

Итак, все начинается с такой строки.
/*Первая С++-программа 
cкомпилируйте и выполните это,
радуйтесь (или нет :с)
*/
Это – комментарий. Они используются для пояснения роботы строки или участка кода. Комментарии полностью игнорируются компилятором. Их существует два вида – однострочные и многострочные, комментарий выше многострочный – т.е. разрешается больше одной строки. Такой комментарий должен начинаться с символов /*, а заканчиваться ими же только в обратном порядке (*/).

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

Рассмотрим следующую строку.
using namespace std;
Это означает что компилятор должен использовать пространство имен std. Пространство имен (namespace) создает область в которой могут размещаться различные элементы программы. Простыми словами – имена объявленные в первой области не будут конфликтовать с такими же именами, объявленными во второй. Ключевое слово using информирует компилятор об использовании указанного пространства имен (в нашем случае std). В пространстве имен std содержится вся библиотека стандарта С++. Используя пространство имен std, вы упрощаете доступ к стандартной библиотеке.

Далее следует однострочный комментарий.
//с main() начинается выполнение программы
Это комментарий второго типа, начинается с пары символов // и заканчивается в конце строки.

Пойдем дальше.
int main()
Как поясняется в рассмотренном ранее комментарии с этой строки начинается выполнение программы.
С функции main() начинается выполнение любой программы С++.
Все С++-программы состоят из одной или нескольких функций. Каждая из них имеет имя и только одна из них (с нее начинается выполнение программы) main(). Выполнение почти во все случаях заканчивается выполнением main(). Открытая фигурная скобка (после объявления main()) означает начало кода принадлежащего функции. Ключевое слово int (сокр. от integer) определяет тип данных для данных возвращаемых этой функцией, в С++ существует несколько встроенных типов данных, int – один из них.

Перейдем к очередной строке.
сout << ”Yay! I Am Alive!!!” ;
Это команда выводит текст на экран. При ее выполнении на экран выведется Yay! I Am Alive!!!. Здесь используется оператор вывода  «<<», он обеспечивает вывод выражения, стоящего слева, на устройство, указанного справа. Слово сout – это некий идентификатор (состоящий из console output), который означает окно консоли. Обратите внимание что строка заканчивается символом «;». Вообще все выполняемые инструкции заканчиваться точкой с запятой.
Yay! I Am Alive!!!” – представляет собой строку, в С++ под строкой иметься ввиду набор символов заключенные в кавычки.

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

На этом все. В следующем уроке мы рассмотрим встроенные типы данных и переменные. 

1 комментарий: