Автор работы: Пользователь скрыл имя, 01 Марта 2010 в 23:39, Не определен
Язык программирования С++
(Лекции)
Балашиха 2010
Существует большое количество версий языка Си. Мы будем изучать язык Турбо Си 2.0 фирмы Borland. При желании можно пользоваться версиями Турбо С++ 3.0 или Borland C++ 3.1. Для самостоятельной работы с этим языком программирования рекомендуется книга [3], в которой рассматривается версия языка Си фирмы Borland.
Основные элементы рассмотрим на примере простейшей программы, предложенной ее создателем Денисом Ритчи [1]. При вводе программы необходимо точно соблюдать ее синтаксис, а именно:
– вводить программу строчными буквами;
– некоторые строки программы заканчиваются символом точка с запятой.
Листинг 1.1
/*
Программа `Привет мир!`
#include <stdio.h> /* подключение файла библиотеки */
void main(void) /* главная функция */
{
printf(“Hello world!\n”); /* вывод на экран сообщения */
}
Рассмотрим основные элементы программы.
Комментарий начинается с символов /* и заканчивается теми же символами, идущими в обратном порядке */. Они служат для ввода пояснений в программе. Например, строка
/* главная функция */
представляет
собой комментарий. При запуске
программы комментарии
Обычно принято начинать программу с комментария, в котором указано назначение программы. В комментарии можно использовать любые символы, в том числе и символы русского алфавита. Каждый комментарий может занимать строку программы целиком, часть ее или несколько строк. Например, допустим следующий вариант:
/* Это
просто
строка
комментария */
Вначале содержательной части программы на языке Си всегда используются так называемые «директивы препроцессора», начинающиеся с символа #. В данной программе используется строка
#include <stdio.h>
которая означает, что необходимо подключить заголовочный файл «stdio.h». Это позволяет использовать в программе библиотеку стандартного ввода-вывода, а именно, в данной программе используется функция стандартного вывода данных на экран printf().
При
использовании в программе
stdio.h | библиотека стандартного ввода-вывода, например, для использования функций ввода с клавиатуры и вывода на экран scanf() и printf(), ввода/вывода в файл fprintf()и fscanf() |
conio.h | библиотека консольного ввода-вывода, например, для функций ввода одиночного символа getch(), конольного ввода/вывода cscanf() и cprintf(), очистки экрана clrscr(), перемещения курсора gotoxy(), изменения цвета символов textcolor() |
math.h | математическая библиотека, например, для функций sqrt(), sin(), cos(), log(), exp() |
graphics.h | графическая библиотека, например, для функций инициализации графики initgraph(), рисования графических примитивов line(), rectangle() |
При необходимости использования функций из нескольких библиотек в начале программы указываются все требуемые заголовочные файлы. Например, при использовании математических функций, функций стандартного и консольного ввода-вывода в заголовке программы записываются следующие строки:
#include <stdio.h>
#include <conio.h>
#include <math.h>
Листинг программы на Си содержит одну или несколько функций. Обязательным является использование главной функции – функции main(). Строка описания главной функции в приведенной программе содержит ключевое слово void. Это означает, что после окончания функции ничего не возвращается. В общем виде описание каждой функции, в том числе и функции main(), имеет следующий синтаксис (символы русского алфавита и знаки < и > используются только для пояснения):
<
где <ТипВозвращаемогоЗначения> – результат исполнения функции, точнее тип возвращаемого значения переменной (допустимо использовать разрешенные типы, например, void, int, float и т.д.);
<ИмяФункции> – идентификатор (имя) функции;
<
Чтобы стала понятной эта форма описания функции, приведем запись функции в естественной математической форме:
y = sin ( x )
ТипВозвращаемогоЗначения ИмяФункции СписокФормальныхПеременных
В
рассматриваемом примере
void main(void)
означает, что имя функции main, список формальных параметров отсутствует и после ее завершения ничего не возвращается.
Любая функция на языке содержит «тело» – список операторов, которые выполняются при ее вызове. Принадлежность операторов данной функции определяется символами открывающей фигурной скобки { и закрывающей скобки }. В общем случае эти символы начала и конца блока можно использовать не только для функций, но и для операторов управления, позволяющих изменить ход исполнения программы: операторов if, switch, for, while , do-while.
Для вывода данных на экран в языке Си имеется достаточно большое количество средств. Наиболее часто используется функция printf() из стандартной библиотеки ввода-вывода. В простейшем случае, как в приведенном примере, эта функция содержит только один параметр – строку, начинающуюся и завершающуюся символом двойной кавычки ″…″. Все, что заключено внутри строки, выводится на экран при исполнении программы. Содержимое строки может быть записано как на латинском, так и на русском языке.
Помимо обычного текста в строке можно указать специальные символы, позволяющие вывести значения переменных, выполнить перевод строки, горизонтальную табуляцию, подать звуковой сигнал и т.д. Специальный символ начинается с символа обратного слеша, например:
\n – перевод строки;
\t – горизонтальная табуляция (перенос курсора вправо на несколько позиций);
\а – подача звукового сигнала.
Количество и последовательность специальных символов не ограничивается. Например, вызов функции
printf(“Эта\n\tПросто\n\
позволит вывести на экран сообщение в нескольких строках со смещением в каждой новой строке:
Эта
Просто
Строка
В
рассматриваемом примере
Следует отметить еще одну важную деталь – практически все операторы внутри функции заканчиваются символами точка с запятой, операторы вне функций обычно записываются без этих символов.
После записи в редакторе языка программы для ее запуска необходимо выполнить следующую последовательность действий:
1) нажать клавишу F2 и ввести имя файла – при этом выполняется сохранение файла на диске (расширение «*.c» указывать необязательно);
2) нажать клавиши ALT-F9 – запустить программу на компиляцию, при этом проверяется синтаксис написания программы. После компиляции на экране появляется окно компилятора (рис. 1.1), содержащее информацию об ошибках и предупреждениях.
Рис. 1.1. Компиляция программы
Если программа написана без ошибок, то можно выполнять дальнейшие действия (в строках Errors и Warning окна компилятора должны стоять цифры 0);
3) нажать клавиши Ctrl-F9 – запустить компоновщик программы и при нулевом количестве ошибок программа запускается на исполнение (компоновщик подключает библиотечные файлы);
4) нажать клавиши Alt-F5 – окно просмотра исполнения программы.
После выполнения всех этих операций с рассматриваемой программой «Hello World!» на экране появится результат – выполнится вывод сообщения:
Hello world!
Усложним программу: необходимо ввести с клавиатуры два целых чисел и результат вывести на экран.
Листинг 1.2
/*
Расчет суммы двух чисел */
#include <stdio.h>
#include <conio.h>
main()
{
int a,b,c; /* объявление трех целых переменных */
clrscr(); /* очистка экрана */