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

Уроки по 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 целых числа, расположить их в порядке возрастания и вывести на экран.

Вам также может понравиться...

9 комментариев

  1. peregrine говорит:

    Очень не удобно, что код сразу отправляется при нажатии Enter.

  2. grigor говорит:

    Это… урок??
    И ничего код не отправляется.

  3. peregrine говорит:

    Ошибся. При вводе тегов (иначе не работает предварительный просмотр) случайно задел Enter и недописанное сообщение отправилось. Надеюсь администрация исправит этот неудобный момент. Превью можно и без тегов показывать и при вводе тега Ener не должен отправлять сообщение. И да, как установить подсветку c++?

    1. peregrine говорит:

      Имелось в виду в предварительном просмотре.

      1. grigor говорит:

        Предварительный просмотр вещь темная и исследованию не подлежит 🙂 Что там с подсветкой? Вроде работает…
        Тег — вещь обязательная, а enter поменяем.

        1. peregrine говорит:

          Не фурычит при предпросмотре. А тег я бы требовал ввести перед публикацией, а зачем он перед просмотром нужен? По ходу написания я могу менять тег, так как когда начинаю писать, иногда ход моих мыслей меняется и я могу упомянуть то, что не планировал, а что-то не упомянуть и теги надо переписывать. ИМХО правильнее было бы когда пользователь нажмёт «Опубликовать», то только тогда строго потребовать у него ввод тега, иначе не публиковать, пока не введёт.

          1. grigor говорит:

            Полноценный предпросмотр без тегов? А дальше что, без заголовка, а может, без текста?..

  4. peregrine говорит:

    При предварительном просмотре ему можно подсовывать сообщение, если тегов нет: «Не забудьте правильно ввести теги» или аналогичное по смыслу. Но можно и так оставить, только поведение Enter исправить. Хотя на текущем моменте развития, пока столь молодого, но многообещающего и удобного ресурса, возможно, стоит выделить отдельную тему обсуждения функционала данного сайта, так как он должен развиваться.
    PS
    Справка по местному синтаксису желательна, например непонятно, как добавить картинку в предпросмотр на главной.

    1. grigor говорит:

      Черт, спасибо за такой лестный отзыв! Обязательно реализую.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *