fork download
  1. #include <iostream> // Включить заголовочный файл "iostream". Это библиотечный файл встроенной (стандартной) библиотеки C++ а заголовочные файлы стандартной библиотеки решили называть без расширения .h . Но пользовательские заголовочные файлы принято называть с расширением .h (header - заголовок) или реже .hpp .
  2.  
  3. int main() { // main - главный. Эта функция должн присутствовать в каждой программе. С нее начинается выполнение программы. (На самом деле нет потому что сначала создаются глобальные и статические экземпляры и вызываются их конструкторы но это ты узнаешь скоро).
  4. std::cout << "What's your name?\n"; // std:: - область имен стандартной (встроенной) библиотеки. Чтобы имена библиотеки не пересекались с именами пользовательскими в С++ придумали области имен - namespace. Тоже скоро узнаешь. cout - глобальная переменная которую завели в библиотеке - сокращенно от console output - консольный вывод (текста).
  5. std::string name; // string - класс "строка" для работы со строками. name - имя - моя переменная типа std::string.
  6. std::cin >> name; // cin - console input - консольный ввод. >> - оператор (функция) чтения с консоли. Здесь читаю с консоли текст и сохраняю его в переменную name. Еще можно читать числа. В зависимости от того в какую переменную читаешь (текст или число) cin пытается распознать в веденной строке текст или число. Это называется форматированный ввод. Кстати это overload - перегрузка функции operator>>(). В зависимости от типа параметра (строка или число) вызывается подходящий >>.
  7. if(name.empty()) { // empty() - пустой. Метод класса std::string. Возвращает true (истина) если строка (экземпляр) пустая или false (ложь) если строка не пустая. Так я узнаю удалось ли опепратору >> прочитать с консоли текст. if - если - оператор условия. Если условие в скобочках выполняется то выполняется то что далее в фигурных скобочках {}.
  8. std::cout << "OK sorry.\n";
  9. }
  10. else { // else - иначе. Выполняется если условие в if не выполнилось т.е. здесь если строка не пустая.
  11. std::cout << "Hi " << name << "! Nice to meet you!\n";
  12. }
  13. return 0; // return - вернуть. Вернуться из функции с таким-то значением (или без если return без значения). У нас main как написано в начале возвращает int поэтому чтобы не нарушить стек мы должны вернуть int. Компилятор проследит за этим (за редким исключением когда это невозможно но это потом).
  14. }
Success #stdin #stdout 0s 5288KB
stdin
#include <stdio.h>
#include <math.h>

int main() {
double x, y;
x=-1.5;
printf ("/n| x | y |/n| --- | --- |/n");
while (x<=1.5) {
if (x<-0.5) y = x + sqrt(abs(cos(x)));
if (x>=-0.5)&&(x<=1) y = x + 1;
if (x>1) y = 1 - pow(x, 2);
printf ("| %f | %f |/n", x, y);
x = x + 0.2;
}
}
stdout
What's your name?
Hi #include! Nice to meet you!