Смекни!
smekni.com

Язык программирования С 2 (стр. 1 из 7)

ЯЗЫК

ПРОГРАММИРОВАНИЯ

С++

Балашиха 2010

1. ОСНОВНЫЕ ЭЛЕМЕНТЫ ПРОГРАММЫ

1.1. Изучаемая версия языка

Существует большое количество версий языка Си. Мы будем изучать язык Турбо Си 2.0 фирмы Borland. При желании можно пользоваться версиями Турбо С++ 3.0 или BorlandC++ 3.1. Для самостоятельной работы с этим языком программирования рекомендуется книга [3], в которой рассматривается версия языка Си фирмы Borland.

1.2. Программа «HelloWorld»

1.2.1. Пример 1.1

Основные элементы рассмотрим на примере простейшей программы, предложенной ее создателем Денисом Ритчи [1]. При вводе программы необходимо точно соблюдать ее синтаксис, а именно:

– вводить программу строчными буквами;

– некоторые строки программы заканчиваются символом точка с запятой.

Листинг 1.1

/* Программа `Привет мир!` */

#include <stdio.h> /* подключение файла библиотеки */

voidmain(void) /* главная функция */

{ /* начало блока */

printf(“Helloworld!&bsol;n”); /* вывод на экран сообщения */

} /* конец блока */

Рассмотрим основные элементы программы.

1.2.2. Комментарии

Комментарий начинается с символов /* и заканчивается теми же символами, идущими в обратном порядке */. Они служат для ввода пояснений в программе. Например, строка

/* главная функция */

представляет собой комментарий. При запуске программы комментарии компилятором языка игнорируются.

Обычно принято начинать программу с комментария, в котором указано назначение программы. В комментарии можно использовать любые символы, в том числе и символы русского алфавита. Каждый комментарий может занимать строку программы целиком, часть ее или несколько строк. Например, допустим следующий вариант:

/* Это

просто

строка

комментария */

1.2.3. Заголовочные файлы

Вначале содержательной части программы на языке Си всегда используются так называемые «директивы препроцессора», начинающиеся с символа #. В данной программе используется строка

#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>

1.2.4. Главная функция

Листинг программы на Си содержит одну или несколько функций. Обязательным является использование главной функции – функции main(). Строка описания главной функции в приведенной программе содержит ключевое слово void. Это означает, что после окончания функции ничего не возвращается. В общем виде описание каждой функции, в том числе и функции main(), имеет следующий синтаксис (символы русского алфавита и знаки < и > используются только для пояснения):

<ТипВозвращаемогоЗначения> <ИмяФункции> (<СписокФормальныхПеременных>)

где <ТипВозвращаемогоЗначения> – результат исполнения функции, точнее тип возвращаемого значения переменной (допустимо использовать разрешенные типы, например, void, int, float и т.д.);

<ИмяФункции> – идентификатор (имя) функции;

<СписокФормальныхПеременных> – перечень типов и идентификаторов формальных переменных.

Чтобы стала понятной эта форма описания функции, приведем запись функции в естественной математической форме:

y = sin ( x )


ТипВозвращаемогоЗначения ИмяФункции СписокФормальныхПеременных

В рассматриваемом примере программы «HelloWorld!» строка описания заголовка функции

voidmain(void)

означает, что имя функции main, список формальных параметров отсутствует и после ее завершения ничего не возвращается.

1.2.5. Начало и конец функции или блока

Любая функция на языке содержит «тело» – список операторов, которые выполняются при ее вызове. Принадлежность операторов данной функции определяется символами открывающей фигурной скобки { и закрывающей скобки }. В общем случае эти символы начала и конца блока можно использовать не только для функций, но и для операторов управления, позволяющих изменить ход исполнения программы: операторов if, switch, for, while , do-while.

1.2.6. Вывод на экран сообщения

Для вывода данных на экран в языке Си имеется достаточно большое количество средств. Наиболее часто используется функция printf() из стандартной библиотеки ввода-вывода. В простейшем случае, как в приведенном примере, эта функция содержит только один параметр – строку, начинающуюся и завершающуюся символом двойной кавычки ″…″. Все, что заключено внутри строки, выводится на экран при исполнении программы. Содержимое строки может быть записано как на латинском, так и на русском языке.

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

&bsol;n – перевод строки;

&bsol;t – горизонтальная табуляция (перенос курсора вправо на несколько позиций);

&bsol;а – подача звукового сигнала.

Количество и последовательность специальных символов не ограничивается. Например, вызов функции

printf(“Эта&bsol;n&bsol;tПросто&bsol;n&bsol;t&bsol;tСтрока&bsol;n”);

позволит вывести на экран сообщение в нескольких строках со смещением в каждой новой строке:

Эта

Просто

Строка

В рассматриваемом примере программы на экран выводится сообщение “Helloworld!” и курсор переводится на новую строку.

Следует отметить еще одну важную деталь – практически все операторы внутри функции заканчиваются символами точка с запятой, операторы вне функций обычно записываются без этих символов.

1.2.7. Запуск программы на компиляцию, компоновку и исполнение

После записи в редакторе языка программы для ее запуска необходимо выполнить следующую последовательность действий:

1) нажать клавишу F2 и ввести имя файла – при этом выполняется сохранение файла на диске (расширение «*.c» указывать необязательно);

2) нажать клавиши ALT-F9 – запустить программу на компиляцию, при этом проверяется синтаксис написания программы. После компиляции на экране появляется окно компилятора (рис. 1.1), содержащее информацию об ошибках и предупреждениях.

Рис. 1.1. Компиляция программы

Если программа написана без ошибок, то можно выполнять дальнейшие действия (в строках Errors и Warning окна компилятора должны стоять цифры 0);

3) нажать клавиши Ctrl-F9 – запустить компоновщик программы и при нулевом количестве ошибок программа запускается на исполнение (компоновщик подключает библиотечные файлы);

4) нажать клавиши Alt-F5 – окно просмотра исполнения программы.

После выполнения всех этих операций с рассматриваемой программой «HelloWorld!» на экране появится результат – выполнится вывод сообщения:

Helloworld!

1.3. Программа ввода данных и вывода суммы

1.3.1. Пример 1.2

Усложним программу: необходимо ввести с клавиатуры два целых чисел и результат вывести на экран.

Листинг 1.2

/* Расчет суммы двух чисел */

#include <stdio.h>

#include <conio.h>

main()

{

inta,b,c; /* объявление трех целых переменных */

clrscr(); /* очистка экрана */

printf(“Введите два целых числа:&bsol;n”);

scanf(“%d%d”,&a,&b); /* ввод с клавиатуры двух переменных */

c=a+b; /* выполнение арифметической операции */

printf(“Сумма чисел равна: %d&bsol;n”,c);

/* вывод результата */

getch(); /* ожидание нажатия любой клавиши */

}

Рассмотрим только новые элементы программы.

1.3.2. Подключение библиотеки консольного ввода – вывода выполняется строкой

#include <conio.h>

Эта библиотека необходима для использования двух новых функций: очистки экрана вначале программы

clrscr();

и ожидания нажатия любой клавиши после ее завершения

getch();

Кроме всего библиотека <conio.h> используется для ввода–вывода данных в указанное место на экране, с заданными атрибутами (цветом фона и символов).

1.3.3. Объявление трех переменных целого типа выполняется строкой

inta,b,c;

После этого в программе можно использовать переменные с именами a, b и c. Все переменные, которые будут использоваться в программе, написанной на языке Си, должны быть обязательно объявлены. Объявление переменных выполняется сразу после открывающей фигурной скобки и определяет имя переменной и её тип. К основным типам переменных относятся переменные типа символ (обозначаются ключевым словом ‘char’), целое число (ключевое слово ‘int’), типа вещественное число (ключевое слово ‘float’). В данном примере используются три целые переменные, поэтому применяется ключевое слово ‘int’, а сами переменные перечисляются через запятую. В конце строки обязательно используется точка с запятой, означающая конец объявления переменных.