Постоянная и переменная величина
Пример простой программы на языке С
/* Программа 1.1. Площадь прямоугольника (в стиле С) */
#include <stdio.h>
main ()
{ float a, b, /* стороны прямоугольника */
s; /* площадь прямоугольника */
printf ("\n Стороны прямоугольника = ");
scanf (“%f %f”, &a, &b);
s = a * b;
printf ("\n Площадь = %.2f \n ", s);
return 0;
}
Можно обойтись без дополнительной переменной s, тогда вычисление площади выполняется при выводе результата:
printf ("\n Площадь равна =%.2f \n ", a * b);
Пояснения к программе.
1. /* */ - комментарий языка С, не выполняется и не влияет на работу программы.
2. main() – заголовок главной функции, круглые скобки после имени main указывают на то, что это функция. Тело функции заключено в фигурные скобки { }.
3. Программа на языке С состоит из одной или нескольких функций, выполнение программы начинается с функции main().
4. float a, b, s; – объявлены переменные вещественного типа с именами a, b, s.
5. printf () - вызов стандартной функции для вывода сообщения и результата. В скобках задаются параметры вызова - форматная строка в кавычках и возможно список выводимых значений.
printf ("\n Стороны прямоугольника = ");
Форматная строка содержит текст в кавычках, где символ \n - переход на новую строку.
printf ("\n Площадь = %.2f \n ", s);
Форматная строка, кроме текста, содержит формат вывода переменной s. Выводится значение переменной s или выражения a*b.
%f – формат ввода/вывода вещественного числа,
%.2f - формат вывода вещественного числа с точностью до 2-х знаков после запятой.
6. scanf() - вызов стандартной функции для ввода исходных данных.
Параметры вызова - форматная строка в кавычках и имена переменных. Символ & (амперсенд) перед именем переменной означает операцию получения адреса переменной.
7. #include <stdio.h> - директива препроцессора для использования стандартных функции ввода/вывода.
<stdio.h> - заголовочный файл, содержит объявления стандартных функций ввода/вывода.
8. return - оператор возврата, завершает выполнение функции. Оператор return 0; означает успешное завершение программы.
9. В любом языке есть зарезервированные (ключевые, служебные) слова, которые имеют специальное назначение и могут использоваться только по своему назначению, например, ключевое слово return – оператор возврата, завершающий выполнение функции. Список ключевых слов языка С приведен в учебном пособии [1].
Рис.1.1. Основные символы (виды блоков) схем алгоритмов
Пример программы с вводом/выводом в стиле языка С++
// Программа 1.2. Площадь прямоугольника (в стиле С++)
#include <iostream.h>
void main ()
{ float a, b, // стороны прямоугольника
s; // площадь прямоугольника
cout << "\n Стороны прямоугольника = ";
cin >> a >>b;
s = a * b;
cout << "\n Площадь = “ << s;
}
Пояснения к программе.
1. // - строчный комментарий, используется в С++, наряду комментарием /* */.
2. <iostream.h> - заголовочный файл, содержит объявления стандартных объектов-потоков языка С++:
cin – поток для ввода с клавиатуры, >> - операция для чтения данных из потока;
cout - поток для вывода на экран, << - операция для вывода данных в поток .
3. Ключевое слово void обозначает отсутствие значения функции main. Функция завершается после выполнения последнего оператора, оператор return не обязателен.
Данные программы представляются в виде величин различных типов, например, целых или вещественных чисел, символов.
Величина имеет обозначение, обладает значением, которое хранится по некоторому адресу в оперативной памяти и принадлежит некоторому типу данных.
Константа - для представления постоянных величин. Значение константы не может измениться.
Типы констант Примеры констант
Целые числа: 15 -1 100
Вещественные числа: -1.05 0.0001 (1е-4)
Символьные: ‘А’ ‘a’ ‘*’ ‘9’
Строковые: “KGTU” “Kazan”
Символические константы. Константа может быть именована, такие константы называют символическими константами, по традиции имена констант задают заглавными буквами.
Примеры объявления символических констант:
#define N 20
const float PI = 3.1415;
При описании конструкций языка С используем метаязык (метаязык – язык для описания другого языка), в котором метасимволы имеют следующее значение:
1. | - "или", разделяет возможные варианты записи.
2. ... - символ повторения: предыдущий элемент может повторяться один или более раз.
3. { } - группируют несколько элементов в один для символа повторения; могут содержать выбор одного из вариантов записи (варианты указываются столбиком или разделяются символом ‘|‘).
4. [ ] - то же, что { }; кроме того, обозначают необязательность заключенной в них конструкции.
5. метапеременные заключаются в угловые скобки < >.
Переменная величина может принимать в программе различные значения. До использования в программе переменная величина должна быть объявлена.
Объявление переменной величины:
<тип> <имя> [,<имя>…];
При объявлении переменной определяются:
имя переменной величины - идентификатор;
тип данных, к которому она относится.
Идентификатор – имя для обозначения переменной величины в программе. Кроме переменных величин именуются функции, метки. Идентификатор – последовательность латинских букв, цифр, символов подчеркивания. Идентификатор должен начинаться с буквы или символа подчеркивания. Не допускается совпадение имени с ключевыми словами языка, например, с ключевым словом while (оператор цикла).
Примеры идентификаторов:
summa, X, k2, k_sim
Тип данных величины определяет:
- множество допустимых значений величины;
- набор допустимых операций над ними;
- способ представления этих значений в памяти.
Базовые типы данных:
Целые –
· char (символ);
· int,
· unsigned (беззнаковое целое),
· short (короткое целое),
· long (длинное целое),
Вещественные –
· float,
· double (двойной точности);
Прочие:
· пустой – void;
· перечислимый – enum.
Диапазоны возможных значений величин базовых типов данных приведены в учебном пособии [1].
Примеры объявления переменных величин и функций
int i, j; // две целочисленные величины
float x, y=0; // две вещественные величины
char c; // символ
// массив из 5 целых чисел, значения элементов массива сразу определены
int z[5]={1, 3, 12,-8, 15};
float a[10][10]; // двумерный массив вещественных чисел
char st[80]; // строка на 80 символов
char s[]=“KGTU”; // строка
// заголовки функций
void main( void)
int fact (int n)