Простые переменные и элементы массивов, соединенные операциями (действиями), образуют выражения. То есть любое вычисление -это выражение, присваивание -выражение, сравнение -выражение и многое другое -тоже выражение. Самое важное -большинство операций совместимо между собой, поэтому они могут сочетаться самым "диким" образом (это к тому, что следует в будущем быть особо внимательными). В нашем примере операции разных видов в одном выражении не встречаются.
double min(...
{
for (i=1, А_min=A[0]; i<nn; i++ )
if (A[i] < А_min) А_min=A[i];
}
void main()
{
...);
} while (n1 < 1 || n1 > 20);
...
dd = sum(C,n1);
}
1. Присваивание -это операция, которое значение выражения, стоящее справа от символа "=" запоминает в переменной или элементе массива, стоящем слева. При присваивании происходит преобразование форм представления (типов), если они не совпадают (например int -double или double -int). Четыре действия арифметики (+,-,*,/) и операция получения остатка от деления (%) образуют группу арифметических операций. Их выполнение не имеет каких-либо особенностей, кроме как преобразование типов переменных при их несовпадении. Если в одном выражении встречаются переменные типов double и int, то целая форма представления числа int преобразуется к вещественной double.
2. Операция i++ увеличивает на 1 значение переменной i после использования ее значения в выражении, то есть понимается как (взять i, i=i+1). Операция i-- аналогичным образом уменьшает значение переменной. Операции носят название инкремент и декремент. Те же самые операции, но поставленные перед переменной, изменяют ее значение до использования.
3. Если требуется выполнение нескольких несвязанных между собой выражений, а по правилам полагается только одно, то их можно просто перечислить через запятую. В данном случае транслятор рассматривает их как одно целое.
4. Операции сравнения ("==" -равно, "!=" -не равно, а также ">","<",">=","<=") дают в качестве результата значения "истина" или "ложь". Выражения с такими значениями называются условными, поскольку обозначают выполнение или, наоборот, невыполнение некоторого условия в программе. Они используются в условном операторе (if) и в операторах цикла (do -while, for).
5. Над значениями условных выражений можно выполнить логические операции И ("&&"), ИЛИ ("||") и НЕ ("!"), которые объединяют по правилам логики несколько условий в одно. В данном случае условие продолжения цикла истинно, когда значение переменной nn меньше 1 ИЛИ больше 20.
6. Вызов функции также представляет собой выражение.
Шаг 4. Операторы
double min(...
{
for (i=1, А_min=A[0]; i<nn; i++ )
if (A[i] < А_min) А_min=A[i] ;
return (А_min);
}
void main()
{
do
{
printf("Элементов массива:");
scanf("%d", &n1);
}
while (n1 > 0 && n1 < 20);
}
1. Оператор -следующая синтаксическая единица программы, которая отражает логику ее работы (последовательная, ветвящаяся, повторяющаяся). Для операторов характерен принцип вложенности: составными частями оператора могут быть любые другие операторы, и сам он, в свою очередь, может входить составной частью в оператор более высокого уровня. Благодаря этому логику программы можно усложнять до бесконечности.
2. Любое выражение, ограниченное символом ";" превращается в простой оператор. Символ ";" играет здесь, а также в других местах программы (определения переменных, операторы return и for) роль ограничителя, по которому транслятор узнает, что текущая синтаксическая констукция закончилась.
3. Последовательность операторов, заключенная в фигурные скобки, образует составной оператор (или блок) и входит в охватывающую его конструкцию как одно целое, то есть становится с точки зрения транслятора одним оператором. В данном случае тело цикла, содержащее два простых оператора, образует при помощи фигурных скобок составной оператор. Это нужно потому, что определение оператора цикла do имеет вид:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.