# Выбор среды компилирования, типы данных, первая программа

Окей, поехали.

### Чуть истории.

Язык С++ в начали 80 создал Бьярне Страуструп на базе популярного среди программистов-профессионалов языка С, созданного Денисом Ритчи. Язык С++ является расширенной версией С. Сам Страуструп писал:&#x20;

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

Теперь естественный вопрос: почему он дал ему такое название? Оно происходит от операции инкремента (++) в языке С, которая увеличивает на единицу значение переменной. Таким образом, имя C++ в точности отражает расширенную версию языка С.

### Выбор среды компилирования.

Что такое компилятор? Это программа, которая превращает программный код в машинный. Узнать побольше о процессе компиляции вы можете в Википедии, т.к. это воистину ~~скучно~~ интересно.

Компилятор языка С++ корректно компилирует программы языка С, т.к. С++ является расширенной версией С - в их состав входят одинаковые библиотеки.

Выбирать компилятор следует соответственно вашей ОСе. Для Windows самые популярные среды компилирования это Borland C++ Builder, Microsoft Visual C++ и DevC++. Я юзаю Microsoft Visual C++ 2010 Express, но Вы можете выбрать любую другой - код почти не будет отличатся.

### Типы данных.

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

|                                   |                                       |
| --------------------------------- | ------------------------------------- |
| Целые типы:                       | <p>int<br>short int<br>long int</p>   |
| Действительные типы:              | <p>float<br>double<br>long double</p> |
| Логический тип (правда или ложь): | bool                                  |
| Символьный тип:                   | char                                  |
| Пустой тип:                       | void                                  |

В C++ приветствуется назначение переменным осмысленных имен. Если переменная представляет стоимость поездки, то для нее следует выбрать такое имя, как `cost_of_trip` или `costOfTrip`, но не `х` или `cot`. В C++ необходимо придерживаться следующих простых правил именования.

1. В именах разрешено использовать только алфавитных символов, цифр и символа подчеркивания `_`.
2. Первым символом имени не должна быть цифра.
3. Символы в верхнем и нижнем регистре рассматриваются как разные.
4. В качестве имени нельзя использовать ключевое слово C++.
5. Имена, которые начинаются с двух символов подчеркивания или с одного подчеркивания и следующей за ним буквы в верхнем регистре, зарезервированы для использования реализациями C++, т. е. с ними имеют дело компиляторы и ресурсы. Имена, начинающиеся с одного символа подчеркивания, зарезервированы для применения в качестве глобальных идентификаторов в реализациях.
6. На длину имени не накладывается никаких ограничений, и все символы в имени являются значащими. Однако некоторые платформы могут вводить свои ограничения на длину.

Переменные объявляют так:

```
<тип> <имя переменных данного типа>;
```

Например:

```cpp
int player_money;
float gravity
```

При объявлении переменных им можно задавать значения (инициализировать):

```cpp
int cena = 25;
float temperatura = 36.6;
```

Если не инициализировать переменную, то ей автоматически будет задано значение `0`.

Константы объявляют так:

```cpp
const <тип> <имя константы> = <значение константы>;
```

Например:

```cpp
const int day_in_week = 7;  
```

В программе значение констант менять нельзя! Константы обязательно нужно инициализировать, иначе им будет задано значение `0`.

### Простая программа.

Давайте напишем программу, которая выведет на экран название сайта. Открываем среду, создаем проект `Win32->Console Program`. В файле `<имя проекта>.cpp` вводим код:

```
//простая программа - вывод на экран  
#include <iostream> //подключаем библиотеку ввода-вывода на экран
using namespace std; //задаем пространство имен, подробней узнаете потом

void main() //главная функция программы, пустого типа (не приобретает никаких значений)
{
    cout<<""<<endl; //команда cout(читается как "сиаут") выводит данные на экран. Команда endl - переводит курсор в следующую строчку  
    system("PAUSE"); //программа останавливается
}
```

Компилируем(F7) и получаем окошко:

![](http://fc24.spaces.ru/f/086186084031099194092201007122109054010059152024/1376032869/42413988/0/ea6ce868c333bd78cfa7c5d256e204f3/element-spaces.ru.jpg)

Домашние задание: написать программу, которая выводит вашу анкету на английском.

Автор: **SHooZ**


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://lessons.sannybuilder.com/00300/00200/000100.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
