Основы языка программирования C++

Структура программы

Последнее обновление: 30.01.2023

Инструкции

Программа на С++ состоит из набора инструкций. Каждая инструкция (statement) выполняет определенное действие. В конце инструкции в языке C++ ставится точка с запятой (;). Данный знак указывает компилятору на завершение инструкции. Например:

std::cout << "Hello World!";

Данная строка выводит на консоль строку "Hello world!", является инструкцией и поэтому завершается точкой с запятой.

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

{
	std::cout << "Hello World!";
	std::cout << "Bye World!";
}	

В этом блоке кода две инструкции, которые выводят на консоль определенную строку.

Функция main

Каждая программа на языке С++ должна иметь как минимум одну функцию - функцию main(). Именно с этой функции начинается выполнение приложения. Ее имя main фиксировано и для всех программ на С++ всегда одинаково.

Функция также является блоком кода, поэтому ее тело обрамляется фигурными скобками, между которыми определяется набор инструкций.

В частности, при создании первой программы использовалась следующая функция main:

#include <iostream>               // подключаем заголовочный файл iostream
 
int main()                          // определяем функцию main
{                                   // начало функции
    std::cout << "Hello World!";   // выводим строку на консоль
    return 0;                       // выходим из функции
}                                   // конец функции

Определение функии main начинается с возвращаемого типа. Функция main в любом случае должна возвращать число. Поэтому ее определение начинается с ключевого слова int.

Далее идет название функции, то есть main. После названия в скобках идет список параметров. В данном случае функция main не принимает никаких параметров, поэтому после названия указаны пустые скобки. Однако есть другие варианты определения функции main, которые подразумевыют использование параметров. В частности, нередко может встречаться следующее определение функции main, использующей параметры:

int main (int argc, char *argv[]) 
{
	
} 

И после списка параметров идет блок кода, который и содержит в виде инструкций собственно те действия, выполняемые функцией main.

В конце функции идет инструкция return:

return 0;

Эта инструкция завершает выполнение функции, передавая управление во вне туда, где была вызвана функция. В случае с функцией main контроль передается операционной системе.

Число 0 после оператора return указывает операционной системе, что выполнение функции завершилось успешно, без ошибок.

Также стоит отметить, что в функции main можно опустить инструкцию return 0;:

#include <iostream>
 
int main()
{
    std::cout << "Hello METANIT.COM!";
}

Директивы препроцессора

В примере выше на консоль выводится строка, но чтобы использовать вывод на консоль, необходимо в начале файла с исходным кодом подключать библиотеку iostream с помощью директивы include.

#include <iostream>               // подключаем библиотеку iostream

Директива include является директивой препроцессора. Каждая директива препроцессора размещается на одной строке. И в отличие от обычных инструкциий языка C++, которые завершаются точкой с запятой ; , признаком завершения препроцессорной директивы является перевод на новую строку. Кроме того, директива должна начинаться со знака решетки #. Непосредственно директива "include" определяет, какие файлы и библиотеки надо подключить в данном месте в код программы.

Комментарии

Исходный код может содержать комментарии. Комментарии позволяют понять смысл программы, что делают те или иные ее части. При компиляции комментарии игнорируются и не оказывают никакого влияние на работу приложения и на его размер.

В языке C++ есть два типа комментариев: однострочный и многострочный. Однострочный комментарий размещается на одной строке после двойного слеша //:

#include <iostream>               // подключаем библиотеку iostream
 
int main()                          // определяем функцию main
{                                   // начало функции
    std::cout << "Hello World!";   // выводим строку на консоль
    return 0;                       // выходим из функции
}                                   // конец функции

Многострочный комментарий заключается между символами /* текст комментария */. Он может размещаться на нескольких строках. Например:

#include <iostream>
/*
	Определение функции Main
	Выводит на консоль строку Hello World!
*/
int main()
{
	std::cout << "Hello World!"; // вывод строки на консоль
	return 0;
}

Компиляция

Создание исполняемого файла из исходного кода на C++ в общем случае состоит из трех этапов:

  1. Препроцессор обрабатывает все директивы препроцессора (например, директиву #include)

  2. Компилятор обрабатывает каждый файл с исходным кодом и создает из него объектный файл, который содержит машинный код. Например, код может разбросан по нескольким файлам с исходным кодом, и для каждого файла создается свой объектный файл

  3. Компоновщик (он же линкер/линковщик) объединяет все объектные файлы в единую программу. Данный процесс называется компоновкой/линковкой

Например, если у нас исходный код находится в трех файлах .cpp

процесс компиляции и компоновки в C++
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850