С++: Структура программы в С++
Давайте посмотрим на листинг программы из прошлого урока.
#include <iostream>
int main() {
std::cout << "Mother of Dragons\n";
std::cout << "Dracarys!\n";
return 0;
}В верхней части листинга мы видим такую запись:
#include <iostream>#include - это директива препроцессора, с помощью неё мы подключаем заголовочные файлы различных библиотек. В данном случае мы подключили iostream - библиотека для организации ввода/вывода.
Далее идет определение функции main. В С++ любая программа начинается с функции main - это её входная точка.
Функция может принимать аргументы, например, если это консольное приложение, то это будут аргументы командной строки:
int main (int argc, char *argv[]) {
// some code
}или же быть без аргументов:
int main() {
// some code
}Тело функции обрамлено фигурными скобками, внутри идет набор инструкций, которые выполняет функция, каждая инструкция должна оканчиваться точкой с запятой ;.
Код возврата
Когда наша программа завершает свою работу, операционной системе важно понимать как отработала программа: успешно или нет. Рассмотрим минимальное определение функции main:
int main() {
return 0;
}Обратите внимание на return - это инструкция возврата из функции(подробнее о возвращаемых значениях мы познакомимся в уроках про функции).
Стандарт C++ определяет значение только трех кодов состояния: 0, EXIT_SUCCESS и EXIT_FAILURE. 0 и EXIT_SUCCESS означают, что программа выполнена успешно. EXIT_FAILURE означает, что программа не была успешно выполнена. EXIT_SUCCESS и EXIT_FAILURE определены в заголовочном файле <cstdlib>:
#include <cstdlib>
int main() {
return EXIT_SUCCESS // эквивалентно 0
}Если вы хотите максимизировать портируемость, вы должны использовать только 0 или EXIT_SUCCESS.
Задание
В этом упражнение мы сново потренируемся выводом в консоль, только теперь вы напишите функцию main самостоятельно.
Не забудьте подключить библиотеку для ввода/вывода.
Выведете в консоль фразу Hello, Code Basics!
Полезное
С++: Структура программы в С++
Давайте посмотрим на листинг программы из прошлого урока.
#include <iostream>
int main() {
std::cout << "Mother of Dragons\n";
std::cout << "Dracarys!\n";
return 0;
}В верхней части листинга мы видим такую запись:
#include <iostream>#include - это директива препроцессора, с помощью неё мы подключаем заголовочные файлы различных библиотек. В данном случае мы подключили iostream - библиотека для организации ввода/вывода.
Далее идет определение функции main. В С++ любая программа начинается с функции main - это её входная точка.
Функция может принимать аргументы, например, если это консольное приложение, то это будут аргументы командной строки:
int main (int argc, char *argv[]) {
// some code
}или же быть без аргументов:
int main() {
// some code
}Тело функции обрамлено фигурными скобками, внутри идет набор инструкций, которые выполняет функция, каждая инструкция должна оканчиваться точкой с запятой ;.
Код возврата
Когда наша программа завершает свою работу, операционной системе важно понимать как отработала программа: успешно или нет. Рассмотрим минимальное определение функции main:
int main() {
return 0;
}Обратите внимание на return - это инструкция возврата из функции(подробнее о возвращаемых значениях мы познакомимся в уроках про функции).
Стандарт C++ определяет значение только трех кодов состояния: 0, EXIT_SUCCESS и EXIT_FAILURE. 0 и EXIT_SUCCESS означают, что программа выполнена успешно. EXIT_FAILURE означает, что программа не была успешно выполнена. EXIT_SUCCESS и EXIT_FAILURE определены в заголовочном файле <cstdlib>:
#include <cstdlib>
int main() {
return EXIT_SUCCESS // эквивалентно 0
}Если вы хотите максимизировать портируемость, вы должны использовать только 0 или EXIT_SUCCESS.
Задание
В этом упражнение мы сново потренируемся выводом в консоль, только теперь вы напишите функцию main самостоятельно.
Не забудьте подключить библиотеку для ввода/вывода.
Выведете в консоль фразу Hello, Code Basics!
Полезное
Ваше упражнение проверяется по этим тестам
#include "test_helper.h"
TEST_CASE("testing solution") {
std::string expected = "Hello, Code Basics!\n";
std::string actual = get_output(sizeof(expected));
CHECK(actual == expected);
}Решение учителя откроется через:
20:00
