Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Грушвицкий 22.12.11 пособие исправленное.doc
Скачиваний:
28
Добавлен:
09.02.2015
Размер:
1.01 Mб
Скачать

2. Пример простейшей программы

2.1 Приступим

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

Три законченные программы выполняют одно и то же: определяют сумму двух чисел. Они построены по принципу нарастания удобства использования, то есть сервиса. Удобный сервис – это, в конечном счете, самое главное в современных программных продуктах. Конечно, нарастание сервиса требует дополнительных затрат и прежде всего временных (на написание и отладку). Всегда требуется компромисс между сложностью программы и требуемыми затратами.

Рассмотрим первую программу. Ниже приведён её текст.

#include <stdio.h>

void main(void)

{

// Простейшая программа суммирования двух чисел

int a, b, c;

a = 5;

b = 7;

c = a+b;

printf("Сумма = %d\n", c);

}

Давайте разберём программу построчно.

В строке #include <stdio.h> производится подключение библиотекиstdio.hк нашей программе. Библиотека – это набор предварительно реализованных функций, служащих для определённых целей. Библиотекаstdio.hсодержит основные функции по вводу и выводу, о чём можно судить исходя из названия (STanDartInput/Output– стандартный ввод/вывод).

Строка void main(void)описывает главную функцию. Именно с неё начинается выполнение любой программы, написанной на языке С. Затем идёт открывающаяся скобка, которая говорит о начале кода программы. Обратите внимание, что в конце программы стоит закрывающаяся скобка. Именно так компилятор понимает, что ему выполнять и до каких пределов.

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

Далее идёт строка int a, b, c;. Она означает объявление целочисленных переменных с именамиa,bиcивыделение под них памяти. Обратите внимание, что язык С чувствителен к регистру и переменныеaиA– это разные переменные.

Следующие две строки: a = 5;иb = 7;одинаковы по смыслу, но различны по содержанию. Здесь осуществляется присвоение переменнымaиbзначений соответственно 5 и 7.

В строке c = a+b;осуществляется вычисление результата сложения значений переменныхaиb, с последующим присвоением этого значения переменнойc.

Последняя значащая строка программы printf("Сумма = %d\n", c);нуждается в гораздо большем пояснении. Именно ради этой строки, а, точнее говоря, ради функцииprintfмы подключали стандартную библиотеку ввода-вывода. Данная функция предназначена для вывода на экран информации, представленной в определённом виде. За формат представления информации отвечает первый параметр"Сумма = %d\n". Здесь все символы означают сами себя за исключением двух групп: %dи \n. Группа %dозначает, что значение соответствующего параметра функцииprintfбудет отображаться в форме целого числа (d-digit- цифра) – в данном случае таковым параметром является переменнаяc; \nозначает, что встретив такую группу курсор перейдёт на начало следующей строки и вся последующая информация будет выводиться с первой позиции новой строки.

Рассмотренные программы построены по одному принципу. Алгоритм, примененный в них, относится к классу линейных алгоритмов. Для этого класса алгоритмов характерно последовательное выполнение действий и исполнение этой последовательности не зависит от значений данных вводимых или вычисленных в ходе исполнения алгоритма.

Естественно, что многие аспекты текста программы остались за рамками данного описания. Их всегда можно посмотреть в соответствующей литературе, например [1, 2, 4].