Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

ГЛАВА 1. Основы программирования на языке высокого уровня



1.1. Структура программы на языке С++

Для того чтобы описать структуру программы, написанной на C++, рассмотрим простейшую программу, выводящую на экран строку Hello, world.

// Program1.cpp

#include <iostream.h>

void main()

{

cout << "\nHello, world\n";

}

В первой строке данной программы находится однострочный комментарий. В приведенном комментарии указано имя файла, в котором хранится исходный текст программы. В С++ комментарии могут быть заданы двумя способами. Для однострочных комментариев используют символы //, как в нашем примере. Для многострочных комментариев можно использовать символы /*, */, между которыми и должен находится сам текст комментария. В тексте комментария могут содержаться любые символы, а вся последовательность символов эквивалентна символу пропуска (например, символу пробела). Комментарии одного типа не могут быть вложенными, однако можно использовать символы // для того, чтобы закомментировать символы /*… */, а символами /*…*/можно закомментировать //.

Во второй строке программы помещена команда препроцессора (директива) #include, позволяющая подключить стандартные библиотеки функций используемого компилятора или оттранслированные модули, написанные самим программистом. Директива #include имеет два формата:

#include <имя_файла>

#include “имя_файла”.

В первом случае имя_файла определяет текстовый (заголовочный) файл, содержащий прототипы (описания) той или иной группы стандартных для данного компилятора функций. Например, в нашем случае директива #include <iostream.h> обеспечивает включение стандартных возможностей потока ввода и вывода, находящихся в файле iostream.h (мнемоника: “i” (input) – ввод, “o” (output) – вывод, stream – поток, “h” (head)- заголовок). Стандартным потоком вывода по умолчанию считается вывод на экран монитора, стандартный поток ввода обеспечивает чтение данных с клавиатуры. Приведем еще несколько примеров использования директивы #include. Если программист хочет использовать в своей программе такие стандартные функции как косинус (cos), синус (sin), степень числа (pow), то он должен использовать директиву #include <math.h>, для использования функции ожидания ввода любого символа с клавиатуры без отображения на экране, то есть функции задержки экрана (getch) – директиву #include <conio.h>, функцию конкатенации строк (strcat)- директиву #include <string.h>. Если в программе, например, используется функция cos (функция вычисления косинуса), но не указана директива #include <math.h>, то на этапе компиляции возникнет ошибка. Ниже приведено функциональное значение основных заголовочных файлов:

math.h –математические функции;

ctype.h – функции проверки и преобразования символов;

stdio.h – функции ввода вывода для стандартных файлов;

string.h, stdlib.h – функции для работы со строками;

alloc.h – функции для выделения и освобождения памяти;

conio.h – функции для работы с терминалом в текстовом режиме;

graphics.h – функции для работы с графикой.

Если имя_файла после директивы #include указано в кавычках, это означает, что используется не стандартный заголовочный файл, а файл, созданный самим программистом.

Третья строка программы является заголовком функции с именем main. Каждая программа должна содержать функцию с именем main, и работа программы начинается с выполнения этой функции. Перед именем main помещено служебное слово void – спецификатор типа, указывающий, что функция main в данной программе не возвращает никакого значения. Круглые скобки после main требуются в связи с синтаксисом заголовка любой функции и содержат список параметров. В нашем примере параметры не нужны и этот список пуст.

Тело любой функции в языке С++ – это заключенная в фигурные скобки последовательность описаний и операторов. Каждое описание и оператор заканчивается символом ‘;’. В данном примере в теле функции main нет явных описаний, а есть только один оператор

cout << "\nHello, world\n";

Имя cout, в соответствии с информацией, содержащейся в файле iostrem.h, является именем объекта, который обеспечивает вывод информации на экран монитора. (Поэтому, если строка #include <iosteam.h> будет отсутствовать в программе, то имя cout будет воспринято как неизвестное на этапе компиляции программы). Операция << (“поместить в”) пишет свой второй аргумент в первый (в данном случае, строковую константу "\nHello, world\n" в стандартный поток вывода cout). Строковая константа в языке С++ - это последовательность символов, заключенная в двойные кавычки. В строке символ обратной косой черты ‘\’, за которым следует другой символ, обозначает один специальный символ, в данном случае, ‘\n’ является символом новой строки. Таким образом, выводимые символы в данном случае состоят из символа перевода строки, символов Hello, world и еще одного символа перевода строки.

Отметим, что обратная косая черта ‘\’ позволяет не только записывать символы, не имеющего графического изображения и некоторые другие, но и выводить символьные константы, явно задавая их коды в восьмеричном или шестнадцатеричном виде. Последовательность литер, начинающаяся с символа ‘\’ называют esc-последовательностями (ескейп-последовательностями). Их допустимые значения приведены в таблице 1.

Отметим несколько особенностей использования стандартного потока вывода cout.

1. Строки, помещенные в два подряд идущих потока cout, при условии, что в них нет символа перевода строки, будут выведены на экран как одна строка, то есть операторы

cout << “Это”;

cout << “строка”;

обеспечивают вывод на экран текста: Это строка.

2. Несколько строк, последовательно помещенных в поток cout, при условии, что в них нет символа перевода строки, будут выведены на экран как одна, то есть оператор

cout << “С” “т” “рока”;

обеспечивает вывод на экран текста: Строка.

3. Длинную текстовую строку можно разместить подряд в нескольких строках программы, используя символ \. Например, оператор

cout << “Это \

строка”

обеспечит вывод строки: Это строка. (Обратите внимание, что пробелы из второй строки сохраняются).

Методы организации вывода числовой информации и ввода данных будут рассмотрены в следующей главе.

Таблица 1. Допустимые ESC-последовательности





Дата публикования: 2015-10-09; Прочитано: 138 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...