Вы хотите начать программировать? Что же, одно из главных препятствий человека, который желает программировать, ничего не зная о этом процессе, является отсутствие начальной точки, ответа на вопрос - с чего начать?. Поэтому имеет смысл Вам с этим помочь, написав эту статью.
И прежде чем с ярым энтузиазмом штурмовать Google с желанием узнать что-то новое, нужно выбрать материальную базу — среду программирования.
Существует огромное количество IDE (По этой ссылке Вы можете просмотреть их разнообразие) которые позволяют писать программы на разных языках, в том числе С++, проверять синтаксис и переводить (компилировать) исходный код Вашей программы в исполняемый файл (с расширением *.exe).
Среди IDE для новичка я бы отметил Dev-C++, Visual Studio, Eclipse, NetBeans.
Особенно хочется отметить Dev-C++, ведь он легок в установке, использовании и не нуждается в дополнительной настройке, именно его мы будем использовать в качестве примера.
И первое с чего Вам стоит начать, это скачивание и установка IDE, здесь можно скачать Dev C++, установка происходит самым обычным образом, Вам не нужно дополнительно скачивать либо устанавливать что-либо, просто скачали - запустили, сделали пару кликов по кнопке вперёд до конца установки и запустили программу.
И, скорее всего, первым, что Вы увидите - будет это. Нехитрыми действиями (нажатием Ctrl+N) (File > New) показанными на скриншоте мы можем создать свой первый исходный файл, который в последствии мы будем писать и компилировать. Чтобы открыть уже готовый проект, Вам нужно проследовать в меню (File > Open > file.cpp). Все проекты С++ имеют расширение .срр , в том числе и нами только что созданный.
Вам откроется исходный файл, в который Вы, как в блокнот, можете писать все что угодно.
Давайте запишем туда следующий текст, разберемся с этим кодом чуть ниже:
Все элементы интерфейса которые Вам на данный момент нужны можно найти на скриншоте ниже.
После этого Вам нужно нажать кнопку Rebuild All(F12) которая отвечает за то, чтобы собрать готовое решение с которым в последствии мы можем творить что душе угодно, в том числе и компилировать в .ехе файл, очень важно при каждом изменении программы её ребилдить, чтобы в последствии Вы компилировали программу с внесенными изменениями, а не старую версию.
Далее компилируем и запускаем саму программу нажатием на Compile & Run (F11) которая отвечает за перевод исходного кода в исполняемый файл .ехе, и его запуск.
Выполнив эти действия Вы получите вот такой результат:
Поздравляю! Ваша первая программа готова и успешно запускается, теперь давайте разбираться в том как мы ее написали и можно ли реализовать что-то более интересное чем вывод текста в консоль .
В первую очередь поговорим про заголовочные файлы #include, они позволяют нам использовать в программе функции. Изначально записав программу без подключения заголовочных файлов она вряд ли будет работать, заголовочные файлы работают как электричество. Если его не будет - вряд ли Вы сможете включить лампу, так же и с программой.
Полный список заголовочных файлов можно найти здесь.
Мы же будем рассматривать основные:
#include <iostream> — заголовочный файл с классами, функциями и переменными для организации ввода-вывода в языке программирования C++. Он включён в стандартную библиотеку C++. Название образовано от Input/Output Stream («поток ввода-вывода»). В языке C++ и его предшественнике, языке программирования Си, нет встроенной поддержки ввода-вывода, вместо этого используется библиотека функций. В нашей программе если #include stdio.h заменить на #include <iostream> программа так же будет работать, потому в каком-то смысле они аналогичны, хотя разница все-таки есть, но об этом не здесь.
#include <stdio.h> (от англ. standard input/output header — стандартный заголовочный файл ввода-вывода) заголовочный файл стандартной библиотеки языка Си, содержащий определения макросов, константы и объявления функций и типов, используемых для различных операций стандартного ввода и вывода. Функциональность унаследована от «портативного пакета ввода-вывода» («portable I/O package»),
Заголовочный файл всегда пишется вначале программы.
По сути мы использовали данный заголовочный файл для того чтобы иметь возможность использовать функцию вывода printf в нашей программе, о которой мы поговорим позже.
Проще говоря int main() является функцией Dev C++ в которой мы описываем нашу программу, т.е. это позволяет IDE распознать где же сама программа, которую мы, стараясь, написали. Важно сказать что после записи int main() мы должны символами { (открытие) и } (закрытие) обозначить тело самой программы, т.е. его рамки. Символ } который закрывает int main() является концом самой программы.
Функция printf() позволяет отображать в программе то, что мы хотим отобразить. Функция кроме самого вывода имеет ряд специальных кодов с которым, Вы можете ознакомиться здесь, если у Вас есть желание.
Важно сказать что отображаемый текст должен быть взят в (" ") и в конце строки Вы должны добавить символ ; для её выполнения, если этого не сделать компилятор не поймет закончилась ли эта функция или нет.
Ну вот собственно и все, давайте теперь введем переменную и посмотрим на заголовочный файл <iostream> , который схож с нашим <stdio.h> и новыми функциями ввода\вывода с поддержкой русского языка!
Напишите следующую программу.
Соберите решение, скомпилируйте программу и запустите ее, как мы это уже делали.
Результат будет следующим.
Давайте разбираться сначала со связкой заголовочного файла и новым элементом, объявлением пространства имён std, с которым Вы можете ознакомиться здесь
#include <iostream> позволяет нам использовать функции ввода и вывода, перенос строки и поддержку русского языка!
std::cin; - функция ввода
std::cout; - функция вывода
using namespace std; - позволяет нам сократить написание функций ввода - вывода и не использовать std:: при их вызове, а ограничиться лишь названиями cin и cout. Данная строка записывается сразу после объявления заголовочного файла.
С int main() мы уже разобрались потому скажем о
Данная функция позволяет отображать русский текст в консоли, без неё русские символы отображаться не будут, вместо них будут кракозябры, можете попробовать удалить данную строку и скомпилировав программу посмотреть на результат. Данную функцию нужно вызывать до вызова функции вывода cout. В идеале - вначале тела программы сразу после
Далее разберемся с объявлением переменных. Переменная является своеобразной ячейкой в которой могут храниться данные. С полным списком типов данных переменных и их возможными значениями можно ознакомиться здесь.
В нашем примере мы объявляем переменную с типом данных int (integer), который позволяет хранить ячейке в себе числовые целые значения в диапазоне от -2 147 483 648 до 2 147 483 647. Введя в переменную значение которое отличается от этого диапазона (например буквенный символ, либо число не входящее в данный диапазон, работа программы завершится ошибкой, можете попробовать). Название нашей переменной "a", именно так мы будем вызывать её в дальнейшем. Важно сказать что объявлять переменные, как и функцию отображения русских символов нужно вначале тела программы, в крайнем случае, до вызова переменной.
И самое интересное. Функции ввода и вывода!
Функция cout это поток вывода, похож на printf по своему действию. С помощью него мы можем вывести данные на экран (в консоль). Запись функции следующая:
cout << "текст для вывода" << переменная для вывода;
Символы << используются для разделения информации которую мы хотим отобразить, например здесь
Мы в одном потоке отображаем и текст, и переменную. Важно сказать что если Вы хотите отобразить текст то его нужно взять в " ", а в случае переменной - достаточно просто написать ее название.
Но для того чтобы отобразить переменную ей для начала нужно дать значение, и мы это делаем функцией cin. Использование достаточно просто само по себе
cin >> название_переменной;
Вы наверное заметили что в некоторых строках где используется функция вывода так же используется endl - это перенос строки, при отображении программы в консоли хорошо видно как это работает, там где не использовался перенос следующий поток вывода данных отображался в той же строке.
Вот собственно мы и разобрались с программой №2. Давайте еще раз усложним нашу программу и добавим в неё немножко арифметики!
Результат:
Начнем с того что мы добавили заголовочный файл #include <iomanip> который отвечает за использование функции setprecision().
Вместо типа данных int у нас теперь есть аж 4 переменных типа double , который позволяет переменным хранить числа с дробью в диапазоне от -9 223 372 036 854 775 808 .0 до 9 223 372 036 854 775 807.0 и это очень полезно в точных математических расчетах, ведь мы можем производить расчеты не только целых чисел, как в случае с int.
При чем как можно заметить пользователь вводит не все переменные самостоятельно, в программе уже задана переменная b со значением 5. Кстати говоря, здесь можно и просмотреть как правильно задавать переменные, если она не одна
Типданных переменная1,переменная2=значение,переменная3;
Так же полезно будет знать что Вы можете для ввода каждой новой переменной не записывать функцию cin>>переменная; заново а использовать такую структуру.
Мы считаем переменную в теле программы и после мы можем ее вывести. Полный список арифметических операций в С++ можно найти здесь. Запись происходит следующим образом:
Переменная5=переменная1(действие)переменная2;
result=a/b;
И самое интересное это вывод, как мы видим здесь вывод реализован по-разному.
1 вариант это cout с функцией setprecision() которая позволяет нам выводить определенное количество знаков после запятой, если они есть.
Т.е. если при расчетах число вышло целым, то cout с данной функцией выведет просто целое число, не отображая нули. При этом мы не записывали результат вычислений в другую переменную, а посчитали это перемножением переменных которые задает сам пользователь прямо в потоке вывода.
2 вариант это printf с кодом %.Nf, вместо N - число символов которые должны отображаться после запятой и в этом случае даже если в результате вычислений число вышло целым, printf все равно отобразит то количество чисел (нулей) после запятой, которое мы указали. Важно сказать что код для printf записывается в конце отображения текстовой области, а сама переменная объявляется после закрытия текстовой области с помощью " " и после запятой.
Пример:
printf("Текст %код", переменная);
При этом в данном варианте мы выводим значение переменной которую мы посчитали в теле программы до этого, result.
Думаю что для первоначального знакомства с С++ этого достаточно и базовые задачи Вы уже можете решить, по крайней мере, объявлять переменные, производить ввод-вывод данных различными методами и совершать арифметические операции.
Если эта статья будет кому-то полезна то позже напишу о иных разделах программирования на С++ (Циклы, операторы, массивы) , хоть это и давно заезженная тема, я стараюсь изложить это как можно проще.
И прежде чем с ярым энтузиазмом штурмовать Google с желанием узнать что-то новое, нужно выбрать материальную базу — среду программирования.
Существует огромное количество IDE (По этой ссылке Вы можете просмотреть их разнообразие) которые позволяют писать программы на разных языках, в том числе С++, проверять синтаксис и переводить (компилировать) исходный код Вашей программы в исполняемый файл (с расширением *.exe).
Среди IDE для новичка я бы отметил Dev-C++, Visual Studio, Eclipse, NetBeans.
Особенно хочется отметить Dev-C++, ведь он легок в установке, использовании и не нуждается в дополнительной настройке, именно его мы будем использовать в качестве примера.
И первое с чего Вам стоит начать, это скачивание и установка IDE, здесь можно скачать Dev C++, установка происходит самым обычным образом, Вам не нужно дополнительно скачивать либо устанавливать что-либо, просто скачали - запустили, сделали пару кликов по кнопке вперёд до конца установки и запустили программу.
И, скорее всего, первым, что Вы увидите - будет это. Нехитрыми действиями (нажатием Ctrl+N) (File > New) показанными на скриншоте мы можем создать свой первый исходный файл, который в последствии мы будем писать и компилировать. Чтобы открыть уже готовый проект, Вам нужно проследовать в меню (File > Open > file.cpp). Все проекты С++ имеют расширение .срр , в том числе и нами только что созданный.
Вам откроется исходный файл, в который Вы, как в блокнот, можете писать все что угодно.
Давайте запишем туда следующий текст, разберемся с этим кодом чуть ниже:
PHP:
#include <stdio.h>
int main()
{
printf("Hello, World!");
}
Все элементы интерфейса которые Вам на данный момент нужны можно найти на скриншоте ниже.
После этого Вам нужно нажать кнопку Rebuild All(F12) которая отвечает за то, чтобы собрать готовое решение с которым в последствии мы можем творить что душе угодно, в том числе и компилировать в .ехе файл, очень важно при каждом изменении программы её ребилдить, чтобы в последствии Вы компилировали программу с внесенными изменениями, а не старую версию.
Далее компилируем и запускаем саму программу нажатием на Compile & Run (F11) которая отвечает за перевод исходного кода в исполняемый файл .ехе, и его запуск.
Выполнив эти действия Вы получите вот такой результат:
Поздравляю! Ваша первая программа готова и успешно запускается, теперь давайте разбираться в том как мы ее написали и можно ли реализовать что-то более интересное чем вывод текста в консоль .
В первую очередь поговорим про заголовочные файлы #include, они позволяют нам использовать в программе функции. Изначально записав программу без подключения заголовочных файлов она вряд ли будет работать, заголовочные файлы работают как электричество. Если его не будет - вряд ли Вы сможете включить лампу, так же и с программой.
Полный список заголовочных файлов можно найти здесь.
Мы же будем рассматривать основные:
#include <iostream> — заголовочный файл с классами, функциями и переменными для организации ввода-вывода в языке программирования C++. Он включён в стандартную библиотеку C++. Название образовано от Input/Output Stream («поток ввода-вывода»). В языке C++ и его предшественнике, языке программирования Си, нет встроенной поддержки ввода-вывода, вместо этого используется библиотека функций. В нашей программе если #include stdio.h заменить на #include <iostream> программа так же будет работать, потому в каком-то смысле они аналогичны, хотя разница все-таки есть, но об этом не здесь.
#include <stdio.h> (от англ. standard input/output header — стандартный заголовочный файл ввода-вывода) заголовочный файл стандартной библиотеки языка Си, содержащий определения макросов, константы и объявления функций и типов, используемых для различных операций стандартного ввода и вывода. Функциональность унаследована от «портативного пакета ввода-вывода» («portable I/O package»),
PHP:
#include <stdio.h>
По сути мы использовали данный заголовочный файл для того чтобы иметь возможность использовать функцию вывода printf в нашей программе, о которой мы поговорим позже.
PHP:
int main()
{
тело программы;
}
Проще говоря int main() является функцией Dev C++ в которой мы описываем нашу программу, т.е. это позволяет IDE распознать где же сама программа, которую мы, стараясь, написали. Важно сказать что после записи int main() мы должны символами { (открытие) и } (закрытие) обозначить тело самой программы, т.е. его рамки. Символ } который закрывает int main() является концом самой программы.
PHP:
printf("Hello, World!");
printf("Текст");
Важно сказать что отображаемый текст должен быть взят в (" ") и в конце строки Вы должны добавить символ ; для её выполнения, если этого не сделать компилятор не поймет закончилась ли эта функция или нет.
Ну вот собственно и все, давайте теперь введем переменную и посмотрим на заголовочный файл <iostream> , который схож с нашим <stdio.h> и новыми функциями ввода\вывода с поддержкой русского языка!
Напишите следующую программу.
PHP:
#include <iostream>
using namespace std;
int main()
{
setlocale( LC_ALL,"Russian" );
int a;
cout<<"Введите А"<<endl;
cin>>a;
cout<<"A = " << a << endl;
cout<<"Как видите текст на следующей строке. ";
cout<<"А здесь нет." <<endl;
cout<<"И снова на следующей.";
}
Соберите решение, скомпилируйте программу и запустите ее, как мы это уже делали.
Результат будет следующим.
Давайте разбираться сначала со связкой заголовочного файла и новым элементом, объявлением пространства имён std, с которым Вы можете ознакомиться здесь
PHP:
#include <iostream>
using namespace std;
std::cin; - функция ввода
std::cout; - функция вывода
using namespace std; - позволяет нам сократить написание функций ввода - вывода и не использовать std:: при их вызове, а ограничиться лишь названиями cin и cout. Данная строка записывается сразу после объявления заголовочного файла.
С int main() мы уже разобрались потому скажем о
PHP:
setlocale( LC_ALL,"Russian" );
Данная функция позволяет отображать русский текст в консоли, без неё русские символы отображаться не будут, вместо них будут кракозябры, можете попробовать удалить данную строку и скомпилировав программу посмотреть на результат. Данную функцию нужно вызывать до вызова функции вывода cout. В идеале - вначале тела программы сразу после
PHP:
int main()
{
Далее разберемся с объявлением переменных. Переменная является своеобразной ячейкой в которой могут храниться данные. С полным списком типов данных переменных и их возможными значениями можно ознакомиться здесь.
PHP:
int a;
В нашем примере мы объявляем переменную с типом данных int (integer), который позволяет хранить ячейке в себе числовые целые значения в диапазоне от -2 147 483 648 до 2 147 483 647. Введя в переменную значение которое отличается от этого диапазона (например буквенный символ, либо число не входящее в данный диапазон, работа программы завершится ошибкой, можете попробовать). Название нашей переменной "a", именно так мы будем вызывать её в дальнейшем. Важно сказать что объявлять переменные, как и функцию отображения русских символов нужно вначале тела программы, в крайнем случае, до вызова переменной.
И самое интересное. Функции ввода и вывода!
PHP:
cout<<"Введите А"<<endl;
cin>>a;
cout<<"A = " << a << endl;
cout<<"Как видите текст на следующей строке. ";
cout<<"А здесь нет." <<endl;
cout<<"И снова на следующей.";
Функция cout это поток вывода, похож на printf по своему действию. С помощью него мы можем вывести данные на экран (в консоль). Запись функции следующая:
cout << "текст для вывода" << переменная для вывода;
Символы << используются для разделения информации которую мы хотим отобразить, например здесь
PHP:
cout<<"A = " << a << endl;
Но для того чтобы отобразить переменную ей для начала нужно дать значение, и мы это делаем функцией cin. Использование достаточно просто само по себе
cin >> название_переменной;
Вы наверное заметили что в некоторых строках где используется функция вывода так же используется endl - это перенос строки, при отображении программы в консоли хорошо видно как это работает, там где не использовался перенос следующий поток вывода данных отображался в той же строке.
Вот собственно мы и разобрались с программой №2. Давайте еще раз усложним нашу программу и добавим в неё немножко арифметики!
PHP:
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
setlocale( LC_ALL,"Russian" );
double a,b=5,c,result;
cout<<"Введите А и C"<<endl;
cin>> a >> c;
result=a*b-c;
cout<<"A = " << a << endl;
cout<<"B = " << b << endl;
cout<<"C = " << c << endl;
cout<<"A * B * C = " << setprecision(5) << a*b*c << endl;
printf("A * B - C = %.3f",result);
}
Результат:
PHP:
#include <iomanip>
Начнем с того что мы добавили заголовочный файл #include <iomanip> который отвечает за использование функции setprecision().
PHP:
double a,b=5,c,result;
Вместо типа данных int у нас теперь есть аж 4 переменных типа double , который позволяет переменным хранить числа с дробью в диапазоне от -9 223 372 036 854 775 808 .0 до 9 223 372 036 854 775 807.0 и это очень полезно в точных математических расчетах, ведь мы можем производить расчеты не только целых чисел, как в случае с int.
При чем как можно заметить пользователь вводит не все переменные самостоятельно, в программе уже задана переменная b со значением 5. Кстати говоря, здесь можно и просмотреть как правильно задавать переменные, если она не одна
Типданных переменная1,переменная2=значение,переменная3;
PHP:
cin>> a >> c;
PHP:
result=a*b-c;
Мы считаем переменную в теле программы и после мы можем ее вывести. Полный список арифметических операций в С++ можно найти здесь. Запись происходит следующим образом:
Переменная5=переменная1(действие)переменная2;
result=a/b;
PHP:
cout<<"A * B * C = " << setprecision(5) << a*b*c << endl;
printf("A * B - C = %.3f",result);
И самое интересное это вывод, как мы видим здесь вывод реализован по-разному.
1 вариант это cout с функцией setprecision() которая позволяет нам выводить определенное количество знаков после запятой, если они есть.
Т.е. если при расчетах число вышло целым, то cout с данной функцией выведет просто целое число, не отображая нули. При этом мы не записывали результат вычислений в другую переменную, а посчитали это перемножением переменных которые задает сам пользователь прямо в потоке вывода.
2 вариант это printf с кодом %.Nf, вместо N - число символов которые должны отображаться после запятой и в этом случае даже если в результате вычислений число вышло целым, printf все равно отобразит то количество чисел (нулей) после запятой, которое мы указали. Важно сказать что код для printf записывается в конце отображения текстовой области, а сама переменная объявляется после закрытия текстовой области с помощью " " и после запятой.
Пример:
printf("Текст %код", переменная);
При этом в данном варианте мы выводим значение переменной которую мы посчитали в теле программы до этого, result.
Думаю что для первоначального знакомства с С++ этого достаточно и базовые задачи Вы уже можете решить, по крайней мере, объявлять переменные, производить ввод-вывод данных различными методами и совершать арифметические операции.
Если эта статья будет кому-то полезна то позже напишу о иных разделах программирования на С++ (Циклы, операторы, массивы) , хоть это и давно заезженная тема, я стараюсь изложить это как можно проще.
Последнее редактирование: