Программа на языке высокого уровня
Программа – это текстовый файл, содержащий последовательность команд, связанных между собой по законам грамматики C++. Этот файл называют исходным текстом (возможно, потому, что он является началом всех наших страданий). Исходный файл в C++ имеет расширение .CPP, так же как файлы Microsoft Word оканчиваются на .DOC. Расширение .CPP всего лишь соглашение.
Задача программирования – это написание такой последовательности команд, после преобразования которой в машинный язык можно получить программу, выполняющую наши желания. Такие машинно-исполняемые программы имеют расширение .EXE. Процесс превращения программы C++ в исполняемую называется компиляцией.
Структура программы на языке C++
Любая программа на C++ может содержать следующие блоки:
Рассмотрим назначение каждой секции:
· Подключение библиотек. Очень часто программы делают одни и те же операции. Например, вычисления значений квадратного корня, ввод данных из файла и так далее. Эти операции группируются по назначению в различные модули, которые называются библиотеками. Используя библиотеки можно сократить и упростить исходный текст программы.
· Описание функций. Однако не все функции созданы заранее. Программисту для упрощения вычислений приходится писать свои функции. Эти функции располагаются в этой секции программы.
· Главная функция main(). Выполнение любой программы на C++ начинается с этой функции. Эта функция вызывается операционной системой. После завершения вычислений функция main() передаёт управление обратно операционной системе.
o Объявление переменных. Переменные хранят информацию. Прежде чем использовать переменные их нужно описать или как говорят объявить. Объявление переменных происходит в этой части программы.
o Ввод исходных данных. Подавляющее большинство программ работают с данными, которые вводит пользователь. Также данные могут читаться из файла или быть получены по сети. Все эти действия называются вводом исходных данных и производятся в этой части программы.
o Вычисление результата. Любая программа пишется для чего-то. У каждой программы есть цель. Достижение этой цели или вычисление результата производится в этой части программы.
o Вывод результата. Когда результат вычислен, его нужно представить пользователю. Это может быть вывод на экран, а может и запись в файл. В данной секции производится представление результата в нужной для пользователя форме.
Простая программа на C++
В C++ используются формы записи, которые непрограммисту могут показаться странными. Мы начинаем с рассмотрения простой программы, печатающей две строки текста.
// Простой вывод сообщения
#include <iostream>
using namespace std;
int main()
{
// Вывод приветствия
cout << «Привет!» << endl;
cout << «Это - твоя первая программа на C++.» << endl;
// Завершение программы
return 0;
}
Эта программа иллюстрирует несколько важных особенностей программ на C++. Рассмотрим каждую строку программы (пустые строки игнорируются).
// Простой вывод сообщения
Это однострочный комментарий. Однострочный комментарий начинается с символов «//» и заканчивается в конце строки. Программисты вставляют комментарии, чтобы документировать программу и облегчить её чтение. Комментарии помогают другим людям читать и понимать вашу программу. Комментарии не вызывают никаких действий компьютера при выполнении программы. Они игнорируются компилятором.
Комментарий «Простой вывод сообщения» просто описывает цель программы. Такой комментарий располагается в самом начале программы.
Хороший стиль программирования 1: Каждая программа должна начинаться с комментария, описывающего цель программы.
#include <iostream>
using namespace std;
Эти строки позволяют подключить библиотеку ввода-вывода iostream. С её помощью можно выводить данные на экран и читать данные с клавиатуры. Позже мы рассмотрим подключение других библиотек.
Типичная ошибка программирования 1: Забывают включить библиотеку iostream в программу, которая вводит данные с клавиатуры или выводит данные на экран.
int main()
{
…
}
Эти строки являются частью любой программы на C++. Они описывают функцию main. Программы на C++ содержат одну или более функций, одна из которых должна быть main. Эта программа содержит только одну функцию. Программа на C++ всегда начинается с выполнения функции main, даже если main – не первая функция программы.
Каждая функция содержит операторы, которые располагаются между символами { и }.
cout << «Привет!» << endl;
cout << «Это - твоя первая программа на C++.» << endl;
Программы состоят из операторов. В C++ операторы разделяются через ;.
Строки, которые начинаются с символа cout, называют операторами вывода. cout читается как «си-аут». Справа от cout через << находится выводимая на экран информация. В данном случае это строка «Привет!» и символ перевода курсора на новую строку.
Типичная ошибка программирования 2: пропуск точки запятой в конце оператора является синтаксической ошибкой. Синтаксическая ошибка возникает тогда, когда компилятор не может распознать оператор в тексте программы. Обычно компилятор выдаёт сообщение об ошибке, чтобы помочь программисту найти и исправить неверный оператор. Синтаксические ошибки – это нарушение правил языка. Поскольку они обнаруживаются на этапе компиляции, поэтому их часто называют ошибками компиляции.
Хороший стиль программирования 2: Последний символ выводимого текста должен быть endl, который переводит курсор на новую строку. Вывод программы становится более воспринимаемым для человека.
return 0;
Эта строка включается в конце каждой функции main. Ключевое слово return – один из нескольких способов завершения вычислений в функции. Когда оператор return используется в конце функции main, значение 0 говорит о том, что программа успешно завершена. Позднее мы обсудим это подробно.
Хороший стиль программирования 3: Делайте одинаковые отступы для всех операторов внутри функции. Каждый оператор располагайте на новой строке. Структура программы получается более понятной и легкой для чтения.
В результате выполнения программы пользователь увидит на экране следующую надпись:
Привет!
Это - твоя первая программа на C++.
Это сообщение можно напечатать разными способами. Например, так:
cout << «Привет!» << endl << «Это - твоя первая программа на C++.» << endl;
Или так:
cout << «Привет!» << endl;
cout << «Это – твоя »;
cout << «первая программа на C++.» << endl;
Допустимость таких способов объясняется тем, что вывод производится с того места, где предыдущий оператор приостановил вывод. Вообще C++ позволяет программисту представлять операторы множеством способов.