|
| |
Пример простой программы на языке Си
<<< Назад
Следующий простой пример, но вполне законченной программы поможет понять
многие из расмотренных ранее принципов построения программ на языке Си. Наша
первая программа вводит два числа, вычисляет их сумму и печатает результат с
поясняющим текстом "Cумма" (пример
1.1)
#include
{ int a,b,c; a=5;
b=7; c=a+b; printf("Cумма = %d \n",c) }
Дадим некоторые
пояснения. В языке Си любая пограмма, состоит из нескольких программных едениц и
каждая из них - функция. Функции в Си подобны функциям или подпрограммам в
Фортране или процедурам в Паскале, Имена функций выбираются произвольно (только
латинскими буквами), но одно из них main, именно с нее начинается выполнение
программы. Такая главная функция обычно обращается к другим функциям, которые
находятся в одном файле с головной программой или извлекают из библиотеки
предварительно подготовленных функций.Функция main не имеет аргументов, поэтому
список ее выглядит так: ( ) . Скобки { } обрамляют операоры, которые реализуют
собственно алгоритм. Эти скобки аналогичны BEGIN - END в Паскале. Строка int
a,b,c; объявляет a,b,c переменными целого типа. Все используемые в программе
переменные должны быть объявлены. Далее идут опрераторы присваивания к a
значение 5, а к b - 7, с - значение их суммы. Значения переменных типа int лежат
в диапазоне [-32768; 32767]. Функция printf выводит на экран: СУММА =
12.
Рассмотрим теперь функцию scanf предназначенную для форматного ввода
данных. Функция scanf в качестве фактических параметров использует адреса
переменных, а не их значения. Для этого перед соответствующим параметром ставят
знак & - символ взятия адресса. Например, &XL означает "адрес перменной
XL", а не значение, которое переменная имеет в данный момент.
Строка
форматов функции scanf указывает, какие данные ожидаются на входе. Если функция
встречает в форматной строке знак % , за которым следует символ преобразования,
то она будет пропускать на входе символы до тех пор, пока не встретит
какой-нибудь не пустой символ.
Предыдущяя программа страдает одним
недостатком: программа вычисления суммы годится только для одного конкретного
случая, когда a=5, b=7. Улучшим ее, заменив соответствующие операторы
присваивания вызовом функции scanf (пример 1.2) :
/* Ввод двух
чисел, вычисление суммы и печать результата*/
#include
{ int a,b,c; scanf(" %d
%d",&a,&b); c=a+b; printf("Cумма = %d
\n",c) }
Форматная строка предписывает функции scanf ввести
десятичное число, которое надо поместить в переменную a, затем через пробел
ввести второе десятичное число, которое надо присвоить переменной b.Обратите
внимание, что программа начинается со строки коминтарием : /* .. */ , транслятор
пропускает любые символы между /* и */ и их можно использовать для
пояснений.
<<< Назад |
|
|
|
|