Первая программа на С++

Самая простая программа на С++, это программа, печатающая текстовое сообщение, говоря печатающая, подразумевается не печать на принтере, а  всего лишь отправка данного сообщения на стандартное устройство вывода, то есть на экран. Проще не бывает, хотя код, содержащий только функцию main() и некоторые препроцессорные директивы тоже является программой, на этот раз, самой простой программой. Рассмотрим детально каждую строку программы, печатающей текстовое сообщение.

// first_program.cpp: определяет точку входа для консольного приложения.
// <DEN><программа печатающая текст><15:40><23.07.2010>

#include "stdafx.h"
#include <iostream>
using namespace std;

int main(int argc, char* argv[])
{
    cout << "My first program!" << endl;
    system("pause");
    return 0;
}

Строка 1 начинается с символов //, которые показывают, что данная строка является комментарием. Компилятор игнорирует комментарии и поэтому они предназначены только для того, чтобы программу можно было легче читать и понимать. Точка входа для консольного приложения — это имя программы, которое надо ввести в консоли, чтобы запустить эту программу через консоль.

Консоль — это набор устройств ввода/вывода присоединённых к компьютеру непосредственно(не через сеть): клавиатура, монитор, мышь.

В нашем случае под консолью подразумевается лишь командная строка. Обратите внимание, в строке 2 стоит специальный комментарий, такой комментарий иногда бывает очень полезен, особенно, если необходимо покопаться в старых исходниках. И когда натыкаешься на такой комментарий в исходниках, сразу становится понятно, о чём данная программа, да и дата написания программы лишней не будет. А если к кому-то попадет ваш исходник, то будет известно, кто автор. Также можно добавлять ещё и адрес электронной почты.

Чтобы в дальнейшем было удобно читать свои исходники, рекомендую комментировать в следующем формате:

//<Кто написал программу><вкратце, что делает><время написания><дата написания>

В C++ существует два способа записи комментариев:

  1. Две косые черты //— однострочный комментарий. Такие комментарии комментируют всю строчку, не более и не менее.
  2. Многострочный комментарий. Такой комментарий начинается с символов /* и заканчивается символами */.

Если вы программируете в IDE, или специальном текстовом редакторе, то комментарии будут выделяться другим цветом, как правило зеленым, цвет комментариев зависит от среды разработки программ, например в Microsoft Visual Studio 2010 комментарии выделяются зеленым цветом.

Данная программа была написана как раз в MVS2010. Данная среда разработки была выбрана нами в качестве основной, так как она является наиболее удобной средой разработки программ на языке программирования С++ под Windows. Это субъективно  наше мнение, которое может не совпадать с вашим. MVS активно развивается и улучшается корпорацией Microsoft. Также параллельно развивается проект «RAD Studio» компании Embarcadero Technologies. Данный проект поддерживает несколько языков программирования, в том числе и С++. Последняя версия «RAD Studio» вышла в 2011 году, и называется «Rad Studio 2011 XE». Так, что выбор остаётся за Вами, где творить!!!

Строки 3 и 7 пустые и нужны только для того, что бы было удобно просматривать ранее написанный код. Оставляйте пустые строки, это поможет повысить уровень удобочитаемости исходного кода. В строке 4 подключен так называемый «контейнер» — заголовочный файл "stdafx.h". Данный файл предназначен для сокрытия некоторых подключаемых библиотечных файлов, так что файлы можно подключать в "stdafx.h", а в файле с функцией main() просто будет подключён данный контейнер. Контейнер "stdafx.h" можно и не использовать, но удалять нельзя. Такой заголовочный файл "stdafx.h" существует только в MVS. Так что если встретите в чьём-то исходнике строку типа этой:

#include "stdafx.h"

знайте, что такая программа написана в Microsoft Visual Studio.

Строка 5 позволяет выводить данные на экран. Данная строка включает в программу заголовочный файл потоков ввода/вывода. Данный файл должен быть включен во все программы, где предусматривается вывод текста на экран или считывание его с клавиатуры.

Всякий оператор С++ должен оканчиваться точкой с запятой ;. Директивы препроцессора #include, фигурные скобочки {}, заголовки функций int main() не оканчиваются точкой с запятой.

Строку 6 подробно разберем в дальнейшем, а пока скажу, что эта строка определяет пространство имен std.

В строке 8 прописан заголовок  главной функции int main(). Так как функции в С++ мы будем рассматривать чуть позже, просто прописывайте данную строку в каждой своей программе. Строка 10 печатает текст, находящийся в кавычках, пробелы между словами не игнорируются. В дальнейшем текст между кавычками будем называть сообщением или строковым литералом. Символы << называются операцией передачи в поток. Данные символы используются вместе с оператором вывода cout. Оператор endl переносит курсор на следующую строку. Можно было бы написать так:  cout << "My first program!";  но тогда следующее сообщение печаталось бы в текущей строке (см. рисунок 1).

CppStudio.com
My first program!Для продолжения нажмите любую клавишу . . .

Рисунок 1 — Первая программа на С++

Так как после оператора cout стоит оператор endl, то каретка переводится на следующую строку, тогда следующее сообщение будет печататься в новой строке(см. рисунок 2).

CppStudio.com
My first program!
Для продолжения нажмите любую клавишу . . .

Рисунок 2 — Первая программа на С++

Строка 11 необходима только для того чтобы программа не завершала свою работу сразу после вывода сообщения на экран. Попробуйте запустить программу без данной строки. system("pause"); выполняет задержку с последующим выводом сообщения:

Для продолжения нажмите любую клавишу…

Вот в принципе и все. Дальше рассмотрим некоторые способы форматирования выводимой на экран информации.

Практика

К сожалению, для данной темы пока нет подходящих задач. Если у вас есть таковые на примете, отправте их по адресу: admin@cppstudio.com. Мы их опубликуем!

Автор: Marienko L.
Дата: 25.08.2012
Поделиться:

Комментарии

  1. JetPlay

    Незнаю чому ,але в пронрамі SoloLearn  код не працює.Підкажіть ,що не так з вашим кодом?

  2. Valiner

    Valiner

    Возвращаясь к своему вопросу ,убрав 11 строку все начало работать прекрасно , и никакого проподания окна, мое предположение ,что это какая-то ошибка CB , добрые люди объясните , из-за чего это происходит , спасибо огромное.

  3. Valiner

    Valiner

    Вечер добрый , сижу в CB (code blocks), при компеляции выдает якобы »system» wasn’s declared in scope , как это возможно ,у меня тупит CB или , я что-то не так сделал ,#include "stdafx.h" 

    это я удалил…

     

  4. 1lena

    День добрый. Написала программу без

    #include «stdafx.h»

    и все работает. Вопрос, можно его вообще не писать?

Оставить комментарий

Вы должны войти, чтобы оставить комментарий.