"Hello World!" от начинающего С++. Вывод текста в консольном окне.
/*далее будет написан текст несерьёзно подошедшим к этому делу человеком который захотел написать эту статью на скорую руку в DTF потому что такой туториал должен быть написан на этой платформе, всю информацию в нём можете смело подвергать сомнениям и перепроверять, и она не годится для обучающего материала, также буду благодарен если укажете в комментариях на ошибки или информацию вводящее в очень сильное заблуждение касательно терминологии того как и что называется и что оно конкретно делает, статья будет редактироваться*/
Здравствуйте, я как казуал в программировании стал интересоваться с чего же начать это самое программирование.
Не буду много писать много воды (наглая ложь*), приступим.
В начале, знакомство с программированием началось с написания в консольном окне "Hello World!".
Программу (точнее компилятор) для создания этой программы я использовал Visual Studio (22 года, по бесплатной лицензии- этого достаточно чтобы просто опробовать себя в сфере программирования)
/*(*то, что вам нужно будет потом докачать в этой программе чтобы писать именно на C++, и как её пользоваться ищите сами, я неупомню что там было в начале изначально, но комментарии открыты если вы столкнулись с начальными трудностями, если что постараюсь вводить корректировки, дополнять пост)*/
Создаем проект:
Как любой уважающий себя человек, который хочет сделать сделать собственную программу с нуля, мы создаем Пустой проект-> Даем ему название, куда хотите его сохранить и создаем проект.
Готово, теперь программа развернулась для полноценной работы!
Вы замечаете что у вас есть большое окно посередине (в нём вы будете писать код) и справа маленькая колонка с названием Обозреватель решений.
Дальнейшие действия:Обозреватель решений ->(тык правой кнопкой мыши)Исходный файл ->Добавить->Создать элемент...
Далее выскачет маленькое окошко предлагающее назвать Имя (для созданного элемента), можете назвать его main.
И так, у вас в большом окне появились изменения, появилась маленькая вкладочка с названием вашего элемента и появилась возможность писать и рядом стоит цифра (номер строчки), если вы сделали всё верно, то можно приступать непосредственно к его написанию.
//Заметка для редактир.23.05.25 Прочитать про создаваемый элемент *
#include <iostream>
using namespace std;
void main()
{
cout << "Hello World!" << endl;
system ("pause");
}
/*после написания программы её можно проверить и запустить используя во вкладке Отладка (в верхней части) пункт Запуск без отладки (ctrl+F5)
Теперь разберём что тут и как оно работает.Начнём с того что наш компилятор производить работу программы ПОСТРОЧНО! Последовательно, от 1 строчки до последней. Имейте это в виду когда будете и дальше иметь дело с C++.
Также обратите внимание на двоеточие ; в этом примере: оно не ставится после функции() , библиотек, и в конце за телом цикла {};
Грубо говоря это как точка в окончании предложений при написании текста, как говорят интернеты- это конец выполнения инструкции.
#- является диррективой предпроцессора, т.е. работа которая будет выполнятся на этапе компиляции (преобразования исходного кода в исполняемый файл) До того когда программа будет запущена.
include - это библиотека которая содержит описание различных функций реализованных другими программистами. Грубо говоря созданный инструмент который может вам помочь в решении ваших задач.
<iostream> в этих "скобочках" вы указываете название библиотеки которую вы хотите использовать
#include <iostream> эта библиотека изначально встроена и нужна для Ввода и вывода данных в консоль, а конкретней мы используем:
cout << (выводит сообщение в консоль) что нам и нужно для тз.
/*также в эту библиотеку входит сin (ввод данных, но мы не будем о нём тут говорить, и endl который просто выводит текст на следующую строчку)*/
using namespace std;
Дословно эта строчка позволяет нам Пользоватся пространством имён std, к нему относится и cout, она нам позволяет не писать std::cout каждый раз когда нам нужно его использовать и достаточно просто писать cout.
(как я понял std::cout нужно так писать если вдруг программисты пишут одну программу с разными библиотеками и вдруг у них встречаются одинаковые по написанию "действия" но разные по функционалу тогда может произойти путаница и долгие поиски ошибки, поэтому легче поставить превикс std:: (маркировку) каждому используемому "инструменту" которая определяет из какой бибилиотеки её использовали и не запутаться в них если даже они с одинаковыми названиями, поэтому прочитав мнение диванных аналитиков с обучающих видеороликов я нашёл этот довод достаточно убедительным)
Я мало что знаю о функциях и не хочу вводить вас в заблуждение но я знаю что с неё можно начать работу программы.
//Заметк.редактору: 19.05 законспектировать и узнать подробней про функции и как их использовать
void main() { ... содержание}
Тип_возвращаемого значения Имя_функции (параметры) {...тело функции}
Тип возвращаемого значения void ничего не вычисляет и ничего не считает, она не возвращает результат значения, он выводит просто текст и для этого он хорошо подходит.
main- является точкой входа в программу, без неё НЕЛЬЗЯ начать работу программы и она же является главной функцией в программе.
{ } это тело функции- т.е. внутри этой функции происходят прописанные действия .
/*ДОЛГОЕ ОПИСАНИЕ. ПРОПУСТИ.
Написав огромный код и который нужно постоянно использовать в разных частях вашей программы (от вывода текста и/или посчитать числа) вы можете отдельно объявить (создать) функцию, назвать по своему чтобы название отображало его суть работы и отдельно применять в главной функции main. Если просто текст вызвать (для примера) то достаточно в Типе возвращаемого значения указать ранее упомянутый void, внутри {} написать cout<<"*Ваш примерный текст на английском"<<endl; .
Если посчитать два целых числа:
int Sum(int a, int b) //int-тип данных хранит целые числа
{
return a+b; //return- ключевое слово, возвращает указанное значение (a+b)
}
(потом в main() внутри его тела {} если у вас есть две переменные int (целые числа) то такой записи в программе будет достаточно и она вам выдаст результат сложения:
//int g==5 и int z==12 для примера
cout<< Sum(g, z);
И этими примерами её использование не ограничивается, а данное отступление было для любознательных*/
cout<< "Hello World!"
cout<< это команда ввода в консоль библиотеки iostream
ВНУТРИ двойных ковычек " " вы можете написать всё что вам нужно и оно отобразится в консоли когда компилятор дойдёт до этой строчки.
<<endl - следующий текст будет выводится на следующую строчку ниже.
Компилятор следует последовательно этим командам (инструкциям), для того чтобы код работал его нужно заканчивать точкой с запятой ; как к примеру и предложения в тексте одной точкой ЭТО ОБЯЗАТЕЛЬНО!
system ("pause");
Если после написания программы вы захотели очевидно её запустить отдельно от Visual Studio (к примеру похвастаться другу, отправить ему, или просто сохранить как свой первый проект и запустить его)
найдя его в папке где находится проект (название_элемента).exe формате он у вас очень быстро запустится и также быстро закроется- и по сути всё он делает правильно, он выполнил свою задачу вывода текста и закрылся.
Поэтому мы используем эту команду, которая останавливает выполнение программы и ждёт нажатия пользователем клавиши перед продолжением (или выходом).
После нажатия любой клавиши программа работает дальше и в нашем случае она закрывается.
Если вы хотите найти свою программу в формате .exe то вам, в обозревателе решений (маленькая колонка справа) нужно найти название вашего проекта -> кликнуть и найти пункт Открыть папку в проводнике, но вам нужен именно .exe с названием вашего проекта и поэтому вы просто в проводнике компьютера "откатываетесь ещё дальше" и в папке либо release или debug нахожите вашу программу)))
Короче просто найдите папку с вашим созданным проектом и поищите сами :) .
Трудности с которыми я столкнулся.
Написав код, проверив что он работает у меня на компьютере захотел другу отправить эту программу и посмотреть откроется она у него или нет.
Соответственно, друг зная моё делитанское увлечение программированием выслушав мою прозьбу он ответил сложной однозначной отссылкой в виде картинки что буквально означало "нет, я не хочу быть тобой взломанным, чертило чёртов"
Я был крайне расстроен его ответом...
Но после кратких переговоров он всё же согласился протестить программу...
...и она не запустилась...
...
😐
*Далее написанный бред прошу воспринимать несерьезно и не воспринимать как серьёзную работу, просто захотелось немного поделиться маленькой историей и прошу ещё в комментариях написать что было правильным или нет, и замечания на счёт недостоверности информаци, всё же хочется немного помочь людям а не вводить их прям очень сильно в заблуждение*
Вспомнив маленькую базу и поняв что у меня мало времени (была ночь и хотелось спать) я стал перебирать варианты того "почему она у него не запускается" и просто попробовал все варианты не успев разобраться что именно устранило эту проблему:
1. Я переключил вкладку где было написано Debug на Release, запускал их без отладки (ctrl+F5) каждую.
2. Потом незная поможет это или нет вспомнил набор букв под названием "Сборка" и подумал что если программа не собрана то и работать она не будет на других пк. Поэтому я просто взял, нашел вкладу Сборка и кликнул по Собрать решение, при это по настройкам у меня находился на Release и х86 (логика была тупейшая, 86 это 32 битная, и поддерживается на огромном количестве устройств, Debug и Release это я подумал на тот момент что Дебаг это режим работы компилятора где можно комфортнее решать проблемы с багами, а Релиз типа уже на этапе релиза (капитан очевидность), но это всё на уровне бредовых рассуждений не подкрепленное информацией из интернетов так что не воспринимайте это серьёзно, лучше сами проверьте и проверяйте что конкретно и именно для чего нужно . После данных манипуляций я нашёл свою программу в папке Release в .exe формате, отправил другу и она заработала))))).
Вот и всё, благодарю вас за внимание, надеюсь моё похождение в программировании кому нибудь помогло, захотелось немного мозги размять и пополнить свой опыт в написание статей в интеренете, да и просто помочь хотелось. Это мой первый опыт в написании таких постов поэтому не судите очень строго, комментарии приветствуются и надеюсь что у меня хватит сил сесть и попробовать улучшить статью если вдруг я когото ввёл или был введён в заблуждение.
Ещё раз спасибо за внимание.
//Заметк.редактору23.05 Повторно воссоздать, перепроверить что именно сработало, и как это сработало.
Спасибо за внимание, комментарии и "реакции" (лайки) приветствуются, а пост будет редактироваться до адекватного состояния. v.0.2