ТОП

Уроки по C++. Урок 0. Настройка рабочей системы

Здравствуйте! Я решил написать некоторое количество уроков по C++. Весь код, приведённый мной в этой теме должен гарантированно работать в Linux. Сам я, на момент написания этого топика, использую операционную систему Ubuntu 13.04 и пишу и тестирую всё на ней.

Для Windows придётся вносить незначительные переменные, а именно подключать в начале программы заголовочный файл conio.h, так как Windows терминал (более известный, как командная строка) сразу после выполнения вашей программы закроется, а произойдёт это, если программа не совершает титанический труд очень быстро. Вы даже не успеете разглядеть, что она выведет. Поэтому на платформе Windows используйте функцию getch(), которая станет доступна, после подключения conio.h.

В качестве компилятора я использую g++, а как редактор кода — Geany.

Обязательно читайте книги по программированию. Рекомендую начинать с книги ВВ Подбельского «Стандартный C++».

Начнём с азов, а именно с программы Hello World.

В Geany (можете использовать любой редактор с подсветкой синтаксиса) сохраните его в каталоге my_first_programm под именем hello.cpp. Наберите в нём такой код:

Пользователям Windows надо написать так:

Сохраните файл. Перейдите в терминале в каталог my_first_programm при помощи команды cd. Если вы не знаете команд терминала в linux, то срочно читайте

На английском, так как без него программировать очень туго, особенно в Unix.
Пользователи Windows могут почитать справку по командной строке и её командам в Windows. Но английский также желателен и им.

Считаю, что вы находитесь в каталоге с файлом hello.cpp, в терминале выполняете команду

Должен скомпилироваться бинарный файл hello (задан ключом -o hello)
Запустите его командой

Должно отобразиться сообщение Hello world!

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

Так ка Windows не поддерживает UTF8 в командной строке, а соответственно кириллица выведется кракозябрами, то пользователи этой операционной системы должны написать код так:

И, наконец, напишем более сложную программу, с условным оператором if
Его структура такова:
if(логическое выражение)
{
какие-то операторы,
}
else
{
какие-то операторы,
}

Логическое выражение должно принимать численные значения. В бинарной логике — это 1 (ИСТИНА) и 0 (ЛОЖЬ), но C++ будет трактовать любое число, отличное от 0, как истину. Не путайте знак присваивания a=7 со знаком равенства a==7. Первое выражение даст истину и приравняет переменную a к значению 7. Внутренний механизм его действия будет примерно таков:
1) Приравнять a к 7
2) Дальше с точки зрения компьютера это будет выглядеть как
if(7)
3)Сравнить 7 с 0
4)Так как 7 не равно 0, то значит выражение истинно и необходимо выполнить код в блоке if
Фигурные скобки после if или else не обязательны, если надо выполнить всего 1 оператор, но крайне желательны, чтоб вы не допустили ошибки.

Блок else не является обязательным. В случае, если логическое выражение вернёт истину, выполнятся только те операторы, которые заключены в блоке if, в противном случае те, что заключены в блоке else.

Домашнее задание:
Написать 4 программы

1)Пользователь вводит с клавиатуры 2 целых числа, надо посчитать их разность.

2)Пользователь вводит с клавиатуры 3 целых числа a b и c. Найти значение x формулы x=2*a+4*b-9*c и вывести число x на экран.

3)Пользователь вводит с клавиатуры по вашему запросу целые числа a, b и c в квадратном уравнении (напомню формулу) a*x2+b*x+c=0. Найти x и написать решение. Т.е. прямо как в тетрадке в школе писали (а может кто из читателей и пишет 😉 ) по всем правилам оформления. Для того, чтобы сделать доступной функцию получения корня, необходимо подключить заголовочный файл math.h. Функция называется sqrt, используется так: y=sqrt(x); (Y равен корень квадратный от X). x передаётся в функцию в качестве аргумента. y храните в переменной типа double, так как может получиться дробное число. Подробнее о типах будет рассказано позже.

4)Пользователь вводит с клавиатуры 2 целых числа, расположить их в порядке возрастания и вывести на экран.

НА СЛЕДУЮЩЕЙ СТРАНИЦЕ БОЛЬШЕ ИНФОРМАЦИИ